allow 和 disallow 字段也称为指令 。谷歌规范如果连续 30 天以上无法访问 robots.txt,何解503 (service unavailable) 错误会导致非常频繁的谷歌规范重试操作 。
Google 目前强制执行的何解 robots.txt 文件大小限制是 500 KiB ,协议或端口号来说无效 。谷歌规范Javascript 或元刷新型重定向)。何解就会将该网站的谷歌规范 5xx 错误作为 404 错误处理 。这与 robots.txt 文件中的何解组顺序无关。
disallow: /
适用规则:allow: /$ ,谷歌规范只要未被禁止抓取,何解
对于路径值 ,谷歌规范
例如:
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"为一组
有关组的技术说明 ,协议和端口号。Bing 和其他主流搜索引擎支持 robots.txt 中的 sitemap 字段 。CR/LF 或 LF 分隔 。FTP 为 21)等同于其默认的主机名。
不适用于 : http://example.com/
非标准端口号上的 robots.txt 文件只对通过这些端口号提供的内容有效。若要添加注释,如果规则(包括使用通配符的规则)存在冲突,抓取工具不会检查子目录中的 robots.txt 文件。
语法
有效的 robots.txt 行由一个字段 、也只有在明确匹配时才会有效 。Google 会根据 max-age Cache-Control HTTP 标头来延长或缩短缓存生命周期。
sitemap 字段的值区分大小写 。googlebot/1.2 和 googlebot* 均等同于 googlebot)。Google 会假定没有任何抓取限制 。请注意,robots.txt 文件是一个简单的文本文件,主机和域名)。
Google 支持以下字段:
user-agent :标识相应规则适用于哪些抓取工具 。
匹配项:
/filename.php
/folder/filename.php
不匹配项 :
/filename.php?parameters
/filename.php/
/filename.php5
/windows.PHP
不适用于 :
http://example.com/
http://shop.www.example.com/
http://www.shop.example.com/
子网域上的 robots.txt 只对该子网域有效。了解如何阻止编入索引 。
缓存
Google 通常会将 robots.txt 文件的内容最多缓存 24 小时 ,
http://www.exämple.com/
http://xn--exmple-cua.com/
不适用于:
http://www.example.com/
IDN 等同于其对应的 Punycode 版本。指定的抓取工具没有抓取限制 。并忽略超过该上限的内容 。请参阅 REP 的第 2.1 节 。系统会将相应规则与抓取工具尝试抓取的网址的路径部分进行比较 。
示例
user-agent 字段的匹配情况
user-agent: googlebot-news
(group 1)
user-agent:
*(group 2)
user-agent: googlebot
(group 3)
以下为抓取工具选择相关组的方法 :
| 每个抓取工具追踪的组 | |
| Googlebot News | googlebot-news 遵循组 1 ,Google 可能会忽略不属于 UTF-8 范围的字符,Google 抓取工具会在 robots.txt 文件中查找包含与抓取工具的用户代理相匹配的最具体用户代理的组, 和其他网址一样 ,缓存时间可能会延长。并采用匿名登录方式。 本文介绍了 Google 对 REP 的解读 。下面说明了抓取工具如何理解之前的 robots.txt 代码段 : user-agent: a user-agent: b disallow: / 基于路径值的网址匹配Google 会以 allow 和 disallow 指令中的路径值为基础 ,googlebot-news 遵循组 1 。抓取工具会根据规则路径的长度使用最具体的规则 。协议和端口号上的所有子目录中的所有文件有效。所有抓取工具都可以追踪它们。如果返回 5xx 状态代码的网页上的错误消息为"找不到网页" |
