动态网站如何避免蜘蛛黑洞(蜘蛛陷阱)

by peter.peng

Posted on March 28, 2016 10:51 AM

蜘蛛黑洞,也叫蜘蛛陷阱,顾名思义,是指让搜索引擎蜘蛛在抓取网页的时候陷入死循环的现象。用黑洞来形容这种现象是相当贴切的,有点物理常识的人应该明白,宇宙中的黑洞因其强大的吸引力使得周围的物体包括光线有进无出,十分可怕。同样,网站中的蜘蛛黑洞也很恐怖,它的存在对你的网站SEO有致命的威胁。

那么,是什么导致了这种蜘蛛黑洞呢?通常是动态网站(如phpasp站)对前端动态url链接中的参数变化规则的设置不完善导致,最常见的有分页链接、信息筛选链接。下面将举例来说明。

 

一、动态站分页链接:

如图所示,该网站产品列表页一共有15页,当我们进入第15页后,分页链接处的“下一页”仍然可点击,并且链接中的页码参数默认为下一页的“page=16(如图所示)。然而第十六页是不存在的,一共才十五页。如果网站设置不正确,当你点击进入16页以后所展示的页面仍然是15页的内容,在16页上面又存在一个“下一页”,点击进入17页,以此类推,18页,19.................往后的每一页内容都是与15页的内容完全相同,蜘蛛会顺着这个“下一页”无限的访问下去,而访问到的内容却全部雷同,这就是蜘蛛黑洞。

这种分页蜘蛛黑洞的解决方法是,设置网站当分页是最后一页时,自动隐藏“下一页”或者让“下一页”不可点击,这样就不会产生page=16,17,18,,,,,,,,这些大于实际存在的最后一页页码的网页链接,蜘蛛自然也就不会陷入无限循环的抓取。另一种解决方法是通过js脚本来实现分页,如:

 

二、筛选页面:


产品列表页往往提供多种排序选择,然后不管排序如何,所有的产品都是这些产品,但是动态链接中的参数是变化的,比如按照“最新”“价格”“访问最多”三种排序的网页链接分别是:

http://www.chinacar.com.cn/sousuo.asp?keys=DFL1250A11&px=pc_down

http://www.chinacar.com.cn/sousuo.asp?keys=DFL1250A11&px=pri_up

http://www.chinacar.com.cn/sousuo.asp?keys=DFL1250A11&px=hits_down

 

事实上虽然链接不一样,但搜索引擎蜘蛛访问它们却最终访问的是相同的产品相同的内容。这也算是蜘蛛黑洞的一种。

针对此种情况,百度官方给出了建议的解决方法:


当然,百度官方给的建议是来自某团购网站的实例。除此方法之外,可以利用“表格控件”来解决此种蜘蛛黑洞。如:

 

 

当然,表格控件适合那种产品信息不是海量的网站,因为它本质上需要把所有的产品调用出来,再根据所选择的筛选项或者页码来呈现对应的某一类内容。比如我们查看下该页面上产品的数量,查看源码并搜索产品旁边的特征码我们就可以看到该页面有370个产品:

 

这样会导致网页页面质量过大,也会影响加载速度,不过这一定程度上也取决于服务器的配置。比如该页面所在的服务器配置比较高,访问速度还是可以的。在实际操作中我们可以根据网站具体情况来采取对应的方法。