robots.txt

一种用于控制搜索引擎或者其爬虫程序对页面访问控制的建议性规范标准文件
(重定向自Robots协议

robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据(Metadata)。

robots.txt协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。注意robots.txt是用字符串比较来确定是否获取URL,所以目录末尾有与没有斜杠“/”表示的是不同的URL。robots.txt允许使用类似“Disallow: *.gif”这样的通配符[1][2]

其他的影响搜索引擎的行为的方法包括使用robots元数据

<meta name="robots" content="noindex,nofollow" />

这个协议也不是一个规范,而只是约定俗成的,有些搜索引擎会遵守这一规范,有些则不然。通常搜索引擎会识别这个元数据,不索引这个页面,以及这个页面的链出页面。

例子

编辑

允许所有的机器人:

User-agent: *
Disallow:

另一写法

User-agent: *
Allow:/

仅允许特定的机器人:(name_spider用真实名字代替)

User-agent: name_spider
Allow:

拦截所有的机器人:

User-agent: *
Disallow: /

禁止所有机器人访问特定目录:

User-agent: *
Disallow: /cgi-bin/
Disallow: /images/
Disallow: /tmp/
Disallow: /private/

仅禁止坏爬虫访问特定目录(BadBot用真实的名字代替):

User-agent: BadBot
Disallow: /private/

禁止所有机器人访问特定文件类型[2]

User-agent: *
Disallow: /*.php$
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.css$

非标准扩展协议

编辑

自动发现Sitemaps文件

编辑

Sitemap指令被几大搜索引擎支持(包括GoogleYahooBingAsk),指定了网站Sitemaps文件的位置。Sitemaps文件包含了网站页面所在的URL的一个列表。Sitemap指令并不受User-agent指令的限制,所以它可以放在robots.txt文件中的任意位置。[3] 唯一要注意的就是要使用网站地图指令,<sitemap_location>,并将URL的“location”值换成网站地图的地址,例如,下面就是一个网站地图指令的例子:

Sitemap: <http://www.example.com/sitemap.xml>

如何编写Sitemaps文件,请参考sitemaps.org页面存档备份,存于互联网档案馆(英文)上的说明。

Crawl-delay指令

编辑

几大抓取工具支持Crawl-delay参数,设置为多少秒,以等待同服务器之间连续请求:[4][5]

User-agent: *
Crawl-delay: 10

Allow指令

编辑

一些大的Crawlers支持一项Allow指令,可以抵消先前Disallow指令。比如Googlebot[6]

替代

编辑

虽然robots.txt是最为广泛接受的方法,但也可以与robots META标签一起使用。robots META标签主要是针对一个独立的页面设置,与其他的META标签(如使用的语言、页面的描述、关键词等)一样,robots META标签也是放在页面的HEAD标签中,专门用来告诉搜索引擎robots如何抓取该页的内容。

<head>
	<meta name="robots" content="noindex,nofollow" />
</head>

参考文献

编辑
  1. ^ 使用robots.txt文件阻止或删除网页 (HTML). Google网站站长工具帮助. [2012-10-16]. (原始内容存档于2012-10-18). 
  2. ^ 2.0 2.1 完全指南:如何写好WordPress博客的robots.txt文件. The Observing Mind. [2013-02-14]. (原始内容 (HTML)存档于2013-09-15). 
  3. ^ Jerri L.Ledord著马煜译. 搜索引擎优化宝典. : 257. 
  4. ^ How can I reduce the number of requests you make on my web site? (HTML). Yahoo! Slurp. [2007-02-08]. (原始内容存档于2007-02-08) (英语). 
  5. ^ MSNBot is crawling a site too frequently. Troubleshoot issues with MSNBot and site crawling. [2007-02-08]. (原始内容 (HTML)存档于2007-02-20) (英语). 
  6. ^ 如何拦截Googlebot(谷歌网站站长工具帮助)(简体中文)

外部链接

编辑