很多站点的 robots.txt 里,关于 AI 爬虫的那几行是跟风写上去的。有人看到新闻说 AI 公司拿网页训练模型,就把能想到的 AI 爬虫全部屏蔽;也有人听说要做 GEO,就一行 Allow 放行所有。
两种做法都没算过账。允许和屏蔽各有代价,而且代价落在不同的地方。
robots.txt 能管住 AI 爬虫到什么程度
先说清楚这个文件的性质。robots.txt 的规则在2022年成为 IETF 标准,编号 RFC 9309。标准原文写明,这些规则不是一种访问授权,不能当作安全措施。它是一份请求,守规矩的爬虫会照做,不守规矩的不会。
标准里有几条细节,和 AI 爬虫设置直接相关。爬虫缓存 robots.txt 的时间一般不应超过24小时,所以改完不会立刻生效。爬虫至少要能解析500 KiB 的内容。最容易出事的是状态码:robots.txt 返回4xx时,爬虫可以访问站点上的任何资源;返回5xx时,爬虫必须假定整个站点都被禁止。
也就是说,一台时不时报500错误的服务器,会在那段时间里对所有守规矩的爬虫关上大门,而站长自己毫不知情。
同一家厂商,不止一个 AI 爬虫
AI 爬虫不是一个东西。同一家厂商往往有几种爬虫,分别服务于训练、检索和用户触发的访问,屏蔽哪一个,后果完全不同。下表只列有官方文档可查的几个。
| 标识 | 所属 | 官方说明的用途 | 屏蔽后的影响 |
|---|---|---|---|
| GPTBot | OpenAI | 抓取可能用于训练基础模型的内容 | 内容不进入训练,不影响在 ChatGPT 搜索中出现 |
| OAI-SearchBot | OpenAI | 在 ChatGPT 的搜索功能中展示网站 | 不会出现在 ChatGPT 搜索答案中,仍可能以导航链接出现 |
| ChatGPT-User | OpenAI | 用户在对话中触发的网页访问 | 官方说明由用户发起,robots.txt 规则可能不适用 |
| Google-Extended | 控制内容能否用于训练 Gemini 模型 | 不影响网站在 Google 搜索中的收录和排名 | |
| Baiduspider | 百度 | 百度搜索的抓取程序 | 可能在百度搜索中得不到收录和展现 |
OpenAI 的文档写得很明确:这几项设置彼此独立,站点可以放行 OAI-SearchBot 以出现在搜索结果里,同时禁止 GPTBot。Google-Extended 则没有独立的 HTTP 请求 UA,抓取仍由 Google 已有的爬虫完成,它只是 robots.txt 里的一个控制标记。
国内平台的情况要单独说。截至写作时,我们在豆包、通义千问、腾讯元宝、Kimi、DeepSeek 的官方渠道里,没有找到像 OpenAI 那样逐个列出爬虫标识和用途的公开文档。百度有百度蜘蛛的官方说明,但没有把服务于文心一言的抓取单独拆出一个标识。
这意味着在国内平台上,做不到「只屏蔽训练、保留检索」这种精细设置。屏蔽百度蜘蛛,失去的是百度搜索的收录,而不仅仅是某一种 AI 用途。
屏蔽 AI 爬虫的影响:训练和检索要分开算
屏蔽训练类爬虫的站点越来越多。Longpre 等人在 NeurIPS 2024 发表的研究审计了约14000个 AI 训练语料背后的网站域名,发现在2023到2024这一年里,来自网站自身的数据限制急剧增加,C4 语料中最活跃维护的关键来源有28%以上被完全限制使用;若按服务条款中的抓取限制计算,C4 有45%受到限制。
这组数字说明屏蔽是一种常见选择,并不说明它对每个站点都划算。账要分开算。屏蔽训练爬虫,影响的是未来模型版本里关于这个站点的知识;屏蔽检索爬虫,影响的是现在的 AI 答案能不能实时引用这个站点。对一个希望被 AI 推荐的品牌来说,后者的代价立刻就会出现,前者的代价要等模型换代才看得出来。
内容本身就是产品的站点,比如媒体和数据库,屏蔽训练爬虫有它的道理。以获客为目的的企业官网,多数时候没有理由屏蔽检索类爬虫。
屏蔽之前,先想清楚要防的是什么
决定屏蔽 AI 爬虫的理由,通常是下面三种之一,而 robots.txt 只对其中一种真正有效。
第一种是不希望内容被拿去训练模型。这是 robots.txt 能处理的情况,前提是对方公开了训练爬虫的标识并承诺遵守,比如上表里的 GPTBot 和 Google-Extended。
第二种是担心服务器负载。robots.txt 只是请求,挡不住不守规矩的爬虫,负载问题更可靠的办法是在服务器或 CDN 上按来源限流,并且对百度这类公布了验证方法的爬虫做身份核验后再放行。
第三种是不希望付费内容或内部资料被抓走。这种情况 robots.txt 完全帮不上忙,RFC 9309 已经说明它不是访问授权。真正需要保护的内容,应当放在登录或权限控制之后。
把三种理由分开,常常会发现要写进 robots.txt 的规则比原先想的少得多。
允许 AI 爬虫之后,为什么还是抓不到
robots.txt 里放行,是必要条件而不是充分条件。常见的拦截发生在别处:CDN 的机器人防护规则、防火墙的默认策略、针对陌生 UA 的限流。它们在浏览器里完全看不出来,因为浏览器用的是正常的 UA。
判断的办法只有一个,就是用各家爬虫的 UA 实际发起请求,记录返回的状态码。我们的官网 AI 可读性体检第一步做的就是这件事,读一遍 robots.txt 不算测试。
还有一个不讨好的事实:状态码正常,也不代表爬虫看到了内容。页面主体要是得靠 JavaScript 才渲染出来,爬虫拿到的可能是一个空壳。放行只解决了能不能进门,进门之后能读到什么,是另一项检查。
一份偏保守的设置思路
对以获客为目的的企业官网,比较稳妥的思路是这样的。默认放行所有爬虫,只对后台、搜索结果页、购物车这类没有内容价值的路径写 Disallow。有明确理由不愿内容进入训练的,单独对 GPTBot、Google-Extended 这类有官方说明的训练标记写 Disallow,检索类爬虫保持放行。不要照抄网上流传的国内 AI 爬虫名单,找不到官方说明的标识,写了也无法确认它是否生效。
改完之后等至少一天,再用爬虫 UA 实际请求一次,确认结果和预期一致。
另一个常被忽略的信息源是服务器访问日志。按 UA 把最近一段时间的访问记录筛出来,能看到哪些爬虫真的来过、访问了哪些路径、拿到了什么状态码。日志里从没出现过的爬虫,讨论要不要屏蔽它意义不大;频繁出现却总是拿到403的爬虫,才是最该先查的那一个。
参考来源
- Koster, M., Illyes, G., Zeller, H., & Sassman, L. (2022). RFC 9309: Robots Exclusion Protocol. IETF.
- OpenAI (2026 访问). Overview of OpenAI Crawlers. OpenAI 开发者文档.
- Google (2026 访问). List of Google's common crawlers. Google Search Central.
- 百度搜索资源平台 (2022). 搜索问答剧场【五】“百度蜘蛛”全面解析. 百度搜索学堂.
- 百度搜索资源平台 (2017). 【官方说法】只需两步,正确识别百度蜘蛛(User-Agent). 百度搜索学堂.
- Longpre, S., Mahari, R., Lee, A., Lund, C., Oderinwale, H., et al. (2024). Consent in Crisis: The Rapid Decline of the AI Data Commons. NeurIPS 2024 Datasets and Benchmarks Track.