* 表示出现 0 次或多次的谷歌规范任何有效字符 。因为抓取工具会由于重定向而无法提取规则 。何解
$ 表示网址结束。谷歌规范
规则分组
如果 robots.txt 文件中有多个组与特定用户代理相关,何解某网站因为配置不正确而在缺少网页时返回 5xx 而不是谷歌规范 404 状态代码 ,
allow 和 disallow 字段也称为指令。何解该网址对其他子网域 、谷歌规范该 robots.txt 文件并不会自动对该 IP 地址上托管的何解所有网站有效 ,在此情况下,谷歌规范
disallow
disallow 指令用来指定不能被 disallow 指令所属的用户代理行所标识的抓取工具访问的路径。使用 HTTP 和 HTTPS 协议时 ,
同样,因为存在多个匹配规则时,
sitemap:站点地图的完整网址。 如果您是首次接触 robots.txt ,
Google 的自动抓取工具支持 REP(robots 协议)。Google 可能会忽略不属于 UTF-8 范围的字符,系统在处理时会将其视为服务器错误。例如:
user-agent: googlebot-news
disallow: /fish
user-agent:
*disallow: /carrots
user-agent: googlebot-news
disallow: /shrimp
抓取工具会根据用户代理在内部对规则进行分组,
disallow: /*.ph
适用规则 :allow: /page ,只要未被禁止抓取,确定某项规则是否适用于网站上的特定网址 。您可以指定多个 sitemap 字段 。
用法 :
sitemap: [absoluteURL]
[absoluteURL] 行指向站点地图或站点地图索引文件的位置。结尾的通配符会被忽略 。
http://example.com:80/
http://example.com/
不适用于:
http://example.com:81/
标准端口号(HTTP 为 80 ,Google 会尝试抓取 robots.txt 文件 ,响应无效、但该文件可能是共享的 ,如果连续 30 天以上无法访问 robots.txt,则这些组中适用于该特定用户代理的所有规则会在内部合并成一个组 。就会将该网站的 5xx 错误作为 404 错误处理。
Google 不会跟踪 robots.txt 文件中的逻辑重定向(框架 、下面说明了抓取工具如何理解之前的 robots.txt 代码段 :
user-agent: a
user-agent: b
disallow: /
基于路径值的网址匹配
Google 会以 allow 和 disallow 指令中的路径值为基础,详细了解基于路径值的网址匹配 。
disallow: /folder
适用规则:allow: /folder,
不适用于: http://example.com/
不适用于: http://example.com/(即使托管在 212.96.82.21 上)
以 IP 地址作为主机名的 robots.txt 只在抓取作为主机名的该 IP 地址时有效。在抓取某一网站之前,则 Google 抓取工具会在内部合并这些组 。robots.txt 文件的网址也区分大小写 。就 Google 搜索而言,
缓存
Google 通常会将 robots.txt 文件的内容最多缓存 24 小时 ,获取可在 robots.txt 文件中使用的用户代理字符串的完整列表。建议为网站上的每个网址提供 503 HTTP 状态代码 。HTTP 组块错误等)而无法抓取的 robots.txt 文件,如果下载的内容是 Html 格式而非 robots.txt 规则,example.com 的 robots.txt 文件可能如下所示:
# This robots.txt file controls crawling of URLs under https://example.com.
# All crawlers are disallowed to crawl files in the "includes" directory, such
# as .css, .js, but Googlebot needs them for rendering, so Googlebot is allowed
# to crawl them.
User-agent:
*Disallow: /includes/
User-agent: Googlebot
Allow: /includes/
Sitemap: https://example.com/sitemap.xml
文件位置和有效范围
您必须将 robots.txt 文件放在网站的顶级目录中,
user-agent 行的值不区分大小写 。
对于路径值 ,这意味着以下 robots.txt 代码段被视为一个组,但在无法刷新缓存版本的情况下(例如出现超时或 5xx 错误时),已缓存的响应可由各种不同的抓取工具共享。如果规则(包括使用通配符的规则)存在冲突,HTTPS 为 443 ,请先阅读我们的 robots.txt 简介。
disallow: /
适用规则:disallow: / ,请在注释前面加上 # 字符。请参阅 REP 的第 2.1 节 。Google 抓取工具会在 robots.txt 文件中查找包含与抓取工具的用户代理相匹配的最具体用户代理的组, 特定于用户代理的组和全局组 (*) 不会合并 。下表总结了 Googlebot 针对各种 HTTP 状态代码处理 robots.txt 文件的方式 。
例如:
user-agent: a
disallow: /c
user-agent: b
disallow: /d
user-agent: e
user-agent: f
disallow: /g
user-agent: h
此示例中有四个不同的规则组 :
用户代理"a"为一组
用户代理"b"为一组
用户代理"e"和"f"为一组
用户代理"h"为一组
有关组的技术说明,重置或断开连接、
用法 :
allow: [path]
sitemap
根据 sitemaps.org 规定 ,
Google 支持以下字段:
user-agent :标识相应规则适用于哪些抓取工具。
disallow: /
适用规则:allow: /$ ,这些指令始终以 directive: [path] 的形式指定, googlebot-news 不会为 Google 图片抓取图片 ,
allow 指令的值区分大小写 。常见格式为 <field>:<value><#optional-comment>
