Robots.txt规范
天下维客,你可以修改的网络知识库
(重定向自Robots.txt语法规范)
| robots.txt综述 | 怎么写robots.txt | robots.txt语法规范 | 文件实例 | 常见错误 | 扩展功能 |
| robots.txt疑难解答 | 检测工具 | 禁止收录特定页面 | 清除已收录的页面 | META标签:robots | |
| nofollow | noindex | .htaccess | 网络爬虫的名称 | 常见爬虫的特性 | robots.txt相关链接 |
robots.txt即The Robots Exclusion Protocol(机器人排除协议),用于告诉搜索引擎的漫游器(又称网络蜘蛛)哪些网站内容不能被抓取。
robots.txt的作用和用法请参见robots.txt一文,而本文将介绍robots.txt的规范的由来、各种分支演变和相关资源。
目录 |
[编辑]
robots.txt规范的演变
robots.txt是一个民间的约定规范,而非强制性标准。这一规范被很多搜索引擎网站所采纳,并成为一个有实际意义的网站管理手段。
在原始的robots.txt规范中,只支持对文件名、路径名的URL进行精确匹配,而不支持*、?等通配符。这在使用中不够方便,所以Google、Yahoo等搜索引擎都对它进行了各自的扩展,详细信息参见本段后面给出的链接。
robots.txt目前不隶属于任何标准组织/商业团体或由其提供支持。由于并非特定组织发布,这导致了robots.txt缺乏权威性解释。实际使用中,google、yahoo等公司均对其做了不同程度的扩展,因而在实施robots.txt时,站长们需要自针对各网络爬虫来阅读其所有者的介绍。
关于robots.txt的未来发展,已经有一些研究和提案,但好像还没有实施。提案链接一并在这里给出。
- 1994年,形成了基础的robot排除规划。这里规定了robots.txt文本的存放、注释/空行的作用、User-Agent指定方法和*方法、特定路径禁止访问的指定方法。这些基础规定参见 http://www.robotstxt.org/orig.html
- robots.txt的事实标准(1994): http://www.robotstxt.org/wc/norobots.html 至本文最后修改时间为止(2008年),此文档仍然是被广泛采用的事实标准!google、yahoo等则在此基础上稍微做了扩展。
- 1997年,形成了robots.txt的互联网规范草案,但最终未能形成标准。本草案中,比较详尽的规定了robots.txt的语法规则,并提出了“allow”命令用于指定允许访问的路径(但事实上,Disallow与Allow命令很容易出现逻辑冲突问题,导致必须规定优先权的判断。这会让使用者大感头痛,因而Allow命令并未得到广泛接受。--2008年3月注)。
- 本文对于理清robots.txt逻辑有较大帮助,参见 http://www.robotstxt.org/norobots-rfc.txt
- 注:有时本草案被称为“1996 Robots Exclusion Standard”(1996年的机器人排除标准)
- 在1999年12月24日发布的《HTML 4.01 Specification》(W3C推荐标准)中,附录B.4.1简略提到了robots.txt的实现。这里面的语法规则基本是1994年的规划,并没有1997年草案中的扩展。参见 http://www.w3.org/TR/REC-html40/appendix/notes.html#h-B.4 或[1]
- 另外有一份2002年写的robots.txt 2.0草案,但内容远称不上详尽,因而这篇文章不推荐阅读。参见 http://www.conman.org/people/spc/robots2.html
[编辑]
robots.txt的扩展
为了更好的发挥robots.txt(可能是为了提高搜索收录质量/减小搜索开销吧),各大搜索引擎公司还是对robots.txt的功能做了进一步延伸,例如对爬虫访问频度、URL通配符的支持等。
但需要注意:这些扩展目前还没有得到标准组织的支持,站长们应清楚意识到他们都只对特定爬虫有作用。
这些扩展中,主要以google和yahoo为代表,建议参考其网页介绍。以下列出部分常见的扩展:
[编辑]
googlebot
- google关于roobots.txt的说明: http://www.google.com/support/webmasters/bin/answer.py?answer=40360&topic=8846
- google关于通配符"*"、动态网页字符"?"、URL结束符"$"的说明: http://www.google.com/support/webmasters/bin/answer.py?answer=40367
- google爬虫关于Allow命令的说明: http://www.google.com/support/webmasters/bin/answer.py?answer=40364&ctx=sibling
- sitemap?
[编辑]
yahoo slurp
- yahoo关于robots.txt的说明(含allow命令、*通配符、$结束符): (英文)
- sitemap: (英文)介绍不详 可参见[2]
- yahoo关于crawl-delay的说明: (英文说明) 中文实例参考
[编辑]
msnbot
- msn关于URL结束符"$"的说明: http://search.msn.com/docs/siteowner.aspx?t=SEARCH_WEBMASTER_REF_RestrictAccessToSite.htm
[编辑]
参考资料
- 1993年谁发明了robots.txt? (英文,可信性不详)


