使用方法
- 选择适用于所有爬虫的默认策略,并添加不希望它们抓取的路径,例如 /cart/ 或 /search。
- 如果特定爬虫需要不同规则,请为其添加组,或使用预设。
- 添加 XML 站点地图的完整 URL。
- 下载 robots.txt 并上传到网站根目录,使其可通过 https://your-domain/robots.txt 访问。
工作原理
robots.txt 是放在主机根目录下的纯文本文件,用于告知爬虫可以抓取哪些 URL。它已标准化为 RFC 9309。文件由多个组构成:每组以一条或多条 User-agent 行开头,后跟 Allow 和 Disallow 规则。爬虫会使用与自身名称最具体匹配的组;如果没有匹配项,则使用 * 组;它不会将自身对应的组与 * 组合并使用。在同一组内,匹配规则中最具体(最长)的规则优先;如果规则长度相同,则 Allow 优先。
路径从 URL 路径的开头开始匹配,并区分大小写。* 可匹配任意字符序列,$ 表示 URL 的结尾。空的“Disallow:”表示不屏蔽任何内容。本工具中不以 / 或 * 开头的行会被忽略并标记出来,因为爬虫也会忽略这些行。Sitemap 行必须使用绝对 URL,并且适用于整个文件,而非某个组。
重要限制:robots.txt 控制的是抓取,而非索引。即使某个 URL 被禁止抓取,如果其他页面链接到它,它仍可能出现在搜索结果中,只是不带描述。若要让页面不出现在搜索结果中,请允许抓取,并改用 noindex robots meta 标签。每个主机和协议都需要单独的文件,因此 blog.example.com 需要单独的 robots.txt。
示例
屏蔽购物车和站内搜索的商店
允许抓取所有内容,然后禁止抓取 /cart/、/checkout/ 和 /search。添加 Sitemap: https://example.com/sitemap.xml。商品页和分类页仍可抓取。
预发布网站
选择“禁止抓取所有内容”。遵守规则的爬虫随后会跳过该网站,但也请为预发布环境设置密码,因为 robots.txt 只是一项请求。
选择退出 AI 训练爬虫
AI 爬虫预设会为 GPTBot、CCBot、Google-Extended、ClaudeBot 和 PerplexityBot 添加一个包含 Disallow: / 的组。Googlebot 等搜索爬虫仍会遵循 * 组。
常见问题
robots.txt 应放在哪里?
放在主机的根目录下,使其可通过 https://example.com/robots.txt 访问。子文件夹中的 robots.txt 会被忽略。
Disallow 会将页面从搜索结果中移除吗?
不一定。Disallow 会阻止抓取,但如果该 URL 被其他地方链接,仍可能出现在搜索结果中。请使用 noindex meta 标签或 HTTP header,并允许抓取该页面,以便爬虫读取。
所有机器人都会遵守 robots.txt 吗?
不会。是否遵循 robots.txt 是自愿的。主要搜索引擎和许多 AI 爬虫表示会遵循它,但爬取工具和恶意机器人可能会忽略它。
Google 会使用 Crawl-delay 吗?
不会,Google 会忽略 Crawl-delay。包括 Bing 在内的其他一些爬虫会读取此规则。Google 会根据服务器的响应自动调整抓取频率。
应该屏蔽 CSS 和 JavaScript 文件吗?
不应该。搜索引擎会渲染页面,需要这些文件来理解页面布局和内容。屏蔽这些文件可能导致爬虫看到的页面显示异常。
隐私
文件在浏览器中生成。您的规则和 URL 不会发送到任何地方,也不会被存储。