且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Robots Exclusion Protocol简介

更新时间:2022-09-15 13:21:14

Robot访问一个Web站点时,比如http://www.hello.com/,它先去检查是否存在文件http://www.hello.com/robots.txt。如果这个文件存在,它便会按照这样的记录格式去分析,以确定它是否应该检索站点的文件。这些记录是专门给Web Robot看的,一般的浏览者大概永远不会看到这个文件。 
在一个站点上只有一个“robots.txt”文件有效。该文件必须上传到在网站的根目录下,而且文件名的每个字母要求全部是小写。在Robot的记录格式中每一个单独的“Disallow” 行表示你不希望Robot访问的URL,每个URL必须单独占一行,不能出现“Disallow: /cgi-bin/ /tmp/”这样的语句。同时在一个记录中不能出现空行,这是因为空行是多个记录分割的标志。
例如:
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/

robots.txt写作语法

例如http://www.taobao.com/robots.txt 淘宝是屏蔽百度搜索的。

User-agent: Baiduspider
Disallow: /

User-agent: baiduspider
Disallow: /

一些robots.txt的具体用法:

允许所有的robot访问

User-agent: *
Disallow:

或者也可以建一个空文件 "/robots.txt" file

禁止所有搜索引擎访问网站的任何部分

User-agent: *
Disallow: /

禁止所有搜索引擎访问网站的几个部分(下例中的01、02、03目录)

User-agent: *
Disallow: /01/
Disallow: /02/
Disallow: /03/

禁止某个搜索引擎的访问(下例中的BadBot)

User-agent: BadBot
Disallow: /

只允许某个搜索引擎的访问(下例中的Crawler)

User-agent: Crawler
Disallow:

User-agent: *
Disallow: /

使用技巧

   1. 每当用户试图访问某个不存在的URL时,服务器都会在日志中记录404错误(无法找到文件)。每当搜索蜘蛛来寻找并不存在的robots.txt文件时,服务器也将在日志中记录一条404错误,所以你应该在网站中添加一个robots.txt。

  2. 网站管理员必须使蜘蛛程序远离某些服务器上的目录——保证服务器性能。比如:大多数网站服务器都有程序储存在“cgi-bin”目录下,因此在robots.txt文件中加入“Disallow: /cgi-bin”是个好主意,这样能够避免将所有程序文件被蜘蛛索引,可以节省服务器资源。一般网站中不需要蜘蛛抓取的文件有:后台管理文件、程序脚本、附件、数据库文件、编码文件、样式表文件、模板文件、导航图片和背景图片等等。

  下面是VeryCMS里的robots.txt文件:

  User-agent: *

  Disallow: /admin/ 后台管理文件

  Disallow: /require/ 程序文件

  Disallow: /attachment/ 附件

  Disallow: /images/ 图片

  Disallow: /data/ 数据库文件

  Disallow: /template/ 模板文件

  Disallow: /css/ 样式表文件

  Disallow: /lang/ 编码文件

  Disallow: /script/ 脚本文件

  3. 如果你的网站是动态网页,并且你为这些动态网页创建了静态副本,以供搜索蜘蛛更容易抓取。那么你需要在robots.txt文件里设置避免动态网页被蜘蛛索引,以保证这些网页不会被视为含重复内容。

  4. robots.txt文件里还可以直接包括在sitemap文件的链接。就像这样:

  Sitemap: sitemap.xml

  目前对此表示支持的搜索引擎公司有Google, Yahoo, Ask and MSN。而中文搜索引擎公司,显然不在这个圈子内。这样做的好处就是,站长不用到每个搜索引擎的站长工具或者相似的站长部分,去提交自己的sitemap文件,搜索引擎的蜘蛛自己就会抓取robots.txt文件,读取其中的sitemap路径,接着抓取其中相链接的网页。

  5. 合理使用robots.txt文件还能避免访问时出错。比如,不能让搜索者直接进入购物车页面。因为没有理由使购物车被收录,所以你可以在robots.txt文件里设置来阻止搜索者直接进入购物车页面。



本文转自邴越博客园博客,原文链接:http://www.cnblogs.com/binyue/p/3535705.html,如需转载请自行联系原作者