robots.txt是一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被robots访问的部分,或者指定搜索引擎的网络蜘蛛只能够收录指定的网站内容。
当一个搜索机器人(网络蜘蛛)访问一个网站时时候,它会首先检查该站点根目录下是否存在robots.txt;如果存在,网络蜘蛛就会按照该文件中的内容来确定访问的范围;如果该文件不存在,那么网络蜘蛛就沿着链接抓取。
robots.txt是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),在网站中的哪些内容是不能被搜索引擎的网络蜘蛛抓取的;哪些是可以被(网络蜘蛛)抓取的。一个典型的robots.txt文件内容如下:
User-agent:
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /private/
因为一些系统中的URL是大小写敏感的,所以Robots.txt的文件名应统一为小写,即robots.txt。robots.txt应放置于网站的根目录下。如果想单独自定义搜索引擎的网络蜘蛛访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots meta元标签。
robots.txt协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。注意robots.txt是用字符串比较来确定是否获取URL,所以目录末尾有和没有斜杠“/”这两种表示是不同的URL,也不能用"Disallow: .gif"这样的通配符。
若您的网站根目录下没有robots.txt,可以自己在网站的根目录下,新建一个命名为robots.txt的文本文件,而且这个robots.txt文本文件的名称必须是全部小写才行。
robots.txt的语言写法
首先,我们来看一个robots.txt范例:http://www.noonenet.cn/robots.txt
访问以上具体地址,我们可以看到robots.txt的具体内容如下:
# Robots.txt file from http://www.noonenet.cn
# All robots will spider the domain
User-agent: *
Disallow:
以上文本表达的意思是允许所有的搜索机器人访问www.noonenet.cn站点下的所有文件。
具体语法分析:
其中#后面文字为说明信息;User-agent:后面为搜索机器人的名称,后面如果是*,则广泛的指所有的搜索机器人;Disallow:后面为不允许访问的文件目录。
将在此列举一些robots.txt的具体的语言写法:
允许所有的robot访问
User-agent: *
Disallow:
禁止所有搜索引擎访问网站的任何部分
User-agent: *
Disallow: /
禁止所有搜索引擎访问网站的几个部分(下例中的01、02、03目录)
User-agent: *
Disallow: /01/
Disallow: /02/
Disallow: /03/
禁止某个搜索引擎的访问(下例中的BadBot)
User-agent: BadBot
Disallow: /
User-agent: Crawler User-agent: *
只允许某个搜索引擎的访问(下例中的Crawler)
Disallow:
Disallow: /
其他的影响搜索引擎的网络蜘蛛行为的方法包括在HTML语言中使用robots meta元标签:这个协议也不是一个规范,而只是约定俗成的,通常搜索引擎会识别这个robots meta元标签,不索引这个页面,以及这个页面上的导出链接。马来西亚SEO觉得有必要在此特别对robots meta元标签进行更加详细介绍:
robots meta元标签主要是针对一个个具体的页面。和其他的 robots meta元标签(如使用的语言、页面的描述、关键词等)一样, robots meta元标签也是放在HTML页面的<head></head>之间,专门用来告诉搜索引擎ROBOTS如何抓取该页的内容。
robots meta元标签的写法:
robots meta元标签中没有大小写之分,name=”Robots”表示所有的搜索引擎,可以针对某个具体搜索引擎写为name=”BaiduSpider”。 content部分有四个指令选项:index、noindex、follow、nofollow,指令间以“,”分隔。
INDEX 指令告诉搜索机器人抓取该页面;
FOLLOW 指令表示搜索机器人可以沿着该页面上的链接继续抓取下去;
robots meta元标签的缺省值是INDEX和FOLLOW,只有inktomi除外,(若不知道什么是inktomi,请谷歌搜索关键词:inktomi)对于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还增加了一个meta元标签的指令“archive”,可以限制GOOGLE是否保留网页快照。例如:
<META NAME=”googlebot” CONTENT=”index,follow,noarchive”>
表示抓取该站点中页面并沿着页面中链接抓取,但是不在GOOLGE上保留该页面的网页快照
原载: No.1网络工作室 http://www.noonenet.cn/