怎样写robots.txt文件?
各大搜索引擎都遵守robots协议,具体怎么写robots.txt文件最权威的中文解释是百度的禁止搜索引 擎收录的方法,大家应该仔细学习下,Ethan在这里提出需要注意的几点。关于robots元标签,参见meta robots标签的写法。
一、位置、大小写和编码。位置必须在网站根目录下,文件名“robots.txt”应该全部小写,文件为纯文本格式,编码为utf-8编码。
二、生效时 间。很多时候我们发现用robots.txt屏蔽的网页在一段时间内快照还在,并能打开快照,不过不用担心,这是因为数据更新需要一段时间。另一方面,我 们要慎重屏蔽,避免给网站带来不必要的波动。百度在禁止搜索引擎收录的方法中声明如下:如果其他网站链接了您robots.txt文件中设置的禁止收录的 网页,那么这些网页仍然可能会出现在百度的搜索结果中,但您的网页上的内容不会被抓取、建入索引和显示,百度搜索结果中展示的仅是其他网站对您相关网页的 描述。google在拦截Google中声明如下:请务必注意,即使您使用robots.txt文件拦截信息采集软件使之无法抓取您网站上的内 容,Google也可以通过其他方式找到该网站并将它添加到我们的索引中。例如,其他网站仍可能链接到该网站。因此,网页网址及其他公开的信息(如指向相 关网站的链接中的定位文字或开放式目录管理系统中的标题)有可能会出现在Google搜索结果中。可见对于百度和google,即便一个网页用 robots.txt屏蔽了,其网页网址任然有可能出现在搜索结果中。对于google,要完全阻止一个网页出现在搜索结果中(即使有其他网站链接到此网 页),可以用<meta name=”googlebot” content=”noindex”>,详见使用元标记拦截对您网站的访问。
三、三种匹配。”$” 匹配行结束符。”*” 匹配0或多个任意字符。
如果结尾没有”$”,所有后面可能出现的字符都匹配,这一点很多人不清楚。
比如”Disallow:/help”禁止robot访 问/help.html、/helpabc.html、/help/index.html,而”Disallow:/help/”则允许robot访问 /help.html、/helpabc.html,不能访问 /help/index.html。
四、Disallow与Allow的顺序。在”robots.txt”文件中,如果有多条User-agent记录说 明有多个robot会受 到”robots.txt”的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则对任何robot均有效, 在”robots.txt”文件中,”User-agent:*”这样的记录只能有一条。如果在”robots.txt”文件中,加入”User- agent:SomeBot”和若干Disallow、Allow行,那么名为”SomeBot”只受到”User-agent:SomeBot”后面的 Disallow和Allow行的限制。
Disallow与Allow行的顺序是有意义的,对于多数搜索引擎,爬虫会根据第一个匹配成功的Allow或 Disallow行确定是否访问某个URL,也就是说,范围小的放前面。但不全是这样,比如google有所不同,所以通常先放Allow,后放 Disallow。不是每个搜索引擎都支持Allow。“Disallow:”等效于“Allow:/”。
五、空白的robots.txt文件。有时,当 robot访问没有设置robots.txt文件的站点时,会被自动404重定向到另外一个Html页面。这时Robot常常会以处理 robots.txt文件的方式处理这个Html页面文件。虽然一般这样没有什么问题,但是最好能放一个空白的robots.txt文件在站点根目录下。