GEO-006·第 01 期·技术底座·6 / 132
AI 爬虫地图:GPTBot、ClaudeBot、PerplexityBot 与 Google-Extended
训练爬虫与检索爬虫的用途不同,robots.txt 放行谁,直接决定 AI 答案里有没有你。本文拆开主流 AI 爬虫的差异与 robots 指令的真实语义,给出按爬虫与页面类型放行的判断表,以及验证身份与抓取效果的做法。
本期主线入口迁移:AI 搜索如何重排海外电商流量
周五下午,一家做宠物智能用品的独立站运营发现,Perplexity 回答“多猫家庭买哪种猫砂盆”时列了四个品牌,没有他们。技术同事查到上周的改动:为挡一波采集流量,robots.txt 被改成 User-agent: * 加 Disallow: /,只在下面单独放行了 Googlebot。Google 的收录没掉,AI 答案里的位置却在一周内换成了竞品。
训练爬虫取走一次内容,检索爬虫每次来都对应一个真实提问;robots.txt 放行谁,等于决定你在 AI 答案里出不出现。
先分清谁在取内容,谁在取答案
把 AI 爬虫当成一类,是这类事故的起点。它们至少有两种角色:一种把网页收进训练语料,抓完就与你无关;另一种在用户提问时去取答案,每次抓取背后都是一个可能产生引用的机会。两者的成本收益相反,却常被一条 Disallow 一起处理。
| 爬虫(User-agent) | 归属 | 主要用途 | 屏蔽它的真实代价 |
|---|---|---|---|
| GPTBot | OpenAI | 训练语料 | 训练侧缺席;ChatGPT 的检索由另外的 agent 负责,屏蔽它不等于从 ChatGPT 消失 |
| OAI-SearchBot | OpenAI | 为搜索类回答建索引 | 被 ChatGPT 引用、被推荐的机会下降 |
| ChatGPT-User | OpenAI | 用户当场要求它打开某个网页 | 用户把链接丢给它时读不到你的页面 |
| ClaudeBot | Anthropic | 训练语料 | 同上,训练侧缺席 |
| PerplexityBot | Perplexity | 抓取并索引答案来源 | 直接掉出 Perplexity 的引用池 |
| Googlebot | 搜索收录与排名 | 从 Google 搜索结果里消失,代价最大 | |
| Google-Extended | 控制内容是否用于 Gemini 的训练与 grounding | 不影响搜索收录,只影响 Gemini 侧能否使用你的内容 | |
| CCBot | Common 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 里做出放行、限速或拒绝的选择,并把理由写成注释留在规则旁边。