使用robots.txt的注意事项
<a href='http://www.best-code.com'>www.best-code.com</a>
robots.txt的创建很简单,只需设置User-agent与Disallow两项内容,其中User-agent项设置特定的搜索引擎Spider,Disallow项设定不允许Spider抓取和索引的内容。尽管如此,笔者却常常见一些设置不当的例子,在此把robots.txt有关的注意事项介绍一下:

robots.txt文件
  robots.txt只能存放于网站的根目录下,置于除此之外的任何地方均不会被Spider发现。

  每个网站,或每个域名(包括子域名),只能有一个robots.txt。

  文件名“robots.txt”为小写字母,其他如Robots.txt或robots.Txt是不正确的,命名错误将会被Spider忽略。

  正如上篇文章中介绍的,Spider在网站内找不到robots.txt时将会被重定向到404  错误页面,这便有可能阻碍Spider抓取和收录页面。虽然这并不一定会发生,但很多时候我们没必要冒这样的风险,一般来说,即使我们对网站的所有内容都没有限制,对所有的搜索引擎Spider  都欢迎,最好也在根目录下创建一个robots.txt文件:

User-agent:  *
Disallow:

robots.txt的语法规则
  在Disallow项中使用小写字母,即文件名和目录名使用小写字母,特别在对大小写敏感的Unix下更要注意。

  robots.txt惟一支持的通配符是在User-agent使用的“*”,其代表所有的Spider。除此之外,别的通配符均不可用。这方面的错误常见于在文件名或目录名中使用通配符。

  robots.txt的限定项

  在User-agent和Disallow项的设定中,每行只允许有一个设定值,同时,注意不要有空行。至于行数,则没有限制,理论上说可以根据需要创建具有无数行的robots.txt。

  下面即是一个错误的例子

User-agent:  *
Disallow:  /dir1/  /dir2/  /dir3/

  正确设置应为:

User-agent:  *
Disallow:  /dir1/
Disallow:  /dir2/
Disallow:  /dir3/

  robots.txt中的文件与目录

  既定某个文件拒绝索引时,格式为文件名(包括扩展名),其后无“/”,而限定目录时,则需在目录名后加“/”。如下面的示例:

User-agent:  *
Disallow:  /file.html
Disallow:  /dir/

  特别注意的是,不要省略掉目录名后的“/”,不然,Spider便极有可能误读相应的设置。

  robots.txt中限定项的顺序

  请看下方的示例:

User-agent:  *
Disallow:  /
User-agent:  Googlebot
Disallow:

  该设定本意是想允许Google访问所有页面,同时禁止其他Spider的访问。但在这样的设置下,Googlebot在读取前2行后便会离开网站,后面对其的“解禁”完全失去了意义。正确的格式应为:

User-agent:  Googlebot
Disallow:
User-agent:  *
Disallow:  /

  robots.txt中的注释

  尽管在robots.txt的标准中,可以在限定项的后面使用“#”添加注释,如下面的例子

User-agent:  Googlebot  #这是对Google的设置
Disallow:

  但很多研究与测试表明,不少Spider对这样格式的解读存在问题。为确保其能更好地工作,最好采用如下设置:
www.best-code.com
#这是对Google的设置
User-agent:  Googlebot
Disallow: