robots.txt 指定 Sitemap.xml的位置和robots Meta标签[转]
作者:C/S原创  发布日期:2011/04/15 10:29:18
robots.txt 指定 Sitemap.xml的位置和robots Meta标签[转]

robots.txt 指定 Sitemap 和robots Meta标签

http://www.mp322.com/robots.txt

User-agent: *Sitemap: http://www.mp322.com/sitemap.xml

Disallow: /wp-admin/Disallow: /sysinfo/

今天一天之内,准确的说相隔不到3个小时,就有两个朋友在QQ上让我帮他看看网站,为什么搜 索引擎不收录。从我个人角度来看,他们的站做的还不错,除了个别地方(如有几页标题相同之类)不够,没有导致不收录的因素。最后一查看 robots.txt,“Disallow: /”。

回想起来,找我咨询的朋友中,还真有不少的一部分都是这样的问题,所以写出来,供不熟悉的朋友参考。

1、robots.txt是什么?

robots.txt是一个纯文本文件,用来告诉网络蜘蛛(不仅限搜索引擎蜘蛛)本站中哪些位置允许抓取,哪些位置不允许抓取。

2、如何正确放置robots.txt?

首先,robots.txt文件必须放置在网站根目录;有域名指向到次目录,在次目录放置的robots.txt文件只对此域名有效。

其次,文件名必须小写,如Robots.txt、roBots.txt、robots.TXT都是错误的。

3、robots.txt内容应该如何写?

文件应该同时包含2个域,“User-agent:”和“Disallow:”,每条指令独立一行。

(1)User-agent:

指定允许哪些蜘蛛抓取,如果给出参数,则只有指定的蜘蛛能够抓取;如值为通配符“*”号,代表允许所有蜘蛛抓取。如:

User-agent: Googlebot

只允许Google的蜘蛛抓取;

User-agent: *

允许所有蜘蛛抓取。

注意:User-agent必须出现在第一行(有意义的行,注释除外),首先声明用户代理。

(2)Disallow:

指定禁止蜘蛛抓取的目录或文件,如:

Disallow: /help.php

禁止抓取根目录下help.php文件;

Disallow: /admin/

禁止抓取根目录下的admin子目录中任何内容;

Disallow:

值为空时,表示不限制,蜘蛛可以抓取站内任何内容。

如果需要指定多个目录或文件,可以用多个“Disallow: 文件或目录名”来指定,但必须每一项单独一行。

这就是前面说到的那两位朋友网站robots.txt的问题,他们用“Disallow: /”禁止了蜘蛛抓取根目录下的所有内容。

4、robots.txt需要注意的几个问题:

  • robots.txt文件中任意一行Disallow的值为空,其他指定的项都将失效,整站允许User-agent指定的蜘蛛抓取;
  • robots.txt文件中允许使用注释,以“#”开头的内容被认作注释;但注释最好独立成一行,尽量不要加在参数后面,如“Disallow: /admin/ #manage dir”,某些蜘蛛可能将注释当作值的一部分。
  • 尽量不要在一行的前面出现空格,如“ Disallow: /”,可能某些蜘蛛无法正确读取。
  • 推荐一个robots.txt检查工具:http://tool.motoricerca.info/robots-checker.phtml

5、将你的XML格式Sitemap地址放到robots.txt中

Robin新发现,并率先在国内提出的,大家可以到点石博客中下载Robin的“网站如何被高效索引”演讲稿阅读。

加入Sitemap地址的作用是,如果搜索引擎蜘蛛能够识别此行,就能快速获知网站的XML地图文件地址,并将地图文件作为一个URL参考进行高效索引(具体哪些搜索引擎蜘蛛能够识别目前我还不清楚)。

如樂思蜀SEO博客的robots.txt,紧接着User-agent的第二行:

Sitemap: http://www.lesishu.cn/sitemap.xml

此处之前的内容,将Sitemap放在第一行的说法错误,特此更正。

robots Meta标签

robots.txt是放在网站中,文件级的网络蜘蛛授权;而robots Meta标签是放在网页中,一般用于部分网页需要单独设置的情况下。两者的功能是一样的。

Meta robots标签必须放在<head>和</head>之间,格式:

<meta name=”robots” content=”index,follow” />

content中的值决定允许抓取的类型,必须同时包含两个值:是否允许索引(index)和是否跟踪链接(follow,也可以理解为是否允许沿着网页中的超级链接继续抓取)。共有4个参数可选,组成4个组合:

  1. index,follow:允许抓取本页,允许跟踪链接。
  2. index,nofollow:允许抓取本页,但禁止跟踪链接。
  3. noindex,follow:禁止抓取本页,但允许跟踪链接。
  4. noindex,nofllow:禁止抓取本页,同时禁止跟踪本页中的链接。

以上1和4还有另一种写法:

index,follow可以写成all,如:

<meta name=”robots” content=”all” />

noindex,nofollow可以写成none,如:

<meta name=”robots” content=”none” />

需要注意的是,robots Meta标签很多搜索引擎是不支持的,只有少数搜索引擎能够识别并按给定的值抓取。所以,尽可能的使用robots.txt文件来限制抓取。

最后,给大家一个建议,不要太刻意的在robots.txt中设置过多禁止文件或目录,只设置确实不希望被搜索引擎索引的目录和文件就可以了。

特别是在不清楚文件或目录的作用时,不要轻易禁止抓取。前阵一位做旅游的朋友,网站中有大量的旅游景点图片,几大搜索引擎中却都没有索引,后来对网站检查时发现图片目录upload在管理目录admin下,被robots.txt禁止抓取了。

虽然网上关于robots的文章已经很多了,发现都不尽全面,整理了一下供参考。

作者:樂思蜀

原载:樂思蜀SEO博客


上一篇 下一篇