网络爬虫-使依赖于GET参数的PHP页面对搜索引擎友好


web crawler - Making PHP Pages dependent on GET parameters search engine friendly

假设一个网站上有一篇关于体育的文章"科比是最好的"

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格式?

感谢

您需要创建一个.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/KobeBryantithebest

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

希望这能帮助

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

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

关于问题1):在搜索引擎优化(SEO)方面,a)和b)+c)之间显然有区别,因为在URL a)中,没有给定的关键字与给定的搜索查询匹配(相反,有ID)。至于b)和c),如果有人搜索"篮球",谷歌会把你的URL作为网站评级的标准。在b)和c)中,它会在URL中找到单词"basketball",并在SERP中向上移动您的结果,但在a)中它找不到"basket",因此您的URL在这方面对您没有帮助。

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

当比较b)和c)时,我不知道谷歌是否会有区别。如果你改变参数,你可能会遇到一些爬网程序的问题,因为会有两个不同的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

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

因此,对于SEO,你仍然会遇到这样的问题,即在改变参数时,同一网站可能有多个URL。对于人类来说,你有心理影响。

为什么c)不是完美的,Kemal Fadillahs的解决方案更好,在Kemal Fardillahs回答下面的评论中解释。