当搜索引擎访问一个网站时,它首先会检查该网站的根域下是否有一个叫做robots.txt的纯文本文件。Robots.txt文件用于限定搜索引擎对其网站的访问范围,即告诉搜索引擎网站中哪些文件是允许它进行检索(下载)的。这就是大家在网络上常看到的“拒绝Robots访问标准”(Robots Exclusion Standard)。下面我们简称RES。 Robots.txt文件的格式:Robots.txt文件的格式比较特殊,它由记录组成。这些记录通过空行分开。其中每条记录均由两个域组成:
1) 一个User-Agent(用户代理)字符串行;
2) 若干Disallow字符串行。
记录格式为:<Field> ":" <value>
下面我们分别对这两个域做进一步说明。
User-agent(用户代理):
User-agent行(用户代理行) 用于指定搜索引擎robot的名字,以Google的检索程序Googlebot为例,有:User-agent: Googlebot
一个robots.txt中至少要有一条User-agent记录。如果有多条User-agent记录,则说明有多个robot会受到RES标准的限制。当然了,如果要指定所有的robot,只需用一个通配符"*"就搞定了,即:User-agent: *
Disallow(拒绝访问声明):
在Robots.txt文件中,每条记录的第二个域是Disallow:指令行。这些Disallow行声明了该网站中不希望被访问的文件和(或)目录。例如"Disallow: email.htm"对文件的访问进行了声明,禁止Spiders下载网站上的email.htm文件。而"Disallow: /cgi-bin/"则对cgi-bin目录的访问进行了声明,拒绝Spiders进入该目录及其子目录。Disallow声明行还具有通配符功能。例如上例中"Disallow: /cgi-bin/"声明了拒绝搜索引擎对cgi-bin目录及其子目录的访问,而"Disallow:/bob"则拒绝搜索引擎对/bob.html和/bob/indes.html的访问(即无论是名为bob的文件还是名为bob的目录下的文件都不允许搜索引擎访问)。Disallow记录如果留空,则说明该网站的所有部分都向搜索引擎开放。
空格 & 注释
在robots.txt文件中,凡以"#"开头的行,均被视为注解内容,这和UNIX中的惯例是一样的。但大家需要注意两个问题:
1) RES标准允许将注解内容放在指示行的末尾,但这种格式并不是所有的Spiders都能够支持。譬如,并不是所有的Spiders都能够正确理解"Disallow: bob #comment"这样一条指令。有的Spiders就会误解为Disallow的是"bob#comment"。最好的办法是使注解自成一行。
2) RES标准允许在一个指令行的开头存在空格,象"Disallow: bob #comment",但我们也并不建议大家这么做。
Robots.txt文件的创建:
需要注意的是,应当在UNIX命令行终端模式下创建Robots.txt纯文本文件。好的文本编辑器一般都能够提供UNIX模式功能,或者你的FTP客户端软件也“应该”能够替你转换过来。如果你试图用一个没有提供文本编辑模式的HTML编辑器来生成你的robots.txt纯文本文件,那你可就是瞎子打蚊子——白费力气了。
对RES标准的扩展:
尽管已经提出了一些扩展标准,如Allow行或Robot版本控制(例如应该忽略大小写和版本号),但尚未得到RES工作组的正式批准认可。
附录I. Robots.txt用法举例:
使用通配符"*",可设置对所有robot的访问权限。
User-agent: *
Disallow:
表明:允许所有搜索引擎访问网站下的所有内容。
User-agent: *
Disallow: /
表明:禁止所有搜索引擎对网站下所有网页的访问。
User-agent: *
Disallow: /cgi-bin/Disallow: /images/
表明:禁止所有搜索引擎进入网站的cgi-bin和images目录及其下所有子目录。需要注意的是对每一个目录必须分开声明。
User-agent: Roverdog
Disallow: /
表明:禁止Roverdog访问网站上的任何文件。
User-agent: Googlebot
Disallow: cheese.htm
表明:禁止Google的Googlebot访问其网站下的cheese.htm文件。
上面介绍了一些简单的设置,对于比较复杂的设置,可参看一些大型站点如CNN或Looksmart的robots.txt文件(www.cnn.com/robots.txt, www.looksmart.com/robots.txt)
附录II. 相关robots.txt文章参考:
1. Robots.txt常见问题解析
2. Robots Meta Tag的使用
3. Robots.txt检测程序
分享到:
相关推荐
### robots.txt 的编写详解 #### 一、robots.txt 基础介绍 robots.txt 是一个标准,虽然不是强制性的规定,但被广泛采用。它用于指示网络爬虫(web robots)如何与网站交互以及是否应该访问其上的某些资源。这对于...
`robots.txt`是一个纯文本文件,位于网站根目录下,其主要目的是为网络爬虫提供指南,告诉它们哪些URL应该被访问,哪些应该被禁止。`robots.txt`遵循一系列简单的规则,包括`User-Agent`(定义爬虫名称)和`Disallow...
《robots.txt详解与应用》 robots.txt,这是一个在互联网上起着关键作用的纯文本文件,它是网站管理员与搜索引擎之间的一种通信方式,用于规范搜索引擎爬虫的行为,决定哪些页面可以被索引,哪些应被排除在外。理解...
用户下载后,可以按照官方提供的安装指南进行安装和配置,以建立自己的PHPWind论坛站点。 关于PHPWind论坛的使用,有以下几个关键知识点: 1. **安装与配置**:首先,用户需要拥有一个支持PHP和MySQL的服务器环境...
本文详细介绍了使用 Python 进行网页内容抓取的技术原理和实战指南,包括主要步骤、技术栈与工具、实战代码示例、遵守 Robots.txt、异常处理、用户代理旋转、法律和道德问题、分布式爬虫以及爬虫与机器学习等方面的...
2. `robots.txt.dist`:默认的robots.txt文件,用于指导搜索引擎爬虫如何抓取网站内容,可以根据实际需求进行修改。 3. `.gitignore`:Git版本控制的忽略规则文件,定义了哪些文件或目录不应被Git追踪,以保持版本...
6. **使用方法.txt**:这是一个文本文件,通常会包含工具的使用指南和操作步骤,帮助用户理解如何安装、配置和使用这个PHP版搜索引擎蜘蛛查看器。内容可能包括环境配置、数据库连接、日志文件位置、脚本调用方法等...
5. **文档和说明**:`说明.htm`、`下载说明.txt`和`robots.txt`等文件提供了关于如何使用和维护网站的指南,`robots.txt`则告诉搜索引擎哪些页面可以抓取,哪些应被禁止。 6. **其他辅助文件**:`robots.txt`是网站...
3. **遵循升级指南**:仔细阅读并按照官方提供的升级指南操作,这通常包括停用所有插件、关闭服务器、上传升级文件、运行升级脚本等步骤。 4. **测试新功能**:升级完成后,不要立即开放给所有用户,应先在测试环境...
在互联网上,"robots.txt"文件是网站管理员用来指导搜索引擎爬虫如何抓取网站内容的指南。 描述部分提到:“关于:机器人 该附加组件将about:robots页面恢复为Pale Moon。”这表明有一个浏览器扩展或插件,它的...
5. **robots.txt**:正确设置robots.txt文件,指导搜索引擎抓取工具哪些区域可以抓取,哪些禁止。 6. **内容管理系统**:确保内容管理系统支持搜索引擎抓取。 7. **跨浏览器兼容性**:测试网站在不同浏览器中的表现...
`README.txt` 文件通常包含关于安装、升级或使用软件的基本指南。在 Joomla 3.5.1 升级包中,它可能提供了关于如何正确升级到此新版本的具体步骤和注意事项。 `htaccess.txt` 和 `web.config.txt` 文件与网站的重写...
网站所有者可以使用`robots.txt`来避免敏感信息被搜索引擎索引,或者优化爬虫对网站资源的抓取策略。 4. `新手必读.url`:这可能是一个快捷方式文件,通常在Windows系统中创建,指向一个网页链接,可能包含有关如何...
作为计算机案例,这个源码可以用于教学或研究,展示如何实现响应式设计(自适应不同设备的屏幕大小),以及如何整合SEO优化元素,如robots.txt和sitemap.xml。robots.txt文件告诉搜索引擎哪些页面可以抓取,哪些不能...
8. `readme.txt` - 一般包含项目的介绍、安装指南、许可信息等。 9. `admin` - 这可能是一个目录,包含管理员界面的文件,如登录页面、管理面板等。 10. `include` - 这也是一个目录,很可能包含被其他PHP文件引用的...
4. `README.txt`:通常提供关于如何安装、配置和使用软件的基本指南。 5. `htaccess.txt`:这是一个Apache服务器的配置文件,可以用来实现URL重写、设置权限等高级功能,用户需要根据自己的服务器环境修改为`....
6. `说明.txt`:这是一个文本文件,可能包含了关于"蜘蛛侠4.1"项目的详细介绍、使用指南、安装步骤或者开发者信息。 7. `robots.txt` 文件:这是一个告诉搜索引擎哪些页面可以抓取、哪些不能抓取的文件,对于SEO...
9. **robots.txt**:这个文件告诉搜索引擎哪些部分的网站不应被抓取。正确配置robots.txt可以避免索引不希望公开的内容。 10. **rel="nofollow" 链接**:用于指示搜索引擎不要追踪或传递权重给特定链接,常用于外部...