Check if your brand is visible to AI Search

GPTBot 详解:OpenAI 的网络爬虫及其对您网站的意义

关于 GPTBot 用户代理、…

Published: 12 7 月, 2026 - Updated: 13 7 月, 2026

2 分钟读取

有问题?

不确定您的 robots.txt 是否阻碍了 ChatGPT 的引用?

如果您最近检查过服务器日志,可能已经看到 GPTBot 出现了。很少有人注意到它那更安静的兄弟 OAI-SearchBot 就排在旁边,负责不同的工作。混淆这两者是 AI robots.txt 设置中最常见的错误,这正悄悄地导致网站失去 ChatGPT 引用,而无人知晓原因。

这两个爬虫的分工非常明确:训练与搜索。如果在 robots.txt 中搞错了这条界线,您可能会失去那些从未打算放弃的引用。


GPTBot 对比 OAI-SearchBot:两种不同的 OpenAI 爬虫

GPTBot 和 OAI-SearchBot 是分工明确的独立爬虫:GPTBot 收集内容用于训练 OpenAI 的模型,而 OAI-SearchBot 则对页面进行索引,以便 ChatGPT 在搜索回答中检索和引用。将它们视为同一个 “OpenAI 机器人” 是大多数 robots.txt 文件出错的地方。

OpenAI 运行着一小系列用户代理,训练与搜索之间的划分是刻意为之的。根据 OpenAI 官方的爬虫文档,每个设置都是独立的:网站管理员可以允许 OAI-SearchBot 出现在搜索结果中,同时禁止 GPTBot 以防止内容被用于模型训练。这正是大多数 SEO 团队忽略的核心策略难题。

实际上有四个值得了解的 OpenAI 代理,而不仅仅是两个:

  • GPTBot:为 OpenAI 训练流水线提供数据的大规模爬虫。
  • OAI-SearchBot:专门为 ChatGPT 的搜索和引用功能索引页面。
  • ChatGPT-User:仅当真实用户要求 ChatGPT 实时获取特定 URL 时才会触发。
  • OAI-AdsBot:检查提交给 ChatGPT 的广告落地页是否符合政策。它仅访问作为广告提交的页面,且根据 OpenAI 的文档,其数据也不用于模型训练。
2x2 矩阵,根据爬取触发类型以及是否用于 AI 模型训练,对 OpenAI 的四个爬虫(GPTBot、OAI-SearchBot、ChatGPT-User 和 OAI-AdsBot)进行分类。

大多数在 2023–2024 年发布的指南仅提到 GPTBot,因为当时 OAI-SearchBot 尚未存在。如果您的 robots.txt 自那时起就没动过,很有可能它正悄悄屏蔽着当今负责让您获得 ChatGPT 引用的那个爬虫。


每个爬虫的作用及其重要性

GPTBot 收集可能用于训练和改进 OpenAI 生成式 AI 网络内容。OAI-SearchBot 构建实时索引,为 ChatGPT 的搜索和引用功能提供支持,且完全不用于训练。实际区别在于:一个影响模型长期的 认知,另一个影响您 当下 是否显示。

流程图对比了 GPTBot 的训练流水线与 OAI-SearchBot 的引用流水线,展示了 robots.txt 如何独立屏蔽每个 OpenAI 爬虫。

GPTBot(当前用户代理:GPTBot/1.4,完整字符串:Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot)的存在仅为了给 OpenAI 的训练流水线提供数据。屏蔽它,您的内容将不会训练未来的模型。它对 ChatGPT 搜索没有影响;那是另一个独立的系统。

OAI-SearchBot(当前用户代理:OAI-SearchBot/1.4;其完整字符串比 GPTBot 的更长,使用了 Chrome 风格的前缀:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot)更年轻、更具针对性,其爬取是为了保持实时回答的新鲜索引。屏蔽它并不能保护您的知识产权免受训练,而是会直接将您从 ChatGPT 的回答界面中移除。如果您的目标是 AI 搜索可见性,这才是最重要的爬虫。这两个代理的版本号都会定期更改,因此请匹配 GPTBotOAI-SearchBot 子字符串,而不是固定在某个精确的版本字符串上。

ChatGPT-User(用户代理:ChatGPT-User/1.0)是个特例。它根本不是自动化爬取。只有当有人在 ChatGPT 中输入您的 URL 并要求模型读取它,或者通过 GPT Actions 与自定义 GPT 交互时,它才会触发。OpenAI 对此态度明确:由于这些获取是由用户发起的,robots.txt 规则可能并不像对待自动化爬虫那样适用于它们。屏蔽它很少有用,这可能会破坏用户明确要求的获取操作,而且它也不是控制搜索退出的关键点;那是 OAI-SearchBot 的工作。

爬虫用户代理(核心字符串)目的是否用于训练?是否影响 ChatGPT 引用?
GPTBotGPTBot/1.4用于模型训练的大规模爬取否(仅间接影响)
OAI-SearchBotOAI-SearchBot/1.4实时搜索索引没有是,直接影响
ChatGPT-UserChatGPT-User/1.0用户触发的页面获取没有否,robots.txt 甚至可能不适用
OAI-AdsBotOAI-AdsBot/1.0检查广告落地页的政策合规性没有没有

结论:这些是独立的杠杆,而非单一开关。分别操作它们,您就能控制 OpenAI 生态系统与您网站的交互方式。


robots.txt 配置:允许一个,屏蔽另一个

您可以在同一个 robots.txt 文件中使用独立的 User-agent 区块分别配置 GPTBot 和 OAI-SearchBot。允许其中一个并禁止另一个不会影响对方的行为。这是大多数内容驱动型网站在 2026 年应运行的配置:保持引用资格,退出训练。

推荐给大多数发布者的设置,在 ChatGPT 搜索中可见,退出训练:

# Allow ChatGPT search citations
User-agent: OAI-SearchBot
Allow: /
# Allow user-triggered fetches (someone pastes your URL into ChatGPT)
User-agent: ChatGPT-User
Allow: /
# Opt out of training data collection
User-agent: GPTBot
Disallow: /

最大化 AI 可见性:允许两个爬虫,接受内容也可能被用于训练:

User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /

完全退出:无引用,无训练,通常保留给付费墙或受监管的内容:

User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Disallow: /
User-agent: ChatGPT-User
Disallow: /

混合型,路径级控制。 许多企业网站不会做全选或全不选的决定。他们开放博客和文档,并锁定账户区域和内部工具:

User-agent: GPTBot
Disallow: /account/
Disallow: /checkout/
Disallow: /internal-kb/
Allow: /
User-agent: OAI-SearchBot
Disallow: /account/
Disallow: /checkout/
Disallow: /internal-kb/
Allow: /

在发布这些配置之前,有几件事值得了解:

  • robots.txt 是一种 请求,而非强制机制。行为良好的爬虫会遵守它,但它本身不具备法律效力。
  • 预计 OpenAI 的系统大约需要 24 小时 才能在搜索行为中反映出 robots.txt 的更改。
  • 目录级规则仅在正确的 User-agent 区块下才有效。在错误的代理下放置一条多余的 Allow: / 会违背您的意图。

验证:IP 范围和爬取模式

您可以通过对照 OpenAI 公布的 IP 范围来验证声称为 GPTBot 或 OAI-SearchBot 的请求,而不能仅信任用户代理字符串。用户代理可以伪造;IP 范围则难得多。OpenAI 为每个代理发布了机器可读的 JSON 文件,专门用于自动化此类检查。

公布的范围位于可预见的 URL:

  • openai.com/gptbot.json (GPTBot 的范围)
  • openai.com/searchbot.json (OAI-SearchBot 的范围)
  • openai.com/chatgpt-user.json (ChatGPT-User 的范围)
OpenAI 爬虫用户代理和 IP 范围 JSON 文件的参考表,涵盖 GPTBot、OAI-SearchBot、ChatGPT-User 和 OAI-AdsBot,显示哪些爬虫用于 AI 模型训练。

实际的验证工作流如下:

  1. 在服务器访问日志中搜索相关子字符串(GPTBotOAI-SearchBotChatGPT-User)。
  2. 从每个匹配的日志行中提取请求 IP。
  3. 将该 IP 与匹配的 JSON 范围文件进行交叉比对。
  4. 标记任何声称是 OpenAI 爬虫但不匹配公布范围的请求。那是伪造的或无关的机器人,而非 OpenAI。

日志审计中容易出错的一个细节:当 GPTBot 或 OAI-SearchBot 获取 robots.txt 文件本身时,OpenAI 的文档指出它们可能会在用户代理字符串中附加一个额外的 robots.txt 标记,以便没有完整路径数据的日志仍能将 robots.txt 检查与常规页面获取区分开来。如果您仅通过用户代理进行过滤,请考虑该标记,否则可能会重复计数或错误分类请求。

关于爬取模式:OpenAI 表示,如果网站同时允许 GPTBot 和 OAI-SearchBot,它可能会将单次爬取的结果复用于两个目的,而不是对相同页面爬取两次。两个代理具有相同的爬取足迹并不一定意味着进行了两次独立的访问。不要将爬取量视为衡量哪个代理 “更具侵略性” 的指标。请检查实际访问日志的代理,并将这些 IP 与公布的范围进行匹配。


对 ChatGPT 引用的影响

屏蔽 OAI-SearchBot 会将您的内容从 ChatGPT 的搜索回答中移除,即使 GPTBot 已经在其他地方爬取并训练过这些页面。根据 OpenAI 的文档,退出的网站不会出现在引用的搜索回答中,尽管它仍可能作为普通的导航链接出现。退出影响的是引用级的收录,而非每一次提及。这打破了一个旧有的假设:“如果 AI 已经了解我的网站,我就没问题了。” 在 2026 年,认知与引用是独立的系统。

一些值得内化的后果:

  • 网站可能被模型 “认知”,但在搜索回答中仍然不可见。 训练数据和实时引用索引互不通信。
  • 允许 GPTBot 与您今天是否被引用没有关系。 训练影响的是未来的模型版本,而非本周的 ChatGPT 搜索结果。
  • 继承自 2023 年模板的 robots.txt 文件是导致引用缺失的常见且隐蔽的原因。 在编写这些文件时,OAI-SearchBot 尚未存在,因此它经常被早于它出现的 “屏蔽所有 OpenAI 机器人” 的统括规则所拦截。
  • 路径级屏蔽仍然适用。 如果 OAI-SearchBot 在全站范围内被允许,但在您最优质的长篇内容上被屏蔽,那么无论内容多么出色,都不会出现在 ChatGPT 的回答中。

如果您的内容策略依赖于 AI 搜索可见性(对于 2026 年的大多数竞争领域来说,情况确实如此),那么 OAI-SearchBot 的访问权限就不是可选的。这一行配置决定了您最优秀的作品是否有机会被引用。


检查您自己的 AI 可见性设置

阅读清单是一回事,了解您自己的网站是否配置正确则是另一回事。配置错误的 robots.txt 规则、遗留的 “屏蔽所有 AI” 模板以及路径级的错误非常普遍,凭空猜测并非可靠策略。

ICODA 的 AI 可见性工具 专门检查这一点:您的网站是否可被 OAI-SearchBot 和其他决定 AI 引用资格的爬虫访问,以及差距在哪里。如果 GPTBot 和 OAI-SearchBot 在您的 robots.txt 文件中一直被混为一谈,那么花五分钟确认您没有意外退出想要的引用是非常值得的。


常见问题

不会,屏蔽 GPTBot 对 Google 没有任何影响。OpenAI 和 Google 运行着完全独立的爬虫和系统,因此 GPTBot 的禁止规则不会触及您的排名。唯一会让您受损的情况是,如果您使用了懒惰的 User-agent: * 屏蔽,将 Googlebot 与 GPTBot 一起拦截了。逐行检查您的 robots.txt —— 如果 GPTBot 有自己专用的区块,您就没问题。

robots.txt 没有法律效力,这确实是真的,它是一个请求,而不是一把锁。但在实践中,OpenAI 一直遵守它,您可以根据其公布的 IP 范围验证实际的 GPTBot 或 OAI-SearchBot 流量,以确认它们尊重您的规则。真正的风险不是 OpenAI 忽略 robots.txt,而是其他机器人伪造用户代理字符串,以绕过仅检查名称的过滤器。如果您想要确定性,请检查 IP,而不仅仅是用户代理。

不能,现在屏蔽它只能停止未来的爬取,无法抹去已经融入训练模型的内容。训练是周期性进行的,因此 GPTBot 在您屏蔽之前抓取的任何内容仍可能在数月或更长时间内体现在模型行为中。如果您的目标是 “将我的旧内容从 ChatGPT 的训练数据中移除”,robots.txt 无法追溯实现这一点。它能做的是阻止新内容在未来进入。

可能不需要,而且屏蔽它通常会适得其反。ChatGPT-User 仅在真实的人将您的 URL 粘贴到 ChatGPT 并要求其读取页面时才会触发,因此屏蔽它只会破坏某人明确请求的获取操作。它与训练无关,也不是搜索引用的退出杠杆,那是 OAI-SearchBot 的工作。请根据您实际想要控制的内容,将屏蔽精力集中在 GPTBot 或 OAI-SearchBot 上。

可以,这正是这两个爬虫的设计初衷。禁止 GPTBot 以退出训练,并单独允许 OAI-SearchBot,以便您的页面保持在 ChatGPT 搜索回答中的引用资格。这不是一个开关,它们是同一个 robots.txt 文件中的独立设置。权衡之处在于,您需要信任 OpenAI 的隔离机制在实践中确实有效,虽然 OpenAI 声称这两个系统互不重叠,但您是在依赖他们的承诺。

分享

给文章评分

Rate this post