robots.txt文件的奥秘

robots.txt毫无疑问是一个文本文件,关键在于这是一个特殊的文本文件。

在这个文件中网站管理者可以声明该网站中不想被robots访问的部分,或者指定搜索引擎只收录指定的内容。

当一个搜索机器人(有的叫搜索蜘蛛)访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,那么搜索机器人就沿着链接抓取。

另外,robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写

 

以下摘自google的站点

您可以在任何文本编辑器中创建此文件。该文件应为 ASCII 编码的文本文件,而非 HTML 文件。文件名应使用小写字母。

语法
最简单的 robots.txt 文件使用两条规则:

  • User-Agent: 适用下列规则的漫游器
  • Disallow: 要拦截的网页

这两行被视为文件中的一个条目。您可根据需要包含任意多个条目。您可在一个条目中包含多个 Disallow 行和多个 User-Agent。

应在 User-Agent 行中列出什么内容?
user-agent 是特定的搜索引擎漫游器。
网络漫游器数据库列出了许多常用漫游器。您可设置应用于特定漫游器的条目(通过列示名称)或设置为应用于所有漫游器(通过列示星号)。应用于所有漫游器的条目应与下列条目类似:

User-Agent:*

Google 使用多种不同漫游器(用户代理)。用于网络搜索的漫游器是 Googlebot。Googlebot-Mobile 和 Googlebot-Image 等其他漫游器遵循您为 Googlebot 设置的规则,您还可为这些特定漫游器设置附加规则。

应在 Disallow 行中列出什么内容?
Disallow 行列出了您要拦截的网页。您可列出具体网址或网址模式。条目应以正斜杠开头 (/) 开头。

  • 要拦截整个网站,请使用正斜扛。
    Disallow:/
  • 要拦截目录及其中的所有内容,请在目录名后添加正斜扛。
    Disallow:/private_directory/
  • 要拦截网页,请列出该网页。
    Disallow:/private_file.html

网址区分大小写。例如:Disallow:/private_file.html 会拦截 http://www.example.com/private_file.html,但不会拦截 http://www.example.com/Private_File.html

 

另外还有一篇文章介绍比较好

http://www.dunsh.org/2006/08/02/robotstxt/

 

因为这个文件如此重要,强烈建议所有投入运行的网站都应该加入它。下面这个链接是一个专门的工具,可以生成你需要的robots.txt文件

http://www.mcanerin.com/EN/search-engine/robots-txt.asp

 

还有一个特殊的写法,为了避免类似WAS这种压力测试工具发送大量请求过来,可以下面这样写

Disallow:/

User-Agent:stress-agent

这样可以从一定意义上避免别具用心的人通过压力测试工具进行拒绝服务攻击。事实上发起这种攻击成本很低

posted @ 2008-06-24 16:44  陈希章  阅读(405)  评论(0编辑  收藏  举报