从 2023 年起,很多网站为了不让自己的内容被用于模型训练,把 AI 机器人加进了 robots.txt。出发点是合理的;但在落地时,一个关键区别被忽略了:同一家公司的训练机器人和搜索/回答机器人,分属两个不同的 user-agent。把两者一起阻止,您不只是退出了训练数据,也把自己在回答中被列为来源的机会一并抹掉了。
两类不同的机器人
| 类型 | 做什么 | 被阻止会怎样 |
|---|---|---|
| 训练机器人 | 收集内容,用于模型训练 | 可见度不会直接受影响 |
| 搜索/回答机器人 | 用户提问时抓取最新内容 | 您不会在回答中被列为来源 |
对可见度至关重要的机器人
- OAI-SearchBot——ChatGPT 要在搜索结果里展示您的网站,就需要它。
- ChatGPT-User——用户打开链接时,它会读取您的页面。
- PerplexityBot 和 Perplexity-User——要在 Perplexity 的回答中被列为来源,就需要它们。
- ClaudeBot、Claude-User、Claude-SearchBot——Claude 这边的抓取与取回。
- Googlebot——传统搜索和 AI Overviews 共用的基础抓取工具。
- Bingbot——Copilot 的回答大部分来自 Bing 索引。
相反,GPTBot(OpenAI 训练)、Google-Extended(Gemini 训练)和 Applebot-Extended(Apple Intelligence 训练)并不是直接影响可见度的机器人。单单阻止它们,并不会妨碍您在回答中被提及。
一条实用规则:如果您不希望内容被用于模型训练,但又希望在回答中被提及,那就阻止训练机器人,放行搜索/回答机器人。
配置示例
# 训练机器人已阻止
User-agent: GPTBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: Applebot-Extended
Disallow: /
# 搜索/回答机器人放行
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Claude-SearchBot
Allow: /
Sitemap: https://ornek.com/sitemap.xmlrobots.txt 不是唯一的阻碍
- CDN 和 WAF 规则(例如 Cloudflare 的机器人管理)可能在 robots.txt 之外另行阻止 AI 机器人。
- 服务器端按 user-agent 返回 403 的规则,会悄无声息地让您变得不可见。
- 只靠 JavaScript 生成的内容,有些机器人根本读不到。
- 登录墙后面的内容,永远不可能被列为来源。
所以审计不能只停在 robots.txt:CDN 规则、服务器日志和服务端渲染的情况都要一并检查。