百度究竟有没有遵守 robots.txt?

百度号称自己严格遵守,有人说他们根本不遵守[1][2][3]

07 年参加百度之星比赛的时候,复赛题之一就是处理 robots.txt 协议。我当时想,他们的题几乎都是从自己的应用中来的,既然出了这道题,就算遵守得不好,应该也不是完全忽略的吧。后来跟一个他公司的工程师 “座谈” 的时候,便问起这个,他答道:“当然遵守啊。我们最痛苦的就是很多网站的 robots.txt 写得极不规范。”

前几天,我在自己的 robots.txt 里加了禁止百度抓取的指令(现在去掉了),后来在 log 里观察到一条来自百度的访问:
61.135.168.173 – - [05/Feb/2009:08:36:47 -0700] “GET blog.chys.info/robots.txt HTTP/1.1″ 200 66 “-” “Baiduspider+(+http://www.baidu.com/search/spider.htm)”

也就是说,百度在知道这个域名以后,首先抓走了 robots.txt,然后没有再抓。看来它还是遵守了。

当然,遵守得是否严格、及时是另一个问题。淘宝显然就对此极不放心,他们为百度写了两条 “Baiduspider” 和 “baiduspider”。然而,按照协议规定,user-agent 是大小写不敏感的!

================= 我是一条分隔线 ===================

另一个问题是:我有一个域名,如果我有权在它的根目录下创建 robots.txt,那么我应该也会有权创建 .htaccess(假设服务器是 Apache 的话),反之亦然。禁止服务器接受来自某个机器人或某些 IP 的连接,比依靠机器人本身的 “良知” 可靠多了。

参考文献
[1] 百度真的遵守 Robots.txt 协议吗?
[2] [9/18]百度遵守robots.txt协议吗?
[3] 百度不遵守robots.txt协议

标签:

我来说两句

提示:在 Gravatar 注册后,评论右侧将显示您的头像。