【问题标题】:Making PHP Pages dependent on GET parameters search engine friendly使 PHP 页面依赖于 GET 参数搜索引擎友好
【发布时间】:2011-06-05 16:16:39
【问题描述】:

假设网站上有一篇关于体育的文章“科比布莱恩特是最好的”

1) 它对谷歌爬虫有影响吗?为了获得高搜索相关性,该文章是否在此页面上:

a)    www.sitename.com/sports.php?typeid=1&tid=3

或者在这个上:

  b)  www.sitename.com/sports.php?type=basketball&topic=KobeBryant is the best

或在这个上

 c)  www.sitename.com/sports/basketball/KobeBryantisthebest

2) 我熟悉如何实现 (a) 和 (b) 似乎是一个简单的扩展。如何实现(c)中的 URL 格式?

谢谢

【问题讨论】:

    标签: php web-crawler pagerank googlebot


    【解决方案1】:

    您需要创建一个.htaccess 文件...

    代码必须是这样的:

    Options +FollowSymLinks   
    RewriteEngine On   
    
    RewriteCond %{SCRIPT_FILENAME} !-d   
    RewriteCond %{SCRIPT_FILENAME} !-f   
    
    RewriteRule ^sports/([-a-z]+)*/([a-z-A-Z]+)*/$ ./sports.php?type=$1&topic=$2
    

    这将重写 url,以便通过以下方式访问:

    www.sitename.com/sports/basketball/KobeBryantisthebest

    如果您复制并粘贴代码,只要有一个名为 sports.php 的页面,它就应该可以工作,并且 PHP 代码将 $_GET['type'] 和 wil $_GET['topic']

    希望对你有帮助

    【讨论】:

    • 谢谢,第一个问题怎么样?
    【解决方案2】:

    对于第一个问题,我认为这个问题会更好: www.sitename.com/sports/basketball/Kobe-Bryant-is-the-best

    【讨论】:

    • 在您的示例中 c)您将所有单词都放在一个大字符串中,但 google 将没有分隔符的字符串视为一个单词,这意味着您的网址不会被视为显示您的网址的好理由在 SERP 中,除非有人键入“KobeBryantisthebest”。如果有人搜索 Kobe BryantKobe best,则使用“Kobe-Bryant-is-the-best”您的 URL 将被视为显示您网站的标准。此外,破折号使人们更容易阅读,这使他们更加信任您的网站(当他们考虑是否应该单击具有给定 URL 的链接时)。
    • 顺便说一句,我什至会将其设为小写 www.sitename.com/sports/basketball/kobe-bryant-is-the-best,因为这样可以更轻松地保留字符大小写重要的规范 URL,但这只是次要内容。
    【解决方案3】:

    由于问题 2) swenflea 已经回答得很好,我不再处理这个问题。

    至于问题 1):在搜索引擎优化 (SEO) 方面,a) 和 b)+c) 之间显然存在差异,因为在 URL a) 中没有给出与给定搜索查询匹配的关键字(而是有 ID)。至于 b) 和 c) 如果有人搜索“篮球”,Google 会将您的 URL 作为对网站进行评分的标准。在 b) 和 c) 中,它会在 URL 中找到单词“basketball”,并在 SERP 中将您的结果向上移动一点,但在 a) 中它找不到“basketball”,因此您的 URL 无法帮助您。

    也有研究表明人们更喜欢他们可以阅读的 URL,这意味着能够在重定向到 www.sitename1.com/sports.php?typeid=1&tid=3www.sitename2.com/sports/basketball/Kobe-Bryant-is-the-best 的 URL 之间进行选择(参见 Kemal Fadillah),更多的人会选择 sitename2。然而,我不得不承认,我不知道有多少人真正检查了结果的 URL ;)

    在比较 b) 和 c) 时,我不知道 Google 是否会有所不同。如果你改变参数,你可能会遇到一些爬虫的问题,因为会有两个不同的 URL:

    • www.sitename.com/sports.php?type=basketball&topic=KobeBryant is the best
    • www.sitename.com/sports.php?topic=KobeBryant is the best&type=basketball

    我认为 Google 确实将它们识别为同一个站点,但我不知道他们是否会给它与您真的只使用一个 URL 一样的排名。过去,人们也经常谈论搜索引擎不会对 URI 的查询部分评价那么高(查询部分 = ? 之后的部分),但我认为谷歌已经否认了这一点。然而,对于人类来说,这又会产生心理影响,他们喜欢没有“神秘”字符的 URL,例如 ?&= 等等。

    因此,对于 SEO,您仍然会遇到一个问题,即在转换参数时,同一网站可能存在多个 URL。至于人类,你有心理影响。

    为什么 c) 并不完美,而 Kemal Fadillahs 的解决方案更好,在 Kemal Fadillahs 答案下方的评论中进行了解释。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-10
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 1970-01-01
      • 2011-08-31
      • 2014-11-09
      • 2012-06-18
      相关资源
      最近更新 更多