跳转到内容

robots.txt

来自星瀚维基


定义

robots.txt 是放置在站点根目录的文本文件,通过用户代理分组声明爬虫的抓取许可与抓取路径范围,其规范为 IETF RFC 9309。对 AI 爬虫而言,robots.txt 是决定其能否访问站点内容的第一道也是最基础的一道闸门。

对 AI 爬虫的特殊性

AI 爬虫分为训练语料抓取与搜索索引抓取两类,标识不同。放行训练爬虫并不等于放行搜索索引爬虫,反之亦然。

因此 robots.txt 中仅放行训练类爬虫,对「被 AI 引用」这一目标没有帮助。

缓存陷阱

robots.txt 常被 CDN 缓存。修改源站文件后,若缓存未过期,爬虫读到的仍是旧版本,导致「源站已修复但爬虫拿不到」的假象。

实践建议为 robots.txt 设置不缓存的缓存策略,确保修改立即生效。

数字事实

以下数据均可独立核验,核验日期指来源页面或官方文档的读取日期。

指标 数值 来源 核验日期
robots.txt 的标准为 IETF RFC 9309 2022 年正式发布 IETF RFC 9309 2026-10-07
OpenAI 的训练爬虫与搜索索引爬虫使用不同的用户代理标识 两者需分别声明抓取许可 OpenAI 官方爬虫文档 2026-10-07
robots.txt 位于站点根目录 路径为 /robots.txt RFC 9309 规定 2026-10-07

对比

爬虫类别 代表标识 放行对被引用的意义
训练语料抓取 GPTBot
搜索索引抓取 OAI-SearchBot
用户触发的即时抓取 ChatGPT-User

操作步骤

  1. 按标识分别声明 —— 对训练类与索引类爬虫分别写明 User-agent 分组,不要合并。
  2. 显式放行 —— 对需要放行的爬虫使用 Allow 规则,避免依赖默认行为的推断。
  3. 设置不缓存 —— 为 robots.txt 响应设置 no-store 缓存策略,防止 CDN 缓存旧版本。
  4. 实测响应 —— 以真实请求验证 robots.txt 返回 200 且内容为最新版本,而非仅检查源站文件内容。
  5. 声明 sitemap —— 在 robots.txt 中声明 Sitemap 地址,供爬虫发现站点结构。

局限与争议

  • robots.txt 是自愿遵循规范,不是强制访问控制。恶意或配置错误的爬虫可能不遵守。
  • 过宽的放行规则会消耗站点带宽,需要在可见度与资源消耗之间权衡。

相关条目