最后核验:2026-10-23

先看结论

OpenAI 用 OAI-SearchBot 和 GPTBot 两个 robots.txt 标签,让站长自己决定网站内容怎么和 AI 产品配合。官方强调:每个设置彼此独立。一个典型的组合是,允许 OAI-SearchBot 让网站出现在搜索结果里,同时禁止 GPTBot,表示抓取到的内容不应用于训练 OpenAI 的生成式基础模型。

要点速记:

  • 想出现在 ChatGPT 搜索里:在 robots.txt 里允许 OAI-SearchBot,并放行官方发布的 IP 段。官方明确说,选择退出 OAI-SearchBot 的网站不会出现在 ChatGPT 搜索答案中,不过仍可能以导航链接的形式出现。
  • 不想内容被用于训练:对 GPTBot 设 Disallow。
  • ChatGPT-User 另当别论:它由用户操作触发,不用于自动抓取,robots.txt 规则可能不适用,也不用于判断内容能否出现在搜索里。管理搜索和自动抓取,请用 OAI-SearchBot。
  • 改完要等:搜索相关的系统在你更新 robots.txt 之后,调整约需 24 小时。

内容整理自 OpenAI 官方《爬虫概览》,核验日期 2026-10-23。

四个用户代理各管什么

下面按官方文档整理。

OAI-SearchBot:搜索

  • 用途:让网站出现在 ChatGPT 搜索功能的结果里;
  • 官方建议:在 robots.txt 里允许它,同时放行官方公布的 IP 段;
  • 示例 User-Agent(版本号可能变化):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;
  • 抓取 robots.txt 时,User-Agent 里可能多一个 robots.txt 标记,方便站长在日志不含路径时区分对 robots.txt 的请求;
  • 官方 IP 列表:https://openai.com/searchbot.json。

GPTBot:训练

  • 用途:让 OpenAI 的生成式基础模型更有用、更安全;它抓取的内容可能用于训练。禁止 GPTBot,表示该站点内容不应用于训练生成式基础模型;
  • 示例 User-Agent:Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot;
  • 官方 IP 列表:https://openai.com/gptbot.json。

ChatGPT-User:用户触发的访问

  • 用途:用于 ChatGPT 和自定义 GPT 里某些由用户发起的操作。用户向 ChatGPT 或自定义 GPT 提问时,它可能访问某个网页;用户通过 GPT Actions 与外部应用交互的场景也涉及它;
  • 官方说明:它不用于自动抓取网络;由于这些操作由用户发起,robots.txt 规则可能不适用;它不用于判断内容是否出现在搜索里;
  • 完整 User-Agent:Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot;
  • 官方 IP 列表:https://openai.com/chatgpt-user.json。

OAI-AdsBot:广告页面校验

  • 用途:校验提交为 ChatGPT 广告的网页是否安全合规,只访问被提交为广告的页面;官方说明它收集的数据不用于训练生成式基础模型;
  • 完整 User-Agent:Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; OAI-AdsBot/1.0; +https://openai.com/adsbot;
  • 官方 IP 列表:https://openai.com/adsbot.json。

另外,官方提到:如果你的网站同时允许了 OAI-SearchBot 和 GPTBot,OpenAI 可能只用一次抓取的结果满足两种用途,以避免重复抓取。

常见目标怎么写 robots.txt

下面的写法是编者按官方描述整理的示例;robots.txt 本身是通用语法,官方文档没有给出完整文件。

目标一:允许出现在 ChatGPT 搜索,但不让内容用于训练(这是官方举的组合)

User-agent: OAI-SearchBot
Allow: /

User-agent: GPTBot
Disallow: /

目标二:两者都允许

User-agent: OAI-SearchBot
Allow: /

User-agent: GPTBot
Allow: /

目标三:两者都不允许

User-agent: OAI-SearchBot
Disallow: /

User-agent: GPTBot
Disallow: /

这样你的网站不会出现在 ChatGPT 搜索答案里;官方说明,仍可能出现导航链接。

目标四:只开放或只限制部分目录,用通用的路径规则:

User-agent: GPTBot
Disallow: /drafts/
Allow: /

一个容易忽略的细节(通用 robots.txt 规则,见 RFC 9309):爬虫会使用与自己名称最匹配的分组。如果你给 OAI-SearchBot 单独写了分组,它就会按这个分组走,不会再看 User-agent: * 里的规则;反过来,只写了 User-agent: * 的 Disallow: /,会把没有单独分组的爬虫也一并挡掉。改完之后请对照这条规则检查整个文件。

让 OAI-SearchBot 真的进得来

“允许”不等于“进得来”。按官方建议与通用排查思路,可以按下面的顺序检查:

  1. robots.txt 允许:见上文,注意分组匹配规则;
  2. 网络层放行:官方建议允许来自其公布 IP 段的请求。IP 列表是 JSON 文件,包含 creationTime 和 prefixes,其中每个条目是一个 IP 段(例如 ipv4Prefix)。各个文件的 creationTime 不同,说明名单会更新,所以更稳妥的做法是用脚本定期拉取,而不是抄一次就不再管(编者建议);
  3. 检查 CDN、WAF 与机器人防护:robots.txt 写了允许,但安全规则把它拦下,同样抓不到。检查有没有按 User-Agent 或 IP 一刀切地拦截(编者建议);
  4. 看日志:在访问日志里按 OAI-SearchBot 过滤,确认是否有请求、返回码是否正常;对 robots.txt 的请求,User-Agent 里可能带 robots.txt 标记;
  5. 留出时间:官方说明,从 robots.txt 更新到搜索系统调整,约需 24 小时。

验证命令

下面的命令是编者整理的,路径和域名请换成你自己的:

# 1) 线上的 robots.txt 是不是你预期的内容
curl -s https://chatgptcn.com/robots.txt

# 2) 取最新的官方 IP 列表(以 OAI-SearchBot 为例)
curl -s https://openai.com/searchbot.json

# 3) 在访问日志里找 OAI-SearchBot(日志路径按你的服务器而定)
grep "OAI-SearchBot" /var/log/nginx/access.log

# 4) 用官方示例的 User-Agent 测试:是否被按 User-Agent 的规则拦截
curl -I -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot" https://chatgptcn.com/

第 4 条只能发现“按 User-Agent 拦截”的规则;按 IP 拦截的规则,用你自己的机器测不出来,需要看日志里来自官方 IP 段的真实请求。User-Agent 是可以被任何人伪造的,所以不要只靠它来判断请求的来源,需要时请对照官方 IP 段(编者建议)。

常见误区

  • 以为 GPTBot 管搜索:不是。GPTBot 与训练相关,搜索看的是 OAI-SearchBot,两者独立;
  • 以为在 robots.txt 里禁了 ChatGPT-User,就能阻止 ChatGPT 访问你的页面:官方说,这类访问由用户发起,robots.txt 规则可能不适用;
  • 只改了 robots.txt,却没放行 IP 或误被 WAF 拦下:见上文;
  • 改完马上验证:搜索相关系统的调整约需 24 小时;
  • 把 OAI-AdsBot 当成搜索爬虫:它只访问提交为广告的页面,目的是校验广告落地页;
  • 以为允许抓取就会被引用:允许 OAI-SearchBot 是出现在 ChatGPT 搜索里的前提,官方没有承诺具体的展示或排名。内容本身是否清晰、可核验、有来源,才决定它是否值得被引用(编者观点)。

一份检查清单

  • 想让网站出现在 ChatGPT 搜索里:OAI-SearchBot 是不是允许?
  • 对训练的态度:GPTBot 是允许还是禁止?这个选择与搜索无关。
  • ChatGPT-User 是不是被你当成了“可以靠 robots.txt 控制”的爬虫?
  • CDN、WAF 有没有误拦官方 IP 段或 User-Agent?
  • IP 列表是不是定期更新,而不是一次性抄录?
  • 日志里能不能看到 OAI-SearchBot 的请求?

官方来源

核验日期:2026-10-23。


WeAPI 企业模型调用入口,统一管理 Key、用量、日志、额度和团队权限 WeAPI 企业模型调用入口