GEO-006·第 01 期·技术底座·6 / 132

AI 爬虫地图:GPTBot、ClaudeBot、PerplexityBot 与 Google-Extended

训练爬虫与检索爬虫的用途不同,robots.txt 放行谁,直接决定 AI 答案里有没有你。本文拆开主流 AI 爬虫的差异与 robots 指令的真实语义,给出按爬虫与页面类型放行的判断表,以及验证身份与抓取效果的做法。

8 分钟GEO技术底座出海

本期主线入口迁移:AI 搜索如何重排海外电商流量

周五下午,一家做宠物智能用品的独立站运营发现,Perplexity 回答“多猫家庭买哪种猫砂盆”时列了四个品牌,没有他们。技术同事查到上周的改动:为挡一波采集流量,robots.txt 被改成 User-agent: * 加 Disallow: /,只在下面单独放行了 Googlebot。Google 的收录没掉,AI 答案里的位置却在一周内换成了竞品。

训练爬虫取走一次内容,检索爬虫每次来都对应一个真实提问;robots.txt 放行谁,等于决定你在 AI 答案里出不出现。

先分清谁在取内容,谁在取答案

把 AI 爬虫当成一类,是这类事故的起点。它们至少有两种角色:一种把网页收进训练语料,抓完就与你无关;另一种在用户提问时去取答案,每次抓取背后都是一个可能产生引用的机会。两者的成本收益相反,却常被一条 Disallow 一起处理。

爬虫(User-agent)归属主要用途屏蔽它的真实代价
GPTBotOpenAI训练语料训练侧缺席;ChatGPT 的检索由另外的 agent 负责,屏蔽它不等于从 ChatGPT 消失
OAI-SearchBotOpenAI为搜索类回答建索引被 ChatGPT 引用、被推荐的机会下降
ChatGPT-UserOpenAI用户当场要求它打开某个网页用户把链接丢给它时读不到你的页面
ClaudeBotAnthropic训练语料同上,训练侧缺席
PerplexityBotPerplexity抓取并索引答案来源直接掉出 Perplexity 的引用池
GooglebotGoogle搜索收录与排名从 Google 搜索结果里消失,代价最大
Google-ExtendedGoogle控制内容是否用于 Gemini 的训练与 grounding不影响搜索收录,只影响 Gemini 侧能否使用你的内容
CCBotCommon Crawl公共网页语料间接影响一批以公开语料为基础的模型

这几行里,Google-Extended 最容易被误读。Google-Extended 不控制抓取,只控制用途:禁止它,页面仍在 Google 搜索里,只是不再被用于 Gemini 的训练与 grounding。名单还在变,Applebot-Extended、Bytespider、meta-externalagent 各有各的口径。截至 2026-01,判断依据只能是各家官方文档,不是任何一份二手清单。

robots.txt 能做什么,不能做什么

它是一份偏好声明,不是访问控制。 RFC 9309 规定了写法,却没有规定执行;爬虫遵守它是自愿的。把它当防火墙用,是另一个常见误判。

匹配规则是分组的,不是合并的。最具体的 User-agent 组优先于 *,两组规则不相加。所以“全站禁止 + 单独放行 Googlebot”的写法对 Googlebot 有效,对其他没被点名的 AI 爬虫就是全禁——开头那家店挡住的正是检索类爬虫。另一个后果是:规则只对后续抓取生效,已经进过语料库的内容收不回来。

你想要的效果robots.txt 能做到吗该用什么
放行检索类爬虫抓商品页能按 UA 分组写 Allow
阻止某个训练爬虫能,但只对守规矩的爬虫有效robots.txt 加 WAF 兜底
把已被抓走的内容撤回不能无法撤回,只能影响后续抓取
防高频抓取拖慢源站不能,Crawl-delay 不是通用标准限速、缓存、WAF
让页面从 AI 答案里消失不一定,多数 AI 爬虫不承诺解析 meta robots移除内容或改为登录后可见

还有一条判断常被拖后:放行只解决“进不进得来”,不解决“读不读得懂”。页面靠 JS 渲染、关键字段在图片里,抓取恢复后仍是空答案,见AI 能不能渲染你的店。

放行谁:按爬虫与页面类型做二维决策

一刀切全禁,会把检索爬虫一起挡掉;一刀切全放,会让筛选页和库存接口被高频轮询打到源站变慢。正确做法是两条轴一起看:谁在抓,抓的是哪类页面。

页面类型训练爬虫检索爬虫理由
商品页、类目页、对比页、文章按品牌策略放行放行这是答案的原料,挡住等于自断引用
站内搜索结果、筛选参数页拒绝拒绝参数组合接近无限,抓取预算被浪费
价格与库存接口拒绝拒绝,改用 feed 供货高频轮询会拖垮源站
会员中心、订单、后台拒绝拒绝非公开内容,没有引用价值
规格书 PDF、尺寸图放行放行但要能被解析,别只留扫描件

落地顺序是五步:

步骤做什么谁来做怎么算过
1 盘点从 CDN 或源站日志导出 90 天 UA 含 bot 的请求,按 UA 聚合请求量、路径、状态码工程得到前十个 UA 和它们实际抓的路径
2 分类逐个查官方文档,标成训练、检索或其他,做放行、限速、拒绝三选一增长与工程每个 UA 配一句可复核的放行理由
3 写规则按二维表落 robots.txt,公开内容页对检索类放行工程分组清晰,* 组不误伤
4 验身份反向 DNS 加官方 IP 段核对工程抽 20 条日志,来源 IP 与官方段一致
5 看效果同一批问题复测引用来源,检查 403 是否落在预期路径增长有前后对比,且能解释差异

第 2 步最容易被跳过。多数团队从网上抄一份“该不该屏蔽”的清单,而清单作者做的是另一个品类、另一个市场。判断只能来自你的日志:谁真的来过、抓了什么、源站扛不扛得住。

验证:UA 可以伪造,IP 不行

日志里的 UA 是最容易伪造的字段。 写着 GPTBot 的请求,很大一部分并不来自 OpenAI;按 UA 白名单无条件放行,等于给匿名采集器开了正门。

可靠的核验有两条。一是反向解析来源 IP,再正向解析回同一域名,正反一致才算通过;二是对照官方公布的 IP 段文件(Google 与 OpenAI 都提供可下载清单,截至 2026-01)。两条都对不上,就按未知爬虫处理:限速、给缓存、必要时拒绝。一个可用的旁证是请求头:正常爬虫会带条件请求,伪装采集器通常裸抓。

抓取量也不等于引用量。日志只能证明它来过,证明不了它用了。要判断放行有没有效果,得用同一批问题复测答案里的引用来源,方法见AI 可见度基线;日志负责解释“为什么变”,复测负责回答“有没有变”。

示例:一次 robots.txt 重写

示例:某跨境宠物用品独立站(假设场景,不含真实品牌与数据),主站有数百个 SKU 页、一批筛选页和一个实时库存接口。原来的 robots.txt 只有两行,User-agent: * 下 Disallow: /,再加一组 Googlebot 放行。

改法分四组:检索类(OAI-SearchBot、PerplexityBot、Claude-User 等)放行商品页、类目页与测评文章;训练类(GPTBot、ClaudeBot、CCBot)按品牌策略放行公开内容,但拒绝规格书下载目录;所有爬虫拒绝 /search、/filter、/cart、/api/;库存接口改成只对合作方签发限时链接,匿名高频请求在 WAF 层限速。

验收不看订单,看三件事:检索类爬虫对商品页的请求是否恢复、403 是否只落在预期路径、同一批问题复测时引用来源里是否出现自己的域名。三件都通过之前,不进入下一轮规则调整。

边界:这套地图什么时候不适用

第一,成交集中在平台内的品类。亚马逊、Shopee 的 AI 读的是 listing、评论与履约指标,robots.txt 与你几乎无关,先修 feed 与评论。

第二,品牌明确不愿被训练。独家内容、版权敏感素材可以拒绝训练类爬虫,但要接受在只依赖训练语料的助手里缺席,并且把这条选择写成书面策略,别每周改一次。

第三,已经被恶意抓取拖慢的时候。robots.txt 对不守规矩的爬虫没有约束力,先上 WAF、限速与缓存。

第四,没有日志能力的团队。先别做复杂规则,只做两件:确认没有误屏蔽,用 curl 带各家 UA 抓一遍核心页面。抓不到,后面全是空谈。

第五,放行不等于被引用。robots.txt 只决定能否进来,答案单元、实体与第三方证据是另外的事,见AI 答案里的商品长什么样。入口为什么值得先分清楚,回到AI 搜索把海外电商流量切成了四段;这条线上其他文章在技术底座主题页。

别贪多,这个月只做一件事:从 CDN 日志导出近 30 天所有 UA 含 bot 的请求,按 UA 统计请求量与 403 比例,取前五个,逐个到官方文档核对用途,再在 robots.txt 里做出放行、限速或拒绝的选择,并把理由写成注释留在规则旁边。