SEO探索

中文网站搜索引擎优化技术研究


使用robots.txt的注意事项

2006/05/8 by HighDiy

  通过我们之前的介绍,相信朋友们清楚了网站为什么要使用robots.txt及如何使用robots.txt控制搜索引擎的抓取。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对这样格式的解读存在问题。为确保其能更好地工作,最好采用如下设置:

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

  Tags: , ,

推荐:


3 回复 to “使用robots.txt的注意事项”

  1. 6830v8

    很好呀,,,很不错,支持,,,

  2. Zhang

    我想知道如何让垃圾baidu禁止收录我的动态页面

  3. 某些主机商在偷偷屏蔽Googlebot? | 博客学堂

    […] 相信对绝大多数博客/网站而言,搜索引擎都是一个重要的访问来源,是博客/网站获得新用户的重要途径。而要实现这一点,最起码的基础便是要让搜索引擎能够收录、索引网站内的页面——姑且不谈更多的SEO(搜索引擎优化)技巧——需要允许搜索引擎的Spiders在网站内顺畅“爬行”(除通过robots.txt禁止的页面外)。有时候,搜索引擎的Spiders对网站的频繁访问可能会对网站服务器带来很大的压力,甚至会影响网站的正常访问。但从理论上来说,这是网站要获得搜索引擎的流量所不得不付出的代价。 […]

回复 (回复须知)