一个网站,可以有robots.txt,也可以没有。但是如果要有,那就必须做的规范,下面就个人经验来说下robots.txt的制作方法。
robots.txt文件命令包括:
Disallow - 告诉蜘蛛不要抓取某些文件或目录。如下面代码将阻止蜘蛛抓取所有的网站文件:
User-agent: *
Disallow: /
Allow - 告诉蜘蛛应该抓取某些文件。Allow和Disallow配合使用,可以告诉蜘蛛某个目录下,大部分都不抓取,只抓取一部分。如下面代码将使蜘蛛不抓取ab目录下其他文件,而只抓取其中cd下的文件:
User-agent: *
Disallow: /ab/
Allow: /ab/cd
$通配符 - 匹配URL结尾的字符。如下面代码将允许蜘蛛访问以.htm为后缀的URL:
User-agent: *
Allow: .htm$
*通配符 - 告诉蜘蛛匹配任意一段字符。如下面一段代码将禁止蜘蛛抓取所有htm文件:
User-agent: *
Disallow: /*.htm
Sitemaps位置 - 告诉蜘蛛你的网站地图在哪里,格式为:
Sitemap:
三家都支持的Meta标签包括:
NOINDEX - 告诉蜘蛛不要索引某个网页。
NOFOLLOW - 告诉蜘蛛不要跟踪网页上的链接。
NOSNIPPET - 告诉蜘蛛不要在搜索结果中显示说明文字。
NOARCHIVE - 告诉蜘蛛不要显示快照。
NOODP - 告诉蜘蛛不要使用开放目录中的标题和说明。
上面这些记录或标签,现在三家都共同支持。其中通配符好像以前雅虎微软并不支持。百度现在也支持Disallow,Allow及两种通配符。Meta标签我没有找到百度是否支持的官方说明。
只有Google支持的Meta标签有:
UNAVAILABLE_AFTER - 告诉蜘蛛网页什么时候过期。在这个日期之后,不应该再出现在搜索结果中。
NOIMAGEINDEX - 告诉蜘蛛不要索引页面上的图片。
NOTRANSLATE - 告诉蜘蛛不要翻译页面内容。
雅虎还支持Meta标签:
Crawl-Delay - 允许蜘蛛延时抓取的频率。
NOYDIR - 和NOODP标签相似,但是指雅虎目录,而不是开放目录。
Robots-nocontent - 告诉蜘蛛被标注的部分html不是网页内容的一部分,或者换个角度,告诉蜘蛛哪些部分是页面的主要内容(想被检索的内容)。
MSN还支持Meta标签:
Crawl-Delay
另外提醒大家注意的是,返回404错误的时候,意味着允许蜘蛛抓取所有内容。但抓取robots.txt文件时却发生超时之类的错误,可能导致搜索引擎不收录网站,因为蜘蛛不知道robots.txt文件是否存在或者里面有什么内容,这与确认文件不存在是不一样的。
本文出自:http://www.gengliu.com/news/75470e4c-548a-4562-9a0d-e25731f92e1a.htm
本文关键字:百度,雅虎,内容,搜索引擎,robots.txt