robots.txt文件是引导搜索引擎Spider抓取网站的文件。合理地使用robots.txt文件可以防止自己网站内诸如后台登入之类的秘密页面被搜索引擎抓取索引和公布,还可以屏蔽搜索引擎对网站非内容页面的抓取,只让搜索引擎抓取和收录能够带来排名和流量的页面。在robots.xt文件的使用中有下面几个问题值得讨论一下。
1.要不要使用robots.txt
对于有需要屏蔽Spider抓取的内容的网站,当然是需要robots.xt文件的。但是对于希望把内容全部开放给Spiderl的网站来说robots.xt就没有意义了,那么此时还需不需要这个robots.xt文件呢?
2012年11月1日,百度、360和搜狗等国内主流搜索引擎签署了《互联网搜索引擎服务自律公约》,表态全部支持robots协议。搜索引擎支持robots协议,也就是在抓取网站内容之前需要先抓取网站的robots.txt文件。
如果网站不设置robots.xt文件,正常情况下服务器会返回404状态码,但是也有些服务器会返回200或者其他错误。针对返回404状态码的服务器,就不需要做特殊处理了。因为搜索引擎抓取一两次都发现网站并没有设置robots.xt文件,在一定周期内就不会再进行抓取了,而是正常抓取网站内容。对于返回404状态码之外的信息的服务器,最好重新配置一下服务器,
设置为对访问服务器上不存在的URL或文件的用户返回404状态码。如果不能进行配置,那么就在网站根目录下放一个空设置或允许抓取全部内容设置的robots.xt文件,以防服务器对Spider做出错误的引导。
有些人认为如果允许Spider抓取全站内容,还在服务器上放一个robots.xt文件有可能会浪费Spider的抓取次数,毕竟spider对一个网站的抓取次数是有限的。其实这种担心是不必要的,不论你设置不设置robots.xt文件,搜索引擎都会频繁地抓取这个文件,因为搜索引擎并不知道你以后是不是要设置或者更新这个文件,为了遵守互联网协议,就只能频繁地对此文件进行抓取。并且搜索引擎每天只抓几次robots.xt文件,并不会造成对网站抓取次数的浪费。
2.不同搜索引擎对robots协议的支持并不相同
虽然主流搜索引擎都声明支持robots协议,但是对于robots.xt文件中的限制语句可能会有不同的匹配解读。在本书后续对Google Webmaster的“已拦截的网址”介绍中,介绍了百度和Google对robots协议匹配不同的地方。即“Disallow:tmp”在百度中是不可以匹配“/tmpdaf'”的,但是在Google中是可以匹配的。所以站长和SEO人员在配置robots.txt文件时,需要特别注意一下,最好使用通用的屏蔽语句,或者研究几个主流搜索引擎的官方帮助说明,针对不同的搜索引擎进行单独的屏蔽设置。
3.robots.txt可以声明网站地图
robots.txt文件除了有限制搜索引擎抓取的功能外,还可以声明网站地图的位置。这其实是Google所支持的一个功能,站长可以通过Google Webmaster直接向Google提交XML版本或纯文本的网站地图,也可以选择在robots.xt文件中添加一行声明:
Sitemap:http://example.com/Sitemap_location.xml
该声明和限制搜索引擎抓取的语句没有关系,可以放到文件中的任何位置。不过暂时只有Go0gle支持,百度搜索工程师曾经表示不支持(如图5-8所示),并且现在百度在站长平台中有了专门的Sitemap提交入口,所以这个声明对百度不一定有效。不过由于robots.xt文件的特性,搜索引擎都必须频繁抓取此文件,所以在robots.xt文件中声明一下网站地图,单从促进搜索引擎对网站抓取方面来看,只会有益无害。
4.robots meta标签的使用
robots协议除可以在网站根目录使用robots.txt文件外,还可以使用meta标签。具体写法如下:
nofollow会在后面进行详细的介绍,noarchive是禁止显示快照的意思,也就是当网友搜索到你的网站时,只能进入你的网站浏览内容,不能通过搜索引擎的快照浏览你的网站的内容。使用meta标签中的nofollow可以使得搜索引擎不跟踪页面中的链接。值得一提的是在网络上和其他SEO书籍中提及的
还没有评论呢,快来抢沙发~