OpenAI爬虫完全指南:如何让您的网站出现在ChatGPT搜索中
OpenAI运营着四个独立的网络爬虫,每个爬虫都有不同的目的、不同的robots.txt指令,以及对您的网站是否出现在ChatGPT中的不同影响。2026年7月14日,Search Engine Roundtable报道OpenAI悄悄更新了其爬虫文档,明确了两点:用户代理字符串中的版本号可能会随时间变化,以及OpenAI在抓取robots.txt文件时可能会附加一个robots.txt标记,以帮助网站所有者在服务器日志中区分这些请求。
这不是重大的政策转变。但这是一个很好的理由来审查您的robots.txt文件,确保您没有在允许训练爬虫的同时意外阻止了ChatGPT的搜索爬虫,反之亦然。这四个爬虫是独立的——您可以只允许搜索而不允许训练,并且这些设置不会相互影响。
您需要了解的四个OpenAI爬虫
OpenAI的官方文档(2026年7月更新,详见developers.openai.com/api/docs/bots)定义了四个用户代理。每个都有特定的角色和特定的robots.txt令牌。
| 用户代理 | 用途 | 爬取触发条件 | 用于AI训练? | 出现在ChatGPT搜索中? |
|---|---|---|---|---|
| OAI-SearchBot | 爬取网页以便在ChatGPT搜索结果中展示页面 | 自动、定期 | 否 | 是——这是让您被引用的爬虫 |
| GPTBot | 爬取可能用于生成式AI模型训练的内容 | 自动、定期 | 是 | 否——仅用于训练数据 |
| OAI-AdsBot | 验证提交到ChatGPT广告的广告着陆页 | 由广告提交触发 | 否 | 否 |
| ChatGPT-User | 当用户向ChatGPT提问或使用Custom GPT时访问页面 | 用户发起 | 否 | 不适用——实时页面获取,非爬取 |
最重要的区别是:OAI-SearchBot和GPTBot是独立的爬虫。阻止GPTBot不会阻止ChatGPT搜索结果。阻止OAI-SearchBot会将您的网站从ChatGPT的搜索答案中移除(尽管如果用户直接输入您的URL,它仍可能作为导航链接出现)。
这次更新为什么重要
2026年7月14日的文档更新不是关于新爬虫或新政策。而是关于透明度。进行了两项更改:
版本号可能会变化。 文档中记录的用户代理字符串显示为OAI-SearchBot/1.4和GPTBot/1.4,但OpenAI现在明确指出版本号可能会更新。如果您的服务器日志或WAF规则匹配特定的版本字符串(例如OAI-SearchBot/1.2),您可能会意外阻止较新的版本。始终匹配机器人名称,而不是版本号。
用于robots.txt抓取的robots.txt标记。 当OpenAI抓取您的robots.txt文件时,它可能会使用带有额外robots.txt标记的用户代理字符串。这有助于网站所有者在服务器日志中区分robots.txt请求和常规内容请求——特别是当日志不包含路径时。标记如下所示:
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; robots.txt; +https://openai.com/searchbot
版本号后的robots.txt令牌表示此请求专门用于获取robots.txt文件,而不是爬取内容页面。
如何配置robots.txt以实现ChatGPT可见性
最常见的问题很简单:是否应该允许OAI-SearchBot?答案取决于您是否希望您的页面出现在ChatGPT搜索结果中。
如果您希望ChatGPT在搜索答案中展示您的内容,请允许OAI-SearchBot:
User-agent: OAI-SearchBot
Allow: /
如果您希望允许搜索可见性但阻止AI训练,请允许OAI-SearchBot并阻止GPTBot:
User-agent: OAI-SearchBot
Allow: /
User-agent: GPTBot
Disallow: /
如果您想同时阻止搜索和训练(除非有特定原因,否则不建议):
User-agent: OAI-SearchBot
Disallow: /
User-agent: GPTBot
Disallow: /
ChatGPT-User不需要robots.txt配置。 因为这些访问是用户发起的(一个人向ChatGPT提问,ChatGPT获取页面来阅读),所以robots.txt规则可能不适用。OpenAI的文档明确指出了这一点。您不能依赖robots.txt来控制ChatGPT-User——如果您需要阻止实时页面获取,则需要服务器端WAF规则或基于IP的阻止。
IP白名单因素
OpenAI为每个爬虫发布了IP范围。如果您的WAF或CDN阻止来自未知IP范围的请求,即使您的robots.txt允许,您可能也在悄悄阻止OpenAI的爬虫。
| 爬虫 | IP范围URL |
|---|---|
| OAI-SearchBot | https://openai.com/searchbot.json |
| GPTBot | https://openai.com/gptbot.json |
| OAI-AdsBot | https://openai.com/adsbot.json |
| ChatGPT-User | https://openai.com/chatgpt-user.json |
如果您的网站使用Cloudflare、AWS WAF或具有启用机器人管理的类似服务,请验证这些IP范围未被阻止或挑战。如果爬虫永远无法到达您的服务器,robots.txt的Allow规则将毫无用处。
实用审计清单
运行此清单以确保您的网站已正确配置ChatGPT AI索引:
检查OAI-SearchBot的robots.txt。 它是被明确允许还是阻止?如果两者都不是,它默认为允许——但明确的规则更安全。
单独检查GPTBot。 独立决定是否希望您的内容用于模型训练。
检查您的WAF或CDN机器人规则。 不要仅依赖robots.txt。验证OpenAI发布的IP范围未被阻止或被CAPTCHA挑战。
检查服务器日志匹配机器人名称,而不是版本。 如果您有匹配OAI-SearchBot/1.2或GPTBot/1.0的规则,请更新它们以匹配机器人名称,无论版本如何。OpenAI已确认版本号可能会变化。
允许约24小时使更改生效。 OpenAI表示,在robots.txt更新后,他们的系统大约需要24小时来调整。
使用ChatGPT搜索进行测试。 进行更改后,向ChatGPT提出与您的内容相关的问题,看看您的页面是否出现在搜索结果中。
阻止ChatGPT可见性的常见错误
错误1:使用 blanket Disallow阻止所有机器人。
User-agent: *
Disallow: /
这会阻止所有爬虫,包括OAI-SearchBot。如果您想阻止特定机器人,请按名称进行。
错误2:阻止GPTBot并假设ChatGPT搜索也被阻止。 GPTBot仅用于训练。如果您阻止GPTBot但不限制OAI-SearchBot,您的页面仍可能出现在ChatGPT搜索中。如果您想从ChatGPT搜索答案中排除,您必须专门阻止OAI-SearchBot。
错误3:在WAF规则中匹配版本号。 OpenAI已确认版本号可能会变化。匹配OAI-SearchBot/1.2的规则在版本更新为1.3或1.4时将失败。匹配字符串OAI-SearchBot而不包含版本后缀。
错误4:忘记ChatGPT-User。 当用户向ChatGPT提问时,ChatGPT可能会使用ChatGPT-User代理实时获取页面。这不是爬取——这是用户发起的请求。您的robots.txt规则可能不适用。如果您需要阻止这些请求,请使用服务器端控制,而不是robots.txt。
错误5:忽略IP白名单。 某些CDN和WAF具有积极的机器人检测,会挑战或阻止未知的爬虫。即使您的robots.txt正确,爬虫也可能永远无法到达您的内容。检查您的WAF日志中来自OpenAI IP范围的被阻止请求。
这对您的AI搜索可见性策略意味着什么
ChatGPT不再仅仅是一个聊天机器人。它拥有具有实时网页结果的完整搜索引擎。要将您的内容放入这些结果中,需要与您已经为Googlebot和Bingbot管理的相同的爬取可访问性,但使用OpenAI特定的规则。
值得注意的是:OpenAI将搜索和训练视为独立的系统。您可以在不同意模型训练的情况下参与ChatGPT搜索。Google在Googlebot之上使用Google-Extended做类似的事情,但OpenAI的方法从一开始就更精细——四个独立的爬虫,四个独立的决定。
如果您正在为AI爬虫运行robots.txt审计,请按爬虫逐一做出决定,而不是使用 blanket 允许或拒绝规则。
常见问题
允许OAI-SearchBot意味着我的内容将用于训练OpenAI的模型吗?
不。OAI-SearchBot仅用于ChatGPT搜索结果。训练数据收集由GPTBot处理,这是一个具有单独robots.txt指令的独立爬虫。您可以在允许OAI-SearchBot的同时阻止GPTBot。
robots.txt更改需要多长时间才能生效?
OpenAI表示,在robots.txt更新后,他们的系统大约需要24小时来调整。这比Google的典型robots.txt刷新周期更快。
如果我阻止OAI-SearchBot,我的网站仍会出现在ChatGPT中吗?
是的,但仅作为导航链接——不会作为搜索答案中的来源。如果用户直接向ChatGPT输入您的URL,它仍可以链接到您的网站。但您的页面不会被引用为ChatGPT搜索生成答案的来源。
用户代理字符串中的robots.txt标记是什么?
这是OpenAI在获取您的robots.txt文件时附加到用户代理字符串的额外令牌(robots.txt)。它帮助您在服务器日志中区分robots.txt获取请求和常规内容爬取请求,特别是当日志格式不包含请求路径时。
我应该在服务器规则中匹配版本号吗?
不。OpenAI已明确指出版本号可能会变化。在您的WAF规则、日志过滤器或访问控制列表中匹配机器人名称(例如OAI-SearchBot或GPTBot),而不包含版本后缀。
我可以用robots.txt控制ChatGPT-User吗?
不可靠。ChatGPT-User访问是由用户提问发起的,而不是自动爬取。OpenAI的文档指出,robots.txt规则可能不适用于这些用户发起的请求。如果您需要阻止实时页面获取,请使用服务器端控制。
作者:Julian Mercer,Auspia拥有14年经验的技术SEO实践者。Julian撰写关于爬取能力、robots.txt配置、结构化数据以及使内容对搜索引擎和AI系统都可读的技术基础的文章。