Php 重写URL是否有助于搜索引擎找到页面?

Php 重写URL是否有助于搜索引擎找到页面?,php,url,seo,search-engine,rewrite,Php,Url,Seo,Search Engine,Rewrite,我的URL看起来像“/pages.php?page=pageName”,因为我使用数据库来提供页面内容。将URL重写为“/pageName”是否有助于搜索引擎查找页面?如果是这样,我如何重写它们 这并不能帮助搜索引擎更容易找到页面(事实上,如果没有正确实施,搜索引擎将更难抓取您的站点),但如果操作得当,它将使您的页面在相关关键字方面排名更高 对于PHP,请查看Apache的mod_rewrite 我不是regex专家,但它使用模式匹配规则来执行重写,mod_rewrite的在线文档和教程会很多。

我的URL看起来像“/pages.php?page=pageName”,因为我使用数据库来提供页面内容。将URL重写为“/pageName”是否有助于搜索引擎查找页面?如果是这样,我如何重写它们

这并不能帮助搜索引擎更容易找到页面(事实上,如果没有正确实施,搜索引擎将更难抓取您的站点),但如果操作得当,它将使您的页面在相关关键字方面排名更高

对于PHP,请查看Apache的mod_rewrite


我不是regex专家,但它使用模式匹配规则来执行重写,mod_rewrite的在线文档和教程会很多。

谷歌在“改进URL结构”部分提到了一些关于URL的提示。

也许更好的问题是“重写URL是否有助于用户在搜索引擎中查找页面?”。答案是“是”。例如,假设您的页面内容讨论海豚。谷歌将搜索词“海豚”的权重增加到:


你会发现这是大多数现代网站正在做的事情(包括stackoverflow)。

这可能无助于爬虫找到页面,但它可能会对如何对页面进行排名产生积极影响,因为更好的URI通常会获得更好的排名(当然,在其他条件相同的情况下)。让它们永久存在也很好

关于您在Apache世界和IIS世界中的体验

示例(Apache的语法):

这将把URI中域名之后的所有内容(关于尾随斜杠有一个警告)作为页面参数传递给pages.php

这是

http://yourdomain.com/bears 
将返回由提供的内容

http://yourdomain.com/pages.php?page=bears

这无助于搜索引擎更容易地找到它们。为了确保搜索引擎找到您的页面,您可以做的两件最重要的事情是:

  • 创建一个,在robots.txt中引用它,并将其注册到

  • 确保站点上所有页面都有可插拔的非javascript链接(最好是文本链接)


  • 您可以在站点的根目录中创建.htaccess文件,并将其添加到文件中:

    Options +FollowSymlinks
    RewriteEngine On
    RewriteRule ^/pages/(.*) pages.php?page=$1
    
    搜索引擎会更喜欢你的页面。如果有一个动态文件结尾和一个查询字符串,大多数搜索引擎认为这是一个动态页面,很快就会改变,因此不会像静态页面那样排名高

    然后,您就完成了重写,您可以轻松地在PHP中解析它,并使用PHP确定url结构。

    请从google中查看

    特别是这句话

    一个建议是避免重新格式化动态URL,使其看起来是静态的


    我想强调的是,需要对页面进行扩展,例如,html以及url中的斜杠被解释为站点“树图”中的虚拟目录路径

    正如Keltex所说,category.html等路径中的“权重”比/category/subcategory.html路径中的权重更多


    无论如何,必须在网站地图上实现友好的URL。所有这些加上基本的SEO标题和适当的标题,都会给你一个很好的结果。

    为了SEO的目的,最好在URL中包含你的关键字。但是,如果它已经是一个发布的页面,请确保你设置了从现有URL到新URL的重定向在进行更改之前。没有人喜欢。

    甚至更好:example.com/dolphins用户不需要记住文件类型。用户不需要记住文件类型或URL。他们会单击链接。如果您最后没有扩展名,例如example.com/dolphins,则您的入站链接可能会有一部分指向example。com/dolphins/和其他链接到example.com/dolphins/index.html等。这会稀释您从这些入站链接中获得的google果汁。@Lance我同意你们的观点。您可以通过链接rel='cannonical'解决这两个版本的问题。您不需要将请求的URI路径重写到查询中。您可以访问请求的URI路径与带有
    $\u SERVER['REQUEST\u URI']
    变量的查询一起使用。虽然它在PHP和Apache设置中可以工作,但情况并非总是如此。由于添加变量是免费的,因此不需要依赖在其他组合中可能不起作用的功能。
    http://yourdomain.com/bears 
    
    http://yourdomain.com/pages.php?page=bears
    
    Options +FollowSymlinks
    RewriteEngine On
    RewriteRule ^/pages/(.*) pages.php?page=$1