首页 > SEO技术 > 如何写robots.txt?

如何写robots.txt?

作者:robin 时间:2006年8月2日

在国内,网站管理者似乎对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的其他文章:

SEO技术

  1. 风中紫蝴蝶
    2007年4月22日19:38 | #1

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

  2. 2007年5月13日20:06 | #2

    谢谢robin,我收藏了

  3. 2007年5月14日19:22 | #3

    附带一句就是

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

  4. 2007年5月24日09:49 | #4

    收下。

  5. use
    2007年6月27日17:10 | #5
  6. 非主流
    2007年8月12日04:09 | #6

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

  7. bluepig
    2007年8月20日13:12 | #7

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

  8. 2007年9月8日13:13 | #8

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

  9. 2007年9月8日14:37 | #9

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

  10. NAOMI
    2007年9月19日10:17 | #10

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

  11. 2007年9月24日08:20 | #11

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

  12. 2007年10月18日09:37 | #12

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

  13. 吕仕华
    2007年10月27日09:51 | #13

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

  14. 2007年11月3日22:11 | #14

    学习了,多谢分享!

  15. 2007年11月14日11:06 | #15

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

  16. 2007年11月21日11:18 | #16

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

  17. 2007年11月22日14:08 | #17

    说的不错 谢谢!

  18. 商都租车网
    2007年11月27日11:32 | #18

    http://www.sdzcw.com

    看看我们写的对不对?

  19. 2007年12月4日12:11 | #19

    写的不错。

  20. 2007年12月13日13:25 | #20

    ..学习了.

  21. 2007年12月17日17:39 | #21

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

  22. 帝国
    2007年12月24日10:15 | #22

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

  23. 学习
    2007年12月25日08:14 | #23

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

  24. 善良是罪
    2008年1月2日13:25 | #24

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

  25. 2008年1月5日10:48 | #25

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

  26. ygw
    2008年1月6日15:49 | #26

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

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

  27. 小姚
    2008年1月14日15:50 | #27

    说得很详细哦,谢谢

  28. 紫雨莹霜
    2008年1月18日09:18 | #28

    呵呵,受益了,谢谢

  29. 2008年3月10日10:59 | #29

    写的太好了,受益匪浅!

  30. 2008年3月12日08:47 | #30

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

  31. 2008年3月31日11:33 | #31

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

  32. 2008年3月31日13:27 | #32

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

  33. 亮亮
    2008年5月23日21:24 | #33

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

  34. 2008年6月6日03:54 | #34

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

  35. 卡其博客
    2008年6月7日20:26 | #35

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

  36. ahcqren
    2008年6月23日16:11 | #36

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

  37. ocean
    2008年6月24日13:21 | #37

    写得很好,谢谢robin

  38. 2008年7月1日16:05 | #38

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

  39. 2008年9月13日14:20 | #39

    很好`很详细.谢谢分享

  40. 2008年9月20日21:39 | #40

    我想请问下,如何让搜索引擎把默认的主打域名改掉,我现在是两个域名,一个NET,一个COM,GG和百度默认的是NET的,但是我要的是COM的效果,请问怎么用robots达到这种效果,或者有其他办法不?

  41. 2008年10月24日17:18 | #41

    谢谢作者的简介。受益匪浅啊!!

  42. 2008年11月11日17:25 | #42

    谢谢,按你的方法做了,不知行不行,好用再回来,顶顶,呵呵

  43. 2008年11月28日09:49 | #43

    谢谢,非常有帮助。

  44. 2008年11月29日14:28 | #44

    好东西,我的robots指定sitemap以前把语法整错了。不过META NAME如何应用还是不知道

  45. 2009年1月16日19:20 | #45

    写的不错,我收录了,谢谢!

  1. 2007年7月23日10:29 | #1
  2. 2007年8月12日17:48 | #2
  3. 2008年5月9日21:52 | #3
本文的评论功能被关闭了.