如何写robots.txt?

在国内,网站管理者似乎对robots.txt并没有引起多大重视,应一些朋友之请求,今天想通过这篇文章来简单谈一下robots.txt的写作。

robots.txt基本介绍

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

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

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

robots.txt写作语法

首先,我们来看一个robots.txt范例:http://www.seovip.cn/robots.txt

访问以上具体地址,我们可以看到robots.txt的具体内容如下:

# Robots.txt file from http://www.seovip.cn
# All robots will spider the domain

User-agent: *
Disallow:

以上文本表达的意思是允许所有的搜索机器人访问www.seovip.cn站点下的所有文件。

具体语法分析:其中#后面文字为说明信息;User-agent:后面为搜索机器人的名称,后面如果是*,则泛指所有的搜索机器人;Disallow:后面为不允许访问的文件目录。

下面,我将列举一些robots.txt的具体用法:

允许所有的robot访问

User-agent: *
Disallow:

或者也可以建一个空文件 "/robots.txt" file

禁止所有搜索引擎访问网站的任何部分

User-agent: *
Disallow: /

禁止所有搜索引擎访问网站的几个部分(下例中的01、02、03目录)

User-agent: *
Disallow: /01/
Disallow: /02/
Disallow: /03/

禁止某个搜索引擎的访问(下例中的BadBot)

User-agent: BadBot
Disallow: /

只允许某个搜索引擎的访问(下例中的Crawler)

User-agent: Crawler
Disallow:

User-agent: *
Disallow: /

另外,我觉得有必要进行拓展说明,对robots meta进行一些介绍:

Robots META标签则主要是针对一个个具体的页面。和其他的META标签(如使用的语言、页面的描述、关键词等)一样,Robots META标签也是放在页面的<head></head>中,专门用来告诉搜索引擎ROBOTS如何抓取该页的内容。

Robots META标签的写法:

Robots META标签中没有大小写之分,name=”Robots”表示所有的搜索引擎,可以针对某个具体搜索引擎写为name=”BaiduSpider”。 content部分有四个指令选项:index、noindex、follow、nofollow,指令间以“,”分隔。

INDEX 指令告诉搜索机器人抓取该页面;

FOLLOW 指令表示搜索机器人可以沿着该页面上的链接继续抓取下去;

Robots Meta标签的缺省值是INDEX和FOLLOW,只有inktomi除外,对于它,缺省值是INDEX,NOFOLLOW。

这样,一共有四种组合:

<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">
<META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">
<META NAME="ROBOTS" CONTENT="INDEX,NOFOLLOW">
<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">

其中

<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">可以写成<META NAME="ROBOTS" CONTENT="ALL">;

<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">可以写成<META NAME="ROBOTS" CONTENT="NONE">

目前看来,绝大多数的搜索引擎机器人都遵守robots.txt的规则,而对于Robots META标签,目前支持的并不多,但是正在逐渐增加,如著名搜索引擎GOOGLE就完全支持,而且GOOGLE还增加了一个指令“archive”,可以限制GOOGLE是否保留网页快照。例如:

<META NAME="googlebot" CONTENT="index,follow,noarchive">

表示抓取该站点中页面并沿着页面中链接抓取,但是不在GOOLGE上保留该页面的网页快照。

特别说明,本文章的写作参考了一些网络信息,robin只是按照自己的思路对信息进行整理。

robin的其他文章:
收藏本页到:
365Key | Yahoo! | 百度搜藏 | QQ书签 | Google Bookmark | del.icio.us




41 条评论来自

  1. 风中紫蝴蝶 on 04月 22nd, 2007

    写得太好了..请问作者怎么联系呀?

  2. visc on 05月 13th, 2007

    谢谢robin,我收藏了

  3. mao on 05月 14th, 2007

    附带一句就是

    robots.txt 好像是可以作用于某个目录的。也就是放在
    /test/ 下的robots.txt 只作用于 /test/ 目录

  4. ohyee on 05月 24th, 2007

    收下。

  5. use on 06月 27th, 2007
  6. Thomas_Chen on 07月 23rd, 2007

    如何写robots.txt?

    如何写robots.txt?

  7. 非主流 on 08月 12th, 2007

    谢谢你啊。我正在测试:www.fzl.in

  8. [...] WordPress自从2.1版本开始,在Privacy选项里面允许用户设置是否被搜索引擎索引。但是它只有2个选项,一个是允许所有搜索引擎的机器人(Spider)索引所有内容,另外一个就是不允许。其实robots.txt的用法有很多(robots.txt带来的好处),最近看了一些文章说,在WordPress中阻止Spider爬行一些目录和文件,不但可以有效的节省搜索引擎对服务器带宽的占用,还可以提高网站在搜索引擎中的排名,这篇文章说,通过将comment feeds与Trackbacks排除在外,他的网站访问量上升了11.3%。 [...]

  9. bluepig on 08月 20th, 2007

    写的很好 ,能不能转载你的文章啊,我会著名出处。

  10. 郑州人才网 on 09月 8th, 2007

    不错,这个很经典,收藏学习。

  11. 郑州人才网 on 09月 8th, 2007

    可是如何保护这个robots.txt 不被竞争对手看到呢?如果看到了 修改就完了,请告诉我,好吗,急!!job371@163.com

  12. NAOMI on 09月 19th, 2007

    请问我的网站site:www.kjzcw.com时会出现8383端口的访问,能通过robot编写禁止访问吗

  13. p268 on 09月 24th, 2007

    谢谢robin,学习了,我收藏。

  14. 韩杨 on 10月 18th, 2007

    果然是篇实用美文,站长们都很关注这些信息。

  15. 吕仕华 on 10月 27th, 2007

    我想问一下,要是我是静态网页需要限制其他吗?急急!!!!!!

  16. 时尚衣衣 on 11月 3rd, 2007

    学习了,多谢分享!

  17. 幼峰 on 11月 14th, 2007

    我对这个“或者也可以建一个空文件 “/robots.txt” file”不是很明白 能详细说说说么?

  18. rzwince on 11月 21st, 2007

    我是新手站长,向您学习了,谢谢!

  19. 非主流 on 11月 22nd, 2007

    说的不错 谢谢!

  20. 商都租车网 on 11月 27th, 2007

    http://www.sdzcw.com

    看看我们写的对不对?

  21. seoguy on 12月 4th, 2007

    写的不错。

  22. 非主流宝贝 on 12月 13th, 2007

    ..学习了.

  23. 美文欣赏 on 12月 17th, 2007

    没用过这个...学习...

  24. 帝国 on 12月 24th, 2007

    恩 谢谢 学习中 ... 收藏也!

  25. 学习 on 12月 25th, 2007

    谢谢,懂了,写了一个
    http://www.rajyfq.com

  26. 善良是罪 on 01月 2nd, 2008

    我想问的是,如果在根目录下,文件名也必须一致,那么直接把这个文件下载了,里面的内容不就全部泄露了???

  27. 聊城导航 on 01月 5th, 2008

    高手就是高手啊,分析的很全也很透彻啊。好容易看!多多学习以后。

  28. ygw on 01月 6th, 2008

    呵呵,很不错,辛苦了,顺便给你补上出处就更完整了
    http://www.robotstxt.org/orig.html
    http://www.robotstxt.org/meta.html

    第一次来这里,顺便看了下贵站法大研究生的个人站点,可能的话希望能和她(他)联系,有机会也可以交流下知产问题

  29. 小姚 on 01月 14th, 2008

    说得很详细哦,谢谢

  30. 紫雨莹霜 on 01月 18th, 2008

    呵呵,受益了,谢谢

  31. 王德智 on 03月 10th, 2008

    写的太好了,受益匪浅!

  32. 招聘会 on 03月 12th, 2008

    经典....收藏之...
    :)

  33. tudou on 03月 31st, 2008

    如果要禁止某个搜索引擎(如baiduspider)的访问是应该写在*的前面还是后面,另外如果*里面已经禁止了访问某个目录,baiduspider还需要写一遍吗?我的网站是http://www.tudouju.cn帮我看看是否正确?

  34. 8e on 03月 31st, 2008

    到现在我还没搞明白如果没有不让搜索引擎看的东西,那ROBOTS还有写的必要吗?

  35. [...] 在点石互动那里看到一篇讲解如何写robots.txt的文章,想起来自己网站的robots一直没有弄过,按照文章介绍的方法写了下应用在Wordpress假设的blog的robots文件,具体代码如下。 [...]

  36. 亮亮 on 05月 23rd, 2008

    我不是IT人士,只是对搜索引擎的运作有些好奇,来到这里,我的问题有了详细的答案,
    感谢站长!

  37. 伊人网 on 06月 6th, 2008

    很全面也很实用呀.感谢!

  38. 卡其博客 on 06月 7th, 2008

    写的不错 知识慢慢学
    欢迎访问卡其博客www.kaqi123.cn

  39. ahcqren on 06月 23rd, 2008

    我们我的设置过后,百度却还是把我的禁止的页面抓取了,并且还全部是抓区的这样的页面www.suzhiwang.com 大家帮我看看

  40. ocean on 06月 24th, 2008

    写得很好,谢谢robin

  41. richwelder on 07月 1st, 2008

    正在给自己的网站写rebots.txt呢..学习中...