AI搜索优化的第一步,是把“搜索收录”“模型训练”“用户触发抓取”分开,再按精确 token 配置;不要看到一个 AI 爬虫就全部放行。想让站点进入搜索结果,应优先放行供应商明确用于搜索的爬虫;是否放行训练爬虫,取决于你是否接受内容被用于训练。用户触发抓取器不能混作搜索爬虫,robots.txt 对它们的控制方式也不一致。
AI搜索优化:先看抓取目的
OpenAI 将 OAI-SearchBot 用于 ChatGPT 搜索,将 GPTBot 用于可能训练基础模型的内容,并把 ChatGPT-User 用于用户问题触发的网页访问,详见 OpenAI 的爬虫说明。在 Anthropic 的公开分类中,ClaudeBot 关联模型训练数据,Claude-User 用于用户问题触发的网站访问,详见 Anthropic 的爬虫问答。
PerplexityBot 服务搜索,Perplexity-User 响应用户请求且不用于训练,两项设置彼此独立,详见 Perplexity 爬虫文档。控制方式并非都对应独立的 HTTP 身份:Google-Extended 只是 robots.txt 控制 token,实际抓取仍使用现有的 Google user-agent,详见 Google 常见爬虫列表。Kimi 则分别提供搜索索引、潜在训练和用户触发动作对应的 token,详见 Kimi 爬虫说明。
| 供应商 | token | 目的 | 阻止后影响 |
|---|---|---|---|
| OpenAI | OAI-SearchBot |
ChatGPT 搜索 | 不显示在搜索答案中,但仍可能出现导航链接 |
| OpenAI | GPTBot |
可能用于基础模型训练 | 表示内容不应被用于训练 |
| OpenAI | ChatGPT-User |
用户问题触发访问 | 不控制搜索;用户触发时规则可能不适用 |
| Anthropic | ClaudeBot |
模型训练数据 | 表示未来材料应排除在训练数据集之外 |
| Anthropic | Claude-User |
用户触发访问 | 可限制用户发起请求时访问的站点 |
| Perplexity | PerplexityBot |
搜索结果发现与链接 | 会失去由该搜索爬虫进行的发现能力 |
| Perplexity | Perplexity-User |
用户请求的网页获取 | 不用于爬取或训练;通常忽略 robots.txt |
Googlebot |
Google 常规自动抓取 | 自动抓取将受该组规则限制 | |
Google-Extended |
控制 Gemini 相关用途 | 控制已抓取内容能否用于未来模型训练和 grounding,不是 HTTP 身份 token | |
| Kimi | Kimi-SearchBot |
建立 Kimi 搜索索引 | 阻止站点出现在 Kimi 搜索结果中 |
| Kimi | KimiBot |
可能用于基础模型训练 | 表示内容不应被用于模型训练 |
| Kimi | Kimi-User |
用户触发的文章摘要或实时检索 | 可能降低用户定向搜索中的可见度,但规则未必直接适用 |
robots.txt 该放行哪些:先写目标再写规则
如果你的目标是“允许搜索发现,但不同意内容用于模型训练”,可以放行 OAI-SearchBot、PerplexityBot、Kimi-SearchBot 和 Googlebot,同时拒绝相应的训练控制 token:
User-agent: OAI-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Kimi-SearchBot
Allow: /
User-agent: Googlebot
Allow: /
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: KimiBot
Disallow: /
User-agent: Google-Extended
Disallow: /
如果你也接受训练,再把 GPTBot、ClaudeBot、KimiBot 和 Google-Extended 对应组的 Disallow 改为 Allow。这些指令只表达访问选择,不保证内容被训练、引用、推荐或排名。
对于用户触发抓取,如果政策是不接受这类访问,可以写入以下拒绝信号:
User-agent: ChatGPT-User
Disallow: /
User-agent: Claude-User
Disallow: /
User-agent: Perplexity-User
Disallow: /
User-agent: Kimi-User
Disallow: /
不要把这段配置理解为强制封锁。Anthropic 表示可以用 Claude-User 控制用户发起请求访问的站点;OpenAI 表示 ChatGPT-User 请求可能不适用 robots.txt;Perplexity 表示 Perplexity-User 通常忽略这些规则;Kimi 也提醒 Kimi-User 的规则可能不直接适用。因此,允许时应把相应组改为 Allow: /,拒绝时也应把 Disallow 视为信号而非执行保证。
robots.txt 与 llms.txt 的边界
RFC 9309 要求规则位于顶层 /robots.txt,文件名全部小写并使用 UTF-8 编码,同时明确指出 robots.txt 规则不是访问授权。Google 的 robots.txt 入门 也说明,该文件无法强制爬虫服从,实际行为取决于爬虫是否遵守。日志里出现某个 token 只能作为排查线索,因为 HTTP user-agent 可以被伪造。
需要分别控制的子域名也应分别部署规则。若具体争议涉及抓取、授权或合同责任,应让律师结合事实判断。
llms.txt 提案把 robots.txt 定义为向自动工具说明哪些访问可以接受,而 llms.txt 是代理协助用户时按需读取的信息;添加 llms.txt 不等于给某个爬虫放行。截至 2026 年 10 月,我们没有找到 OpenAI、Anthropic 或 Perplexity 的爬虫或产品读取其他网站 llms.txt 的公开说明。
在 GEO 自查 中输入网址,工具会读取该页面及其 robots.txt、sitemap 和 llms.txt,报告当前观察到的访问、爬虫设置与站点文件状况。它不会向 AI 产品提问,也不测引用、推荐或排名。