`
rustyapple
  • 浏览: 3675 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

《Robots.txt 协议标准》介绍

阅读更多

《Robots.txt 协议标准》介绍

作者:雅虎搜索日志小组

http://www.robotstxt.org/orig.html

近期有很多站长咨询,怎样正确设置"robots.txt"文件。为了解决广大站长朋友们的疑问,我们对《Robots.txt 协议标准》进行了翻译,希望此篇译文能够帮助大家对"robots.txt"文件有更深的了解。

Robots.txt 是存放在站点根目录下的一个纯文本文件。虽然它的设置很简单,但是作用却很强大。它可以指定搜索引擎蜘蛛只抓取指定的内容,或者是禁止搜索引擎蜘蛛抓取网站的部分或全部内容。

下面我们就来详细介绍一下它的使用方法:

Robots.txt 文件应该放在网站根目录下,并且该文件是可以通过互联网进行访问的。

例如:
如果您的网站地址是 http://www.yourdomain.com/
那么,该文件必须能够通过 http://www.yourdomain.com/robots.txt 打开并看到里面的内容。

格式:

User-agent:

用于描述搜索引擎蜘蛛的名字,在" Robots.txt "文件中,如果有多条User-agent记录说明有多个搜索引擎蜘蛛会受到该协议的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则该协议对任何搜索引擎蜘蛛均有效,在" Robots.txt "文件中,"User-agent:*"这样的记录只能有一条。

Disallow:

用于描述不希望被访问到的一个URL,这个URL可以是一条完整的路径,也可以是部分的,任何以Disallow开头的URL均不会被Robot访问到。

举例:
例一:"Disallow:/help"
是指/help.html 和/help/index.html都不允许搜索引擎蜘蛛抓取。
例二:"Disallow:/help/"
是指允许搜索引擎蜘蛛抓取/help.html,而不能抓取/help/index.html。
例三:Disallow记录为空

说明该网站的所有页面都允许被搜索引擎抓取,在"/robots.txt"文件中,至少要有一条Disallow记录。如果"/robots.txt"是一个空文件,则对于所有的搜索引擎蜘蛛,该网站都是开放的可以被抓取的。

#:
Robots.txt 协议中的注释符。

举例:
例一:通过"/robots.txt"禁止所有搜索引擎蜘蛛抓取"/bin/cgi/"目录,以及 "/tmp/"目录和 /foo.html 文件,设置方法如下:
User-agent: *
Disallow: /bin/cgi/
Disallow: /tmp/
Disallow: /foo.html

例二:通过"/robots.txt"只允许某个搜索引擎抓取,而禁止其他的搜索引擎抓取。
如:只允许名为"slurp"的搜索引擎蜘蛛抓取,而拒绝其他的搜索引擎蜘蛛抓取 "/cgi/" 目录下的内容,设置方法如下:
User-agent: *
Disallow: /cgi/

User-agent: slurp
Disallow:

例三:禁止任何搜索引擎抓取我的网站,设置方法如下:
User-agent: *
Disallow: /

例四:只禁止某个搜索引擎抓取我的网站
如:只禁止名为“slurp”的搜索引擎蜘蛛抓取,设置方法如下:
User-agent: slurp
Disallow: /

更多,请参考译文出处:http://www.robotstxt.org/wc/norobots.html

 

为什么要使用robots.txt

我们曾介绍过使用robots.txt来控制搜索引擎抓取页面,同样地,我们也可以在页面文件中使用“noindex”或“nofollow”属性来控制搜索引擎Spider在网站内的爬行,那么,robots.txt对于网站是必需的么?

  理论上说,robots.txt只是告诉搜索引擎的Spider网站内哪些内容不允许其索引与收录,它并不是网站的必不可少的组成部分,一个未配置robots.txt的网站只不过对搜索引擎Spider的爬行不作限制而矣。从这个角度看,不设置robots.txt对网站功能没有影响。

  但另一方面,恰当地设置robots.txt,可以更好地维护Web 服务器,提高网站的综合性能。从这个角度,网站最好配置robots.txt。

Robots.txt带来的好处

  几乎所有的搜索引擎Spider都遵循robots.txt给出的爬行规则,协议规定搜索引擎Spider进入某个网站的入口即是该网站的robots.txt,当然,前提是该网站存在此文件。对于没有配置robots.txt的网站,Spider将会被重定向至404 错误页面,相关研究表明,如果网站采用了自定义的404错误页面,那么Spider将会把其视作robots.txt——虽然其并非一个纯粹的文本文件——这将给Spider索引网站带来很大的困扰,影响搜索引擎对网站页面的收录。

  robots.txt可以制止不必要的搜索引擎占用服务器的宝贵带宽,如email retrievers,这类搜索引擎对大多数网站是没有意义的;再如image strippers,对于大多数非图形类网站来说其也没有太大意义,但却耗用大量带宽。

  robots.txt可以制止搜索引擎对非公开页面的爬行与索引,如网站的后台程序、管理程序,事实上,对于某些在运行中产生临时页面的网站来说,如果未配置robots.txt,搜索引擎甚至会索引那些临时文件。

  对于内容丰富、存在很多页面的网站来说,配置robots.txt的意义更为重大,因为很多时候其会遭遇到搜索引擎Spider给予网站的巨大压力:洪水般的Spider访问,如果不加控制,甚至会影响网站的正常访问。

  同样地,如果网站内存在重复内容,使用robots.txt限制部分页面不被搜索引擎索引和收录,可以避免网站受到搜索引擎关于 duplicate content的惩罚,保证网站的排名不受影响。

robots.txt带来的风险及解决

  凡事有利必有弊,robots.txt同时也带来了一定的风险:其也给攻击者指明了网站的目录结构和私密数据所在的位置。虽然在Web服务器的安全措施配置得当的前提下这不是一个严重的问题,但毕竟降低了那些不怀好意者的攻击难度。

  比如说,如果网站中的私密数据通过www.yourdomain.com/private/index.html 访问,那么,在robots.txt的设置可能如下:

User-agent: *
Disallow: /private/

  这样,攻击者只需看一下robots.txt即可知你要隐藏的内容在哪里,在浏览器中输入www.yourdomain.com/private/ 便可访问我们不欲公开的内容。对这种情况,一般采取如下的办法:

  • 设置访问权限,对/private/中的内容实施密码保护,这样,攻击者便无从进入。
  • 另一种办法是将缺省的目录主文件index.html更名为其他,比如说abc-protect.html,这样,该内容的地址即变成www.yourdomain.com/private/abc-protect.htm,同时,制作一个新的index.html文件,内容大致为“你没有权限访问此页”之类,这样,攻击者因不知实际的文件名而无法访问私密内容。
分享到:
评论

相关推荐

    用来生成robotstxt文件的Vuepress插件

    4. **自定义规则**:在 `content` 配置项中,你可以使用标准的 `robots.txt` 协议语法来定义规则,比如 `User-agent`、`Disallow`、`Allow` 等,控制搜索引擎对不同URL的访问权限。 5. **构建过程**:在运行 `vue...

    Go语言的robots.txt排除协议实现_Go_Shell_下载.zip

    本篇文章将深入探讨如何使用 Go 语言来实现 `robots.txt` 排除协议。我们将主要关注以下几个关键知识点: 1. **robots.txt 文件结构**: `robots.txt` 文件由一系列的 "User-agent" 和 "Disallow" 规则组成。"User...

    易优cms robots文件生成器插件.zip

    3. **遵循标准**:遵循robots协议,尊重搜索引擎的抓取规则,不要试图通过设置欺骗或误导爬虫。 4. **测试验证**:生成robots.txt后,可以使用Google的Robots Testing Tool或其他在线工具进行验证,确保其按预期...

    Robots_txt-Specifications.pdf

    本文档详细介绍了Google处理robots.txt文件的方式,包括谷歌robot.txt协议的改变、基本定义、适用性、文件位置、有效范围以及相关示例。 首先,需要明确Robots.txt文件的定义。Robots.txt是一种存放于网站根目录下...

    一个经典的zencart的robots.txt的写法

    `robots.txt`文件是一种标准的协议文件,用于告诉网络爬虫(如搜索引擎机器人)哪些页面可以抓取、哪些页面不能抓取。这对于网站管理员来说非常重要,因为它可以帮助控制搜索引擎如何索引自己的网站。 #### 一、`...

    支持通配符()匹配的NodeJSrobots.txt解析器。_JavaScript_下载.zip

    总结来说,这个Node.js解析器是一个工具,它扩展了标准`robots.txt`协议,支持了通配符匹配,使得开发者能更精确地控制搜索引擎对网站的爬取行为。通过学习和使用这样的工具,你可以更好地管理你的网站,确保它在...

    robots使用例子

    `Robots`协议(也称为爬虫协议、机器人协议)是一种网站与搜索引擎蜘蛛之间进行沟通的方式。它通过一个名为`robots.txt`的纯文本文件来定义网站哪些部分允许被搜索引擎收录,哪些部分禁止收录。这对于网站管理员来说...

    屏蔽一切搜索引擎的robots

    **robots协议(也称为Robots Exclusion Protocol或REP)**是一种用于告知网络爬虫(包括搜索引擎机器人)哪些页面可以被抓取、哪些页面应该被排除的标准。通过robots协议,网站管理员可以有效地控制搜索引擎对其网站...

    教你查看秘密网页.doc

    `robots.txt`文件是一种标准的协议文件,用于告诉搜索引擎哪些页面可以爬取,哪些页面不能爬取。这个文件位于网站根目录下,对于任何域名来说,只要在其后面添加`/robots.txt`即可访问该文件。例如,对于域名`...

    grobotstxt:grobotstxt是Google robots.txt解析器和匹配器库的本地Go端口

    机器人排除协议(REP)是一种标准,使网站所有者可以通过具有特定语法的简单文本文件来控制自动客户端(即搜寻器)可以访问哪些URL。 它是众所周知的互联网的基本组成部分之一,也是使搜索引擎能够运行的基础。 ...

    java写爬虫代码.pdf

    4. robots.txt协议:文档提到了robots.txt文件以及爬虫对它的处理方式。robots.txt是位于网站根目录下的一个文件,用于告知爬虫哪些页面可以抓取,哪些不可以。代码中涉及到了解析robots.txt文件,以及基于其中定义...

    一个web爬虫的事例.txt

    1. **Robots协议尊重**:通过`isRobotAllowed()`方法,爬虫会遵守每个网站的`robots.txt`文件中的规定,不会访问被禁止的页面。 2. **URL验证与标准化**:使用`verifyUrl()`和`removeWwwFromUrl()`方法确保URL的有效...

    arquillian-config-spi-1.0.0.Beta2.zip

    1. **兼容性**:严格遵循robots.txt协议标准,保证与多种网站的兼容性。 2. **易用性**:提供简洁的API,方便开发者快速集成到自己的爬虫项目中。 3. **性能优化**:高效地解析和处理robots.txt文件,减少资源消耗。...

    数据挖掘与数据管理-网络爬虫协议.pptx

    最常见的网络爬虫协议是Robots协议,也称为“爬虫协议”或“网络爬虫排除标准”。Robots协议规定了网站管理者可以通过robots.txt文件来表达是否希望爬虫程序自动获取网站信息的意愿。 Robots协议的作用主要体现在两...

    2.3_rebots协议1

    为了解决这些问题,业界提出了Robots协议,即网络爬虫排除标准。此协议允许网站管理员通过在网站根目录下创建robots.txt文件来告知搜索引擎哪些页面可以抓取,哪些则禁止抓取。尽管Robots协议是非强制性的,但遵循这...

    #资源达人分享计划#第01讲 爬虫基础.pdf

    - 若不遵守robots.txt协议,可能引发的法律问题和争议案例。 4. 爬虫的分类 - 通用爬虫:从一个起始网址开始,抓取全站所有信息,适用于大型门户网站、搜索引擎等。 - 聚焦爬虫:只抓取定义好的特定内容,适用于...

    python爬虫之初入urllib(csdn)————程序.pdf

    这是一个互联网上的标准,网站可以通过`robots.txt`文件告知搜索引擎或其他网络爬虫哪些页面可以抓取,哪些禁止抓取。通常,爬虫在开始爬取前会先查看该文件,以避免侵犯网站的隐私和版权。 在使用`urllib.request`...

    爬虫python入门.txt

    不同的网站会通过robots.txt文件声明哪些内容允许或不允许被爬虫访问。尊重网站声明,合理控制爬虫的访问频率,避免对服务器造成不必要的负担,是作为一个负责任的爬虫开发者所应遵循的准则。 最后,爬虫技术的学习...

Global site tag (gtag.js) - Google Analytics