跳到主要内容
实用工具2026-10-05Begin3 分钟阅读

AI 爬虫放行还是屏蔽:GPTBot/ClaudeBot/PerplexityBot 的 robots.txt 决策与写法

先搞清楚:你放行/拦截的到底是什么

AI 公司的爬虫分两类,用途完全不同,分开决策:

爬虫归属用途影响
GPTBotOpenAI模型训练不影响 ChatGPT 搜索收录
OAI-SearchBotOpenAIChatGPT 搜索索引拦了就不进 ChatGPT 搜索
ChatGPT-UserOpenAI用户实时请求抓取拦了用户让 ChatGPT 看你页面会失败
ClaudeBotAnthropic模型训练不影响 Claude 搜索
Claude-Web / Claude-SearchBotAnthropicClaude 搜索/实时搜索与实时抓取
PerplexityBotPerplexity搜索索引Perplexity 的答案引用来源
Google-ExtendedGoogleGemini 训练不影响 Google 搜索(独立于 Googlebot)
GooglebotGoogleGoogle 搜索(含 AI Overviews)拦它等于退出 Google
Bytespider字节跳动豆包等训练抓取量大,负载考量
Applebot-ExtendedAppleApple Intelligence 训练不影响 Apple 搜索
CCBotCommon Crawl开放语料库多数模型的间接语料来源

最常见的误区:把「不想被拿去训练」执行成全拦,结果连 AI 搜索的入口一起放弃了——训练与搜索是不同 UA,你可以只拦前者。

决策框架:三类站点三种答案

内容站 / 工具站 / 博客(我们的场景) 放行搜索爬虫 + 默认放行训练爬虫。理由:引用即分发,AI 搜索是新流量入口,训练语料的「回报」是未来被模型知识覆盖。唯一例外是服务器负载扛不住时对高频训练爬虫限流(用 robots.txt 的 Crawl-delay 或 CDN 限速)。

付费内容 / 会员制内容 拦训练爬虫(内容是商品,不能白嫖),放搜索爬虫但配 meta 标签控制摘要展示。注意 robots.txt 只是「君子协定」,付费内容真正的防线是认证墙本身。

内部系统 / 后台 全拦(标准 Disallow: /),本来就不该对公网开放抓取。

可直接复制的 robots.txt 写法

全放行(内容站默认):

User-agent: *
Allow: /

只拦训练、保搜索(付费/谨慎型):

# 拦训练爬虫
User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: CCBot
Disallow: /

# 其余(含搜索爬虫)放行
User-agent: *
Allow: /

给高频爬虫限速(负载考量):

User-agent: Bytespider
Crawl-delay: 10
Allow: /

注意 robots.txt 的匹配规则:最具体的 UA 段优先于 * 段——所以可以单独给某个爬虫开例外而不影响全局。

放行之后:怎么度量回报

放行不是终点,GEO 的回报要能看到:

  1. 流量分析里看 AI 渠道:GA4 等工具已把 AI 搜索单列为来源(本站实测会出现 "AI Assistant" 渠道)——见 GEO 入门的数据节
  2. 服务器日志看爬虫到访:放行后 grep 日志里的 PerplexityBot/OAI-SearchBot 抓取记录,有抓取才有被引用的资格
  3. 直接问 AI:在 ChatGPT/Perplexity 里搜你的核心关键词,看答案是否引用了你——最原始也最有效

实现注记 / Implementer's note

帮这个站配 robots 时的实际权衡:我们的 robots.txt 极简(全放行),因为工具站的内容本来就是公开分发导向——但配置时逐个核对了每家爬虫的官方 UA 字符串(大小写敏感,写错等于没配)。另一条实操经验:Bytespider 和 YisouSpider 的抓取量级远超其他(日志实证每天数千次),对小型服务器,即使决定放行也值得在 CDN 层做速率限制——「放行」和「无限放行」是两回事。

相关阅读