搜索引擎访问一个网站时,它首先会检查该网站的根域下是否有一个叫做robots.txt的纯文本文件。robots.txt文件用于限定搜索引擎对其网站的访问范围,即告诉搜索引擎网站中哪些文件是允许它进行检索(下载)的。这就是大家在网络上常看到的“拒绝robots访问标准”(robots exclusion standard)。下面我们简称res。 robots.txt文件的格式:robots.txt文件的格式比较特殊,它由记录组成。这些记录通过空行分开。其中每条记录均由两个域组成:
1) 一个user-agent(用户代理)字符串行;
2) 若干disallow字符串行。
记录格式为:<field> ":" <value>
下面我们分别对这两个域做进一步说明。
user-agent(用户代理):
user-agent行(用户代理行) 用于指定搜索引擎robot的名字,以google的检索程序googlebot为例,有:user-agent: googlebot
一个robots.txt中至少要有一条user-agent记录。如果有多条user-agent记录,则说明有多个robot会受到res标准的限制。当然了,如果要指定所有的robot,只需用一个通配符"*"就搞定了,即:user-agent: * disallow(拒绝访问声明):
在robots.txt文件中,每条记录的第二个域是disallow:指令行。这些disallow行声明了该网站中不希望被访问的文件和(或)目录。例如"disallow: email.htm"对文件的访问进行了声明,禁止spiders下载网站上的email.htm文件。而"disallow: /cgi-bin/"则对cgi-bin目录的访问进行了声明,拒绝spiders进入该目录及其子目录。disallow声明行还具有通配符功能。例如上例中"disallow: /cgi-bin/"声明了拒绝搜索引擎对cgi-bin目录及其子目录的访问,而"disallow:/bob"则拒绝搜索引擎对/bob.html和/bob/indes.html的访问(即无论是名为bob的文件还是名为bob的目录下的文件都不允许搜索引擎访问)。disallow记录如果留空,则说明该网站的所有部分都向搜索引擎开放。
空格 & 注释
在robots.txt文件中,凡以"#"开头的行,均被视为注解内容,这和unix中的惯例是一样的。但大家需要注意两个问题:
1) res标准允许将注解内容放在指示行的末尾,但这种格式并不是所有的spiders都能够支持。譬如,并不是所有的spiders都能够正确理解"disallow: bob #comment"这样一条指令。有的spiders就会误解为disallow的是"bob#comment"。最好的办法是使注解自成一行。
2) res标准允许在一个指令行的开头存在空格,象"disallow: bob #comment",但我们也并不建议大家这么做。
robots.txt文件的创建:
需要注意的是,应当在unix命令行终端模式下创建robots.txt纯文本文件。好的文本编辑器一般都能够提供unix模式功能,或者你的ftp客户端软件也“应该”能够替你转换过来。如果你试图用一个没有提供文本编辑模式的html编辑器来生成你的robots.txt纯文本文件,那你可就是瞎子打蚊子——白费力气了。
对res标准的扩展:
尽管已经提出了一些扩展标准,如allow行或robot版本控制(例如应该忽略大小写和版本号),但尚未得到res工作组的正式批准认可。
附录i. robots.txt用法举例:
使用通配符"*",可设置对所有robot的访问权限。
user-agent: *
disallow:
表明:允许所有搜索引擎访问网站下的所有内容。
user-agent: *
disallow: /
表明:禁止所有搜索引擎对网站下所有网页的访问。
user-agent: *
disallow: /cgi-bin/disallow: /images/
表明:禁止所有搜索引擎进入网站的cgi-bin和images目录及其下所有子目录。需要注意的是对每一个目录必须分开声明。
user-agent: roverdog
disallow: /
表明:禁止roverdog访问网站上的任何文件。
user-agent: googlebot
disallow: cheese.htm
表明:禁止google的googlebot访问其网站下的cheese.htm文件。
上面介绍了一些简单的设置,对于比较复杂的设置,可参看一些大型站点如cnn或looksmart的robots.txt文件(www.cnn.com/robots.txt, www.looksmart.com/robots.txt )
附录ii. 相关robots.txt文章参考:
1. robots.txt常见问题解析
2. robots meta tag的使用
3. robots.txt检测程序