对于robots.txt文件对于网站的作用大家都知道,但是通过观察发现,有些朋友对于robots.txt文件的规则还是有一定的误区。
比如有很多人这样写:
User-agent: *
Allow: /
Disallow: /mulu/
不知道大家有没有看出来,这个规则其实是不起作用的,第一句Allow: / 指的是允许蜘蛛爬行所有内容,第二句Disallow: /mulu/指的是禁止/mulu/下面的所有内容。
表面上看这个规则想达到的目的是:允许蜘蛛爬行除了/mulu/之外的网站所有页面。
但是搜索引擎蜘蛛执行的规则是从上到下,这样会造成第二句命令失效。
正确的规则应该是:
User-agent: *
Disallow: /mulu/
Allow: /
也就是先执行禁止命令,再执行允许命令,这样就不会失效了。
另外对于百度蜘蛛来说,还有一个容易犯的错误,那就是Disallow命令和Allow命令之后要以斜杠/开头,所以有些人这样写:Disallow: *.html 这样对百度蜘蛛来说是错误的,应该写成:Disallow: /*.html 。
有时候我们写这些规则可能会有一些没有注意到的问题,现在可以通过百度站长工具(zhanzhang.baidu.com)和Google站长工具来测试。
百度Robots工具只能检测每一行命令是否符合语法规则,但是不检测实际效果和抓取逻辑规则。
相对来说Google的Robots工具好用很多,如图:
在谷歌站长工具里的名称是抓取工具的权限,并报告Google抓取网站页面的时候被拦截了多少个网址。
还可以在线测试Robots修改后的效果,当然这里的修改只是测试用,如果没有问题了,可以生成robots.txt文件,或者把命令代码复制到robots.txt文本文档中,上传到网站根目录。
Google的测试跟百度有很大的区别,它可以让你输入某一个或者某些网址,测试Google蜘蛛是否抓取这些网址。
测试结果是这些网址被Google蜘蛛抓取的情况,这个测试对于Robots文件对某些特定url的规则是否有效。
而两个工具结合起来当然更好了,这下应该彻底明白robots应该怎么写了吧。
转载请注明来自逍遥博客,本文地址:http://liboseo.com/1170.html,转载请注明出处和链接!