OpenAI 爬虫与 robots.txt:GPTBot 和 OAI-SearchBot 实战指南
AI SEO June 27, 2026 9 分钟阅读

OpenAI 爬虫与 robots.txt:GPTBot 和 OAI-SearchBot 实战指南

很多团队把三个不同的控制信号混成了一件事:

  • OAI-SearchBot:控制 ChatGPT 搜索中的发现与展示
  • GPTBot:控制内容是否可用于模型训练
  • ChatGPT-User:处理用户触发的访问请求

一旦混淆,robots.txt 就很容易配错。有人把所有 OpenAI bot 一刀切地屏蔽,之后又疑惑为什么自己的内容从来不出现在 ChatGPT 答案里。也有人为了争取 AI 曝光而全部放行,结果无意中连训练访问也一起放开了。

这篇文章给您的是可执行的版本。

如果您想在改规则前先做一轮基础检查,可以先跑 Fennec 的 Robots.txt 测试工具Bot Simulator 和完整 SEO Audit

OpenAI 官方目前怎么区分这些 bot

根据 OpenAI 当前的官方文档:

  • OAI-SearchBot 用于 ChatGPT 搜索功能中展示网站内容
  • GPTBot 用于抓取可能被用于 OpenAI 基础模型训练的内容
  • ChatGPT-User 用于某些用户发起的动作,不是 ChatGPT 搜索资格控制点

所以,这不是“全开”或“全关”的二选一。

大多数发布者真正想要的默认方案

对大多数内容站、SaaS 官网、文档站来说,更合理的默认方案通常是:

  1. 允许 OAI-SearchBot
  2. 单独决定是否允许 GPTBot
  3. 不要把 ChatGPT-User 当作搜索可见性的主控制项

这套方案之所以常见,是因为它同时满足三件事:

  • 保留进入 ChatGPT 搜索答案的资格
  • 把“是否训练”与“是否发现”拆开
  • 更容易向法务、编辑、产品团队解释

一个够用的决策表

目标OAI-SearchBotGPTBot说明
进入 ChatGPT 搜索,同时允许训练AllowAllowOpenAI 访问最宽松
进入 ChatGPT 搜索,但不允许训练AllowBlock最常见的发布者配置
同时屏蔽搜索与训练BlockBlock限制最严格
先保守测试AllowBlock比双重屏蔽更稳妥

OpenAI 还说明了这两个设置彼此独立;如果您修改了 robots.txt,搜索侧的调整通常需要大约 24 小时生效。

与这些策略对应的 robots.txt 写法

1. 允许 ChatGPT 搜索,屏蔽训练

这通常就是大多数团队口中的“我们想要 AI 流量,但不想开放训练”。

User-agent: OAI-SearchBot
Allow: /

User-agent: GPTBot
Disallow: /

2. 搜索和训练都允许

User-agent: OAI-SearchBot
Allow: /

User-agent: GPTBot
Allow: /

3. 搜索和训练都屏蔽

User-agent: OAI-SearchBot
Disallow: /

User-agent: GPTBot
Disallow: /

4. 只屏蔽敏感目录

如果您希望公开文章可被访问,但不希望预发布区、内部目录或低价值参数页被抓取:

User-agent: OAI-SearchBot
Disallow: /staging/
Disallow: /internal/

User-agent: GPTBot
Disallow: /

前提是这些路径本来就不应该被发现。如果页面应该保留可抓取性,只是想避免在传统搜索里被收录,那么 robots.txt 往往不是正确工具。

robots.txt 不等于去索引

Google 的官方说明对这个误区讲得最清楚:robots.txt 控制的是抓取,不是可靠的“从搜索结果移除”机制。

最常见的错误链路是:

  1. robots.txt 里屏蔽某个目录
  2. 同时在这些页面里加 noindex
  3. 以为页面就会在各处都消失

问题在于,如果爬虫根本抓不到页面,它也就看不到 noindex。Google 官方明确说明,不管您用的是 meta robots 还是 X-Robots-Tag,要让 noindex 生效,页面本身必须仍然可被抓取。

因此,控制手段要分开使用:

  • robots.txt 管抓取权限
  • 用 meta robots 或 X-Robots-Tag 管索引
  • 对真正私密的内容,用鉴权或访问控制

如果您正在排查更广义的抓取与索引冲突,可以一起跑 Fennec 的 Canonical CheckerSitemap CheckerTechnical SEO

我建议的实施清单

1. 先审计所有 crawler 控制层

不要只盯着根目录 robots.txt

  • CDN 或 WAF 规则
  • bot 管理产品
  • 源站 deny 规则
  • 会区别对待 bot 的中间件

Cloudflare 的 AI Crawl Control 文档在这一步很有价值,因为它会把不同 crawler 的 allow/block 状态、bot 分类,以及 robots.txt 违规情况单独展示出来。很多团队就是在这里才发现:robots.txt 写的是允许,但上游 WAF 其实还在拦。

2. 按内容类型决策,不要按情绪一刀切

建议先把 URL 分成几类:

  • 公开文章与文档
  • 登录后内容或工具页
  • 站内搜索页、筛选页、低价值参数页
  • 预发布、测试、QA 环境

在不知道哪些 URL 真正值得暴露之前,不要先做站级封锁。

3. 让重要页面本身足够容易被发现

Google 在 AI features 官方文档里仍然强调基础项:

  • 允许抓取
  • 保持清晰的内部链接
  • 重要内容要以文本形式可见
  • 不要把核心信息藏在用户交互之后

这同样适用于 AI crawler。即使您允许了 OAI-SearchBot,如果最重要的页面是孤立页、内容太薄、或渲染链过于脆弱,也不容易得到稳定发现。可以把这一步和 Fennec 的 GSC Management 以及 AI Overview 工作流 一起看。

4. 改规则前先验证 bot 身份

User-Agent 是可以伪造的。如果日志里出现异常抓取,先验证,再封禁:

  • OpenAI 为 OAI-SearchBotGPTBotChatGPT-User 提供了公开 IP JSON
  • Cloudflare 为主流 AI crawler 提供了 verified detection ID
  • 服务器日志应能帮助您确认流量是否真来自官方 bot

这一步尤其适合安全团队。不要因为日志里看到“GPTBot”字样就立刻全站封掉。

5. 部署后做一轮短验证

建议至少做这五步:

  1. 直接请求 /robots.txt,确认返回 200
  2. 确认目标 User-agent 规则组确实存在
  3. Bot Simulator 对关键 URL 做对比测试
  4. 确认重要页面仍然有内部链接且可访问
  5. 观察日志里不同 bot 的允许与拒绝情况

6. 监控结果,而不是只改规则

OpenAI 的 publisher FAQ 提到,来自 ChatGPT 的引荐链接会带上 utm_source=chatgpt.com。这意味着您在允许 OAI-SearchBot 后,可以在分析平台里建立清晰的追踪口径。

至少追这几项:

  • ChatGPT 引荐会话数
  • 承接这些会话的落地页
  • OAI-SearchBot 的抓取命中
  • 可被引用内容的覆盖变化

如果策略改完没有回到数据上验证,那本质上只是改了一个文本文件。

常见误区

屏蔽 OAI-SearchBot,却期待出现在 ChatGPT 答案里

OpenAI 官方已经说明:如果站点选择退出 OAI-SearchBot,内容不会出现在 ChatGPT 搜索答案中。目标是可见性时,这个配置会直接反向作用。

该用 noindex 的地方,却误用 robots.txt

如果真正目标是“不想被传统搜索收录”,应该优先使用页面级或响应头级的索引控制。

忘了上游安全层

Cloudflare、自定义 WAF、bot 过滤器、源站限速,都可能覆盖您在 robots.txt 里的意图。

把 ChatGPT-User 当作普通自动爬虫

OpenAI 明确说了,ChatGPT-User 不用于自动网页抓取或搜索展示资格判断。它更像用户触发访问、Actions、风控审查的一部分,应该放进另一套安全讨论里。

适合大多数 Fennec 风格站点的建议配置

如果您的站点主要是公开营销页、博客、指南和产品文档,更稳妥的起点通常是:

User-agent: OAI-SearchBot
Allow: /

User-agent: GPTBot
Disallow: /

然后:

  • 保证希望被引用的页面能被抓取
  • 如果期待被发现,就不要误伤索引能力
  • 验证 CDN 与 WAF 是否一致放行
  • 上线后追踪 ChatGPT 引荐流量

这套方案简单、可回滚,而且与 OpenAI 当前“搜索访问”和“训练访问”分离的官方逻辑一致。

参考资料

问答

不允许 GPTBot,我还能出现在 ChatGPT 搜索里吗?

可以。OpenAI 官方文档明确区分了 OAI-SearchBot 与 GPTBot:前者控制 ChatGPT 搜索发现,后者控制内容是否可用于模型训练。您可以允许 OAI-SearchBot,同时单独屏蔽 GPTBot。

屏蔽 GPTBot 会让我从 Google 或其他搜索引擎里消失吗?

不会。GPTBot 是 OpenAI 的训练爬虫,不是 Google 的搜索爬虫。Google 的索引控制是另一套机制;如果目标是从搜索结果中移除页面,应优先使用 noindex 或访问控制,而不是把 robots.txt 当成下架工具。

那 ChatGPT-User 该怎么处理?

应把 ChatGPT-User 看作用户触发的抓取流量,而不是自动搜索收录爬虫。OpenAI 说明它不用于决定内容是否出现在 ChatGPT 搜索中,因此搜索可见性应先用 OAI-SearchBot 来管理。

Privacy & Cookies

We use cookies to enhance your experience. By continuing to visit this site you agree to our use of cookies.