最后核验: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 真的进得来
“允许”不等于“进得来”。按官方建议与通用排查思路,可以按下面的顺序检查:
- robots.txt 允许:见上文,注意分组匹配规则;
- 网络层放行:官方建议允许来自其公布 IP 段的请求。IP 列表是 JSON 文件,包含
creationTime和prefixes,其中每个条目是一个 IP 段(例如ipv4Prefix)。各个文件的creationTime不同,说明名单会更新,所以更稳妥的做法是用脚本定期拉取,而不是抄一次就不再管(编者建议); - 检查 CDN、WAF 与机器人防护:robots.txt 写了允许,但安全规则把它拦下,同样抓不到。检查有没有按 User-Agent 或 IP 一刀切地拦截(编者建议);
- 看日志:在访问日志里按
OAI-SearchBot过滤,确认是否有请求、返回码是否正常;对 robots.txt 的请求,User-Agent 里可能带robots.txt标记; - 留出时间:官方说明,从 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的请求?
官方来源
- Overview of OpenAI Crawlers:四个用户代理的用途、User-Agent、独立性和 24 小时生效说明
- OAI-SearchBot 官方 IP 列表
- GPTBot 官方 IP 列表
- ChatGPT-User 官方 IP 列表
- GPT Actions 介绍:ChatGPT-User 用于用户通过 GPT Actions 与外部应用交互的场景
核验日期:2026-10-23。