先讲答案:在 robots.txt 封 OpenAI 的爬虫 GPTBot,只会阻止 OpenAI 把你的网站内容用于训练模型,不会令你的网站从 ChatGPT 的搜索答案消失。负责搜索的是另一支爬虫 OAI-SearchBot。OpenAI 的官方文件写得很直接:两个设置互相独立,网站管理员可以放行 OAI-SearchBot 以出现在搜索结果,同时封锁 GPTBot 以表明内容不可用于训练。
真正令网站从 ChatGPT 消失的,是封错了一支,或者三支一并封掉。这一篇把三支爬虫逐支分清楚,再给四种取态的 robots.txt 写法。全部 AI 爬虫的名单、CDN 误封排查与日志核实方法,工具页的《AI 爬虫完整指南》已经写了,这里不重复。
三支 OpenAI 爬虫各自做什么
OpenAI 用三个不同的 user-agent 访问网站,各有各的用途。以下全部引自 OpenAI 的爬虫说明页。
GPTBot:训练。OpenAI 写明它「用来抓取可能用于训练生成式 AI 基础模型的内容」,封了它等于表明网站内容不应用于训练。它是三支之中最多人听过的一支,也是最多人封错的一支。要留意「GPTBot」这个名称在搜索结果会撞上一间名字相近的公司,所以本文第一次提到时都写「OpenAI 的爬虫 GPTBot」。
User-agent 范例:Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot
OAI-SearchBot:搜索收录。OpenAI 写明它「用来让网站出现在 ChatGPT 搜索功能的结果」,并明确指出:选择退出 OAI-SearchBot 的网站不会在 ChatGPT 搜索答案中显示,只可能以导览链接形式出现。OpenAI 建议在 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
ChatGPT-User:用户即时开启链接。当用户在 ChatGPT 或自订 GPT 提问,它可能以这个 user-agent 即时造访某个网页。OpenAI 写明它不会自动爬取整个网站;因为动作由用户发起,robots.txt 规则未必适用;而且它不决定内容能否出现在搜索,管理搜索要用 OAI-SearchBot。
User-agent 范例:Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot
一句总结:GPTBot 管未来的模型知道什么,OAI-SearchBot 管你今天有否出现在答案里,ChatGPT-User 是用户点开你的链接时派来读页的程序。
封错一支会发生什么事
把三支混为一谈,最常见的结果有两种。
第一种是想封训练却封了搜索。网站管理员听说「AI 会拿内容去训练」,一口气把三支都封掉。结果是客户在 ChatGPT 问「香港哪一间公司做网页寄存」时,这个网站不会出现在答案里,而竞争对手会。训练的部分确实封住了,但代价是即时的曝光。
第二种是以为封了搜索却没有封。有些网站只封 ChatGPT-User,以为这样就不会被 ChatGPT 引用。按 OpenAI 的说明,ChatGPT-User 不决定搜索收录,而且用户发起的动作未必受 robots.txt 约束,所以这样写等于什么都没有封。
还有一个时间差要知道:OpenAI 写明,robots.txt 改动后,搜索系统大约需要 24 小时才会调整。改完当天看不到变化是正常的。
四种取态的 robots.txt 写法
先讲一条 robots.txt 的规则,很多自我封锁都由它而起。按 Google 的 robots.txt 规格说明,每支爬虫只会套用一组规则,即 user-agent 最相符的那一组;爬虫专属的规则组与 * 通用组不会合并。换言之,如果你的 robots.txt 有 User-agent: * 加 Disallow: /,而没有为 OAI-SearchBot 另开一组,OAI-SearchBot 就会套用通用组,整个网站被封。反过来,只要为某支爬虫另开一组,它就只看自己那一组。
以下四段可以直接复制。
取态一:全开。训练与搜索都放行,适合希望尽量被 AI 引用的公司网站与内容网站。
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
取态二:只挡训练。保留 ChatGPT 搜索曝光,但不让内容进入训练。对大多数公司网站来说,这是较稳妥的选择。
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
取态三:全挡。训练、搜索、用户开启全部拒绝。只适合确定不想在 ChatGPT 出现的网站,例如内部系统或会员专区。要知道 ChatGPT-User 由用户触发,OpenAI 文件写明 robots.txt 未必适用,所以这一组只是表明立场。
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Disallow: /
User-agent: ChatGPT-User
Disallow: /
取态四:只开搜索。只放行 OAI-SearchBot,其余两支拒绝。与取态二的分别只在 ChatGPT-User,实际效果接近取态二。
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Disallow: /
无论选哪一种,都要确认这几组写在 User-agent: * 那一组之外,而且 robots.txt 本身可以用浏览器直接开启。决定放行之后,可以再在根目录加一份 llms.txt,帮模型更快掌握网站重点,写法见工具页的《llms.txt 完整教学》,应否加与怎样验见本系列的《llms.txt 是什么?》。
其他爬虫的分工也是一样的逻辑
训练与搜索分开两支,是各间模型商的共同做法。以下只列官方文件有说明的几支,全名单见工具页的《AI 爬虫完整指南》。
| 公司 | 训练用途 | 搜索或用户用途 | 官方说明的要点 |
|---|---|---|---|
| Anthropic | ClaudeBot | Claude-SearchBot、Claude-User | 三支都尊重 robots.txt;封 ClaudeBot 表示日后内容不纳入训练 |
| Perplexity | 无 | PerplexityBot、Perplexity-User | PerplexityBot 只做搜索,不用于训练基础模型;Perplexity-User 由用户触发,一般不理会 robots.txt |
| Google-Extended | Googlebot | Google-Extended 只是 robots.txt 的控制项,没有独立爬虫;封它不影响 Google 搜索收录与排名 | |
| Apple | Applebot-Extended | Applebot | 封 Applebot-Extended 的网页仍可出现在搜索结果 |
Google 那一行值得多讲一句。Google 搜索中心写明,AI 摘要与 AI 模式的内容控制走的是 Googlebot 的 robots.txt 与 nosnippet 一类标记;Google-Extended 管的是内容可否用于训练 Gemini 模型,以及可否作为 Gemini 应用与 Vertex AI 回答时的参考依据(grounding)。封了 Google-Extended 不会令网站从 AI 摘要消失,想控制 AI 摘要要用另一套方法。
香港网站特别要留意:CDN 可能已经替你封了
robots.txt 写得再开放,请求若在 CDN 或防火墙一层已被挡下,爬虫根本到不了你的服务器。Cloudflare 在 2025 年 7 月 1 日宣布,新加入的域名在设置时会被问到是否允许 AI 爬虫,预设立场由放行改为由网站管理员控制;Cloudflare 同时指出,自 2024 年 9 月推出一键封锁以来,已有超过一百万客户选择封锁 AI 爬虫。如果你的网站放在 Cloudflare 一类服务后面,有可能在不知情之下已经把 OAI-SearchBot 挡在门外,要到服务商的控制台确认一次。
怎样验自己有否封错
三个方法,由浅入深。
- 看 robots.txt。开启
https://你的域名/robots.txt,找有否GPTBot、OAI-SearchBot、ChatGPT-User这三组,以及User-agent: *那一组有否Disallow: /。 - 查服务器日志。搜索上面三个 user-agent 字符串,看状态码:200 是正常,403 是被挡。要核实来源真伪,可以对照 OpenAI 公布的 IP 清单(gptbot.json、searchbot.json、chatgpt-user.json)。若网站前面有 CDN,被 CDN 挡下的请求不会出现在来源服务器日志,要到 CDN 的控制台查。
- 用免费工具扫一次。AEO Auditor 会一并检查 robots.txt、AI 爬虫访问与结构化数据,输入网址约 30 秒出结果。
封锁与放行都是正当的选择,问题只在于有否封错对象。分清楚三支爬虫之后,再按自己的取态写 robots.txt,就不会出现「以为只封了训练,其实把客户也封了」的情况。爬虫放行只是第一步,之后内容怎样写才会被 AI 引用,见本站较早的《GEO 指南》。
这里的 AEO 指答案引擎优化(Answer Engine Optimization),与海关的认可经济营运商计划无关。
常见问题
封锁 GPTBot 会否令网站从 ChatGPT 消失?
不会。GPTBot 负责收集训练内容,网站能否出现在 ChatGPT 的搜索答案由 OAI-SearchBot 决定。OpenAI 写明两个设置互相独立。
改动 robots.txt 后 ChatGPT 搜索何时调整?
OpenAI 写明,robots.txt 改动后,搜索系统大约需要 24 小时才会调整。
只封 ChatGPT-User 能否阻止 ChatGPT 引用网站?
不能。按 OpenAI 的说明,ChatGPT-User 不决定搜索收录,而且由用户发起的动作未必受 robots.txt 约束。管理 ChatGPT 搜索要用 OAI-SearchBot。
更多问题见工具页的常见问题页。
资料来源
查阅日期:2026-10-17
- OpenAI《Overview of OpenAI Crawlers》(三支爬虫的用途、user-agent 字符串、IP 清单、24 小时调整期、ChatGPT-User 与 robots.txt 的关系):https://developers.openai.com/api/docs/bots
- Google 搜索中心《How Google interprets the robots.txt specification》(user-agent 规则组的套用方式):https://developers.google.com/crawling/docs/robots-txt/robots-txt-spec
- Google 搜索中心《Overview of Google crawlers and fetchers》(Google-Extended 的定义与影响范围):https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers
- Google 搜索中心《AI features and your website》(AI 摘要与 AI 模式的内容控制方式):https://developers.google.com/search/docs/fundamentals/ai-optimization-guide
- Anthropic 支援中心《Does Anthropic crawl data from the web, and how can site owners block the crawler?》:https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler
- Perplexity《Perplexity Crawlers》:https://docs.perplexity.ai/docs/resources/perplexity-crawlers
- Apple 支援《About Applebot》:https://support.apple.com/en-us/119829
- Cloudflare 新闻稿《Cloudflare Just Changed How AI Crawlers Scrape the Internet-at-Large》(2025-07-01):https://www.cloudflare.com/press-releases/2025/cloudflare-just-changed-how-ai-crawlers-scrape-the-internet-at-large/