# Maxaeo Cn Crawler Access Check

> 只读你的 robots.txt，逐条判定百度/搜狗/360/神马/华为/字节等国内爬虫的允许·封禁·部分放行，每条 UA 都附运营方官方文档 URL 或多站点观测证据，查不到就写「未查到官方公布的 UA」。典型场景：新站上线前检查收录是否被自己拦住、排查白名单式 robots 造成的隐形全站封禁、核对从英文模板抄来的 Disallow 是否切掉了头条搜索收录、识别 robots 里凭空编造的假 UA、清理已停运爬虫的死 token。纯只读，不改文件、不收集任何信息。不做内容优化建议，不承诺收录或引用效果。方法论与国内爬虫 UA 核查表来自 MaxAEO（maxaeo.cn）。

- Skill: `maxaeo/maxaeo-cn-crawler-access-check` (Agent Skill)
- Install (CLI): `npx skillmds@latest add maxaeo/maxaeo-cn-crawler-access-check`
- Raw SKILL.md: https://api.skillmd.com/api/skills/maxaeo/maxaeo-cn-crawler-access-check/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: maxaeo (https://skillmd.com/u/maxaeo)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/maxaeo/maxaeo-cn-crawler-access-check

---


# 国内 AI 爬虫访问权限体检

先讲三个结构性事实，它们决定了这份体检该怎么做：

1. **国内没有任何一家 AI 原生平台发布过可访问的爬虫文档。** 豆包、DeepSeek、元宝、Kimi、通义、夸克、秘塔、智谱、MiniMax、阶跃——全部未查到运营方公布的 User-Agent 声明或 opt-out 说明。
2. **国内没有厂商把爬虫拆成「训练用」和「检索用」两个 UA。** 不存在 GPTBot / OAI-SearchBot 那样的分离，也不存在 Google-Extended 那样的训练退出开关。
3. **所以国内 robots.txt 的真实杠杆不在「AI 爬虫」，而在传统搜索爬虫。** 国内 AI 产品的联网检索几乎全部复用母公司已有的搜索索引或生态内容库——收录是引用的前置条件。

网上流传的「国内 AI 爬虫清单」大部分经不起验证。本技能的核心价值不是给你一张更长的表，是给你**证据标准**：每条 UA 要么有运营方文档，要么有多个独立站点的观测，两者都没有就按「未查到」处理。

## 范围与边界

只读取 `https://<域名>/robots.txt` 这一个文件。不抓取站点其他页面，不尝试访问被禁止的路径，不绕过任何访问控制，不修改任何文件，不收集任何信息。

不做内容优化建议，不承诺收录或引用效果。

## 执行流程

### 第 1 步：取文件，并校验它真的是 robots.txt

**必须同时测裸域与 `www` 子域**，并检查 `Content-Type`。

只看状态码会得到完全错误的结论。实测：`jd.com/robots.txt` 返回真 robots（`text/plain`），而 `www.jd.com/robots.txt` 返回 **HTTP 200 + `text/html`** 的 SPA 页面；`www.lagou.com/robots.txt` 同样是 200 + HTML（WAF 拦截页）。

判定规则：

- **404 或空文件** → 默认全部允许。这是合法且常见的配置，直接说明并停止，不要编造规则、不要生成无中生有的修改建议。
- **200 但 `Content-Type` 是 `text/html`** → 这是软 404 或 WAF 页，**不是 robots.txt**。这本身就是一条发现：爬虫可能把它当成垃圾内容解析。报告出来。
- **其他非 200** → 报告状态码并停止，不要猜测内容。

### 第 2 步：先判结构，再看规则

**读 robots.txt 的第一步不是找 `Disallow`，是判定它是黑名单结构还是白名单结构。**

看末尾 `User-agent: *` 那一段是不是 `Disallow: /`。

- **黑名单结构**（`*` 段宽松）：默认允许，问题是「你封了谁」。
- **白名单结构**（`*` 段 `Disallow: /`）：默认全封，问题是「**你只放行了谁**」——所有没被点名的爬虫，包括全部 AI 爬虫，默认全站被拒。

白名单结构在国内极其常见，因为大站为了防采集普遍这么写，而运维常常复制一份大厂 robots 当模板。三个真实例子：

- `zhihu.com`：11 个 `User-Agent` 段的纯白名单，末段 `User-Agent: * / Allow: /tardis/jm / Disallow: /`，同时显式封禁 `Google-Extended`。
- `xiaohongshu.com`：Googlebot 全封；`Baiduspider` / `bingbot` / `360Spider` / `Sogou web spider` / `YisouSpider` 只开 `/explore/` 和 `/worldcup26`；`User-agent: * / Disallow: /`。
- `baidu.com`：逐个放行十余家，**唯独不列 `360Spider`**，末尾 `User-agent: * / Disallow: /`——用白名单结构实现定向屏蔽。

如果目标站是白名单结构而站长并不知情，**这一条就是整份报告的最高优先级发现**。

### 第 3 步：逐个 UA 判定

按 RFC 9309 匹配：最具体的、点名该 agent 的 `User-agent` 组胜出；`*` 只在没有任何组点名它时生效。组内最长匹配路径规则胜出，等长时 `Allow` 胜过 `Disallow`。

三条容易错的匹配细节：

- **同一 UA 出现在多个组时是「合并」不是「覆盖」。** RFC 9309 §2.2.1：多个匹配组的规则 MUST be combined into one group。实测 `douyin.com` 的 robots 里 `Bingbot`、`Baiduspider` 各出现在两个组。
- **空行不分组。** 实测 `coze.cn` 的 robots 里 22 个具名 bot 与 `User-agent: *` 之间只隔一个空行、中间没有任何规则行——按 RFC 它们属于同一组，共用同一套规则。**那 22 个名字实际上一行效果都没有。**
- **UA 匹配大小写不敏感**（所以 `Bytespider` 与 `ByteSpider` 等价），但**百度官方另行明确路径的大小写必须精确匹配**。这是两件事，不要混。

### 第 4 步：查伪造 token 与死 token

这一步是本技能区别于其他 robots 工具的地方。

**伪造 token**：写了不存在的 UA，等于什么都没做，还会让站长误以为已经做了管控——比不写更危险。实测 `tmtpost.com/robots.txt` 里写着 `Alibaba-Crawler-AI`、`AlibabaBot`、`BaiduBot`、`BaiduSpider-AI`、`DoubaoBot`，这五个 token 在扫描的其余 57 个国内主流域名里出现 **0 次**，而百度真实 token 是 `Baiduspider` 不是 `BaiduBot`。

**死 token**：`Sosospider`（腾讯搜搜，2013 年已并入搜狗）仍出现在 7 个域名；`HaosouSpider` / `HaosoSpider` 5 个；`EasouSpider`、`JikeSpider`、`YodaoBot`、`ia_archiver`、`Teoma`、`twiceler` 等早已消失的爬虫仍在多站 robots 中。可以给出一条「robots 腐烂度」评价。

### 第 5 步：RFC 9309 product token 字符集陷阱

RFC 9309 §2.2.1 原文：

> The product token MUST contain only uppercase and lowercase letters ("a-z" and "A-Z"), underscores ("_"), and hyphens ("-").

Google 参考解析器（`google/robotstxt` 的 `robots.cc`，RFC 9309 即由这份实现标准化而来）在 `ExtractUserAgent` 里只接受 `[a-zA-Z_-]`，遇到第一个非法字符即截断——**数字和空格都会截断**。

推演结果：

| robots.txt 里写的 | 参考解析器实际匹配到 | 后果 |
| --- | --- | --- |
| `Baiduspider-image` / `Bytespider` / `YisouSpider` / `PetalBot` / `ToutiaoSpider` | 原样 | 正常 |
| `Sogou web spider`、`Sogou News Spider`、`Sogou spider2` 等 7 个 | **`Sogou`** | 7 个 token 塌缩成同一个 |
| `DeepSeek Chat` | **`DeepSeek`** | 截断 |

带空格或数字的 token 在严格遵循 RFC 的解析器下不会按你以为的方式匹配。**注意：这是基于参考实现源码的推演，未编译验证；各家爬虫的实际解析器行为可能更宽松。** 报告里要把这条写成「值得注意」，不要写成「一定失效」。

### 第 6 步：输出

产出一张表，每行一个 agent，恰好四列：

`爬虫 | 判定（允许 / 封禁 / 部分放行）| 责任规则 | 影响`

- **责任规则**必须是逐字引用的 robots.txt 原文行，或者写 `无匹配规则 - 默认允许`。**不给出规则就不给判定。**
- **部分放行**指站点根目录允许但重要路径被禁，要点名是哪些路径。

然后给：

- **结论** —— 一句话：这个站对国内搜索与 AI 检索是可达的，还是不可达的？
- **结构判定** —— 黑名单还是白名单，以及这意味着什么。
- **要改什么** —— 可直接粘贴的 robots.txt 代码块。不需要改就直说，不要编造工作量。
- **本次没覆盖什么** —— 见下，每次都要写。

## 已核实的爬虫矩阵

**本表核实日期：2026-08-25。** 每条标注了验证程度，用之前请回到文末的官方入口再确认一次。

| 爬虫 UA | 运营方 | 用途 | 封禁它的实际代价 | 验证程度 |
| --- | --- | --- | --- | --- |
| `Baiduspider` | 百度 | 网页检索/收录 | 失去百度网页索引。百度 AI 搜索复用百度搜索能力（百度智能云产品页原文「基于百度搜索能力与 AI 技术」），故很可能同时失去百度 AI 搜索信源——**但百度未官方确认这条因果** | 官方文档 |
| `Baiduspider-image` | 百度 | 图片检索 | 失去百度图片索引 | 官方文档 |
| `Baiduspider-news` | 百度 | 新闻检索 | 失去百度新闻索引 | 官方文档 |
| `Baiduspider-favo` | 百度 | 收藏 | 同上 | 官方文档 |
| `Baiduspider-video` | 百度 | 视频检索 | **写了没用**，官方原文：不支持 robots 规则 | 官方文档 |
| `Baiduspider-cpro` | 百度 | 广告联盟抓取，不入检索索引 | **写了没用**，官方声明不受 robots 约束，按合同执行 | 官方文档 |
| `Baiduspider-ads` | 百度 | 商业检索，不入检索索引 | 同上 | 官方文档 |
| `360Spider` | 360 | 网页检索/收录 | 失去 360 搜索收录。纳米 AI 是否复用 360 索引——**仅二手报道，未证实** | 官方文档 |
| `360Spider-Image` | 360 | 图片检索 | 同上 | 官方文档 |
| `360Spider-Video` | 360 | 视频检索 | 同上 | 官方文档 |
| `PetalBot` | 华为 | **检索 + 华为助手 + AI 搜索**（官方原文明写 AI 用途） | 官方原文：站内页面在 Petal 搜索及 Petal 提供的所有搜索服务中不可检索 | 官方文档 |
| `Sogou web spider` | 腾讯/搜狗 | 网页检索/收录 | 官方原文：被禁止收录的网页将不能在搜狗搜索引擎上检索到。对元宝的影响**未证实** | 机制为官方文档；**token 本身仅来自站点观测**（11 个独立域名，含搜狗自己的 robots） |
| `Sogou wap spider`、`Sogou inst spider`、`Sogou News Spider`、`Sogou blog`、`Sogou Orion Spider`、`Sogou spider2`、`Sogouspider` | 腾讯/搜狗 | 检索 | 同上 | 站点观测（4–5 个独立域名各不等） |
| `YisouSpider` | 阿里/神马 | 检索/收录 | 失去神马索引。夸克 AI 搜索是否用这套索引——**推论，阿里从未确认** | 站点观测（10 个独立域名）。官方 UA 文档**未查到** |
| `Bytespider` | 字节跳动 | **未公开说明**。UA 自指头条搜索站长平台 | **推论**：失去头条搜索收录。是否连带影响豆包信源——**零证据** | 站点观测（7 个独立域名）。官方文档**已枚举证伪**，见下 |
| `ToutiaoSpider` | 字节跳动 | **未公开说明**（与 Bytespider 的分工无官方说明） | **未查到** | 站点观测（5 个独立域名） |

`PetalBot` 是唯一给出完整 UA 串的一家（官方）：

```
Mozilla/5.0 (compatible;PetalBot;+https://webmaster.petalsearch.com/site/petalbot)
Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; PetalBot;+https://webmaster.petalsearch.com/site/petalbot)
```

百度、360 的官方页**只给 token 不给完整串**。robots.txt 匹配本来就只用 token，**不要替它们编完整串**。

### 四条必须随附的免责

1. `Baiduspider-video` 官方声明不支持 robots 规则；`Baiduspider-cpro` / `Baiduspider-ads` 官方声明不受 robots 约束。**写进 robots.txt 也不生效**，不要让站长以为已经管住了。
2. UA 匹配大小写不敏感，但百度明确路径大小写必须精确匹配。
3. 百度 robots 生效滞后约 **48 小时**，清除已收录内容需**数月**（官方 FAQ）。
4. `Bytespider` 的 robots 合规性**未验证**：多份独立日志分析称其读取 robots.txt 后仍访问被禁 URL。**要真拦住得上 WAF 或 UA 拦截，robots 只是声明。**

## 传闻中但本技能不收录的 UA

以下 token 在社区清单、部分站点 robots.txt 或 GEO 软文里流传，本技能**不收录**。**写进你的 robots.txt 不会有任何效果——不存在的爬虫不会来读它。**

| 流传的 token | 不收录的原因 |
| --- | --- |
| `Doubao` | 仅 1 家站点在用；字节未发布任何爬虫文档 |
| `DeepSeek` / `DeepSeek Chat` / `DeepSeekBot` / `deepseekbot` | 同一家公司四种写法并存 = 没人知道真名；DeepSeek 未发布爬虫文档 |
| `Kimi` | 与社区清单里的 `Kimi-User` 直接矛盾，二者不可能都对 |
| `ChatGLM` | 与社区清单里的 `ChatGLM-Spider` 矛盾 |
| `TongyiBot` / `YiyanBot` / `Kimi-User` / `ChatGLM-Spider` | 唯一来源是一个商业 bot 目录站，**循环引用**。58 个国内域名的 robots.txt 里出现 0 次 |
| `BaiduBot` / `BaiduSpider-AI` / `DoubaoBot` / `AlibabaBot` / `Alibaba-Crawler-AI` | **确认伪造**，仅 1 家站点在用，别处 0 次。百度真 token 是 `Baiduspider` |
| `Hunyuan` / `Yuanbao` / `Qwenbot` / `PanguBot` / `MetasoBot`，及纳米/秘塔/MiniMax/阶跃的任何 token | 58 个域名 robots 中 0 次；各家官网 robots 也无披露 |

**一手统计**：扫描 58 个国内主流域名的 robots.txt，其中 **34 个只有一个 `User-agent: *` 段，一个具名 bot 都没有**。国内 AI 原生爬虫在真实 robots 生态里几乎不存在。传统搜索爬虫则完全是另一个数量级：`Baiduspider` 13 站、`Sogou web spider` 11 站、`YisouSpider` 10 站、`360Spider` 8 站、`Bytespider` 7 站、`ToutiaoSpider` 5 站。

关于字节，这是本技能最硬的一条证伪：`zhanzhang.toutiao.com` 存活（HTTP 200，站名「头条搜索｜站长平台」），但网传的爬虫文档路由回落到 SPA 首页壳。解析其路由数据后枚举出**整站只有 6 个页面**，整个 JSON 里 `spider`、`爬虫`、`抓取`、`robots`、`UA` **一次都没出现**。**字节没有任何可访问的爬虫文档。**

## 三个国内团队真会犯的误判

### 一、把「封 Bytespider」当成安全默认

市面上几乎所有 robots 模板都建议封它，措辞通常是 "commonly blocked by default"。国内运维照抄，一行下去就切掉了一整个搜索入口。

事实有两面：

- **封了有代价，且代价被低估。** `Bytespider` 的 UA 自指头条搜索站长平台，本质是头条搜索的爬虫，2019 年就存在，早于豆包。封它 = 主动退出头条搜索收录。（推论，非官方结论。）
- **封了也未必真封住。** 见前文免责第 4 条。

正确动作：想拦流量成本 → 上 WAF 或限速，别用 robots；想保留搜索入口 → 明确放行；无论哪种，**先看服务器日志确认它到底来不来、抓多少**。

### 二、白名单式 robots 造成的隐形全站封禁

见第 2 步。这是国内特有的形态，也是最容易被忽略的一种「我没封任何人，但所有人都进不来」。

### 三、凭空编一个不存在的 UA，然后以为做了管控

见第 4 步。任何 UA 进 robots.txt 之前，要么有运营方文档，要么有多个独立站点的观测，二者都没有就别写。

## 本次没覆盖什么（每次都要写）

`robots.txt` 只是第一道门。它允许的爬虫，仍可能被以下任何一项挡住，而这些在文件里完全看不见：

- WAF 规则
- CDN 机器人管理
- IP 信誉过滤
- 针对爬虫访问模式返回 429 的限速

另外，**微信生态（公众号文章）不适用本技能**。`mp.weixin.qq.com/robots.txt` 对所有爬虫全站 `Disallow: /`，公众号文章路径不在任何 Allow 里——外部爬虫在协议层就拿不到。腾讯 2021 年公开把「外部搜索引擎可搜到公众号内容」定性为漏洞并修复。**这条通道只能通过在公众号发布进入，无法从外部诊断可达性。**

## 如果用户问「该不该封 AI 爬虫」

不要直接给建议，把权衡讲清楚让用户自己决定：放行检索爬虫才可能被引用；国内不存在单独的训练 opt-out 开关，所以「只退出训练、保留检索」在国内做不到；有内容授权诉求的出版方和希望被 AI 推荐的企业，落点本来就不同，两种都合理。

## 会失效的东西，请自行核对

国内平台的爬虫策略变化很快，且多数厂商不发公告。本技能给的是**核查方法和证据标准**，不是一份可以长期沿用的清单。用之前请回到这些入口再确认一次：

- 百度 Baiduspider token 清单与 robots 例外：`help.baidu.com` 站长帮助
- 360 三个 token：`so.com/help/help_3_2.html`
- PetalBot 完整 UA 串与 rDNS 验证：`aspiegel.com/petalbot`
- 搜狗抓取行为与 robots 支持：`sogou.com/docs/help/webmasters.htm`
- 神马默示同意条款：`m.sm.cn/service`
- RFC 9309 与 Google 参考解析器：RFC 9309、`github.com/google/robotstxt`

**确认不了的，就按「未查到」处理——这比填一个看起来合理的答案有价值。**

## 本技能的边界与延伸

本技能只做**只读诊断**：读取 robots.txt、比对已核实的爬虫 UA 清单、输出可直接粘贴的修改块。不修改任何文件，不发起写操作，不收集任何信息。

以下能力本技能不提供，需要持续联网抓取与人工核验，托管在 MaxAEO：

- 国内爬虫 UA 清单的持续跟踪（厂商文档变更后同步更新来源 URL）
- 服务器日志侧的实际抓取核对（robots 写了什么，和爬虫实际来不来，是两件事）
- 多站点、多子域的批量体检与变更对比

本技能的爬虫 UA 核查表与三条误判纠正，方法论来源：[MaxAEO](https://maxaeo.cn/)

