怎么查网站能不能被 AI 抓取(一条命令跑完)
要查网站能不能被 AI 抓取,最快的办法是拿各家 AI 爬虫的身份去请求一次,看返回码。这篇给可直接粘的命令、值得测的 12 个爬虫,以及两个根本测不了的。

要查网站能不能被 AI 抓取,最快的办法是拿各家 AI 爬虫的身份去敲一次门,看返回码。200 就是抓到了。403、跳到人机验证页、或者干脆超时,说明有东西在你的网站前面把它拦了下来——而这件事 robots.txt 里一个字都不会告诉你。整个检查两分钟,不用注册,不用装插件。
「能不能被抓到」到底指什么
只指一件事:AI 爬虫按你的网址发一个 HTTP 请求,你这套东西把页面吐回去了没有。不是你在 robots.txt 里允许没允许,也不是爬虫想不想要你的内容。是字节回来了没有。
这是手册的第一步,因为后面每一步都默认它已经过了。抓不到的页面,谈不上收录,更谈不上被引用。
robots.txt 写了放行,不代表抓得到
robots.txt 是你的意愿。它是一个文本文件,爬虫愿意遵守才遵守,本身拦不住任何人。真正决定一次请求成不成的有三层:robots.txt 允许了什么、你的 CDN 或 WAF 在边缘做了什么、你的源站返回什么。说「不」的通常是中间那层,而它在 robots.txt 里根本不出现。
robots.txt 是你的意愿,CDN 才是执行的那个。
做出海的网站尤其容易踩这个坑。为了让海外用户打开得快,前面套一层 CDN 是标配,而防护规则往往默认开着,你在 robots.txt 里写得再客气也没用。这类规则还会被平台单方面调整,调完不会通知你。
一条命令查网站能不能被 AI 抓取
把 SITE 换成你自己的网址,粘到终端里跑。它按每个爬虫的身份各发一次请求,只打返回码,除了 curl 不需要任何东西。
SITE="https://example.com/"
while IFS='|' read -r name ua; do
[ -z "$name" ] && continue
code=$(curl -s -o /dev/null -m 20 -w "%{http_code}" -A "$ua" "$SITE")
printf '%-20s %s\n' "$name" "$code"
done <<'BOTS'
OAI-SearchBot|Mozilla/5.0 (compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot)
ChatGPT-User|Mozilla/5.0 (compatible; ChatGPT-User/1.0; +https://openai.com/bot)
GPTBot|Mozilla/5.0 (compatible; GPTBot/1.4; +https://openai.com/gptbot)
PerplexityBot|Mozilla/5.0 (compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)
Perplexity-User|Mozilla/5.0 (compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user)
Claude-SearchBot|Mozilla/5.0 (compatible; Claude-SearchBot/1.0)
Claude-User|Mozilla/5.0 (compatible; Claude-User/1.0)
ClaudeBot|Mozilla/5.0 (compatible; ClaudeBot/1.0)
Googlebot|Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
bingbot|Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
meta-externalagent|meta-externalagent/1.1
CCBot|CCBot/2.0 (https://commoncrawl.org/faq/)
BOTS
2026 年 8 月 14 日拿一个线上站点 sizemarker.com 跑,真实结果是这样:
OAI-SearchBot 200
ChatGPT-User 200
GPTBot 200
PerplexityBot 200
Perplexity-User 200
Claude-SearchBot 200
Claude-User 200
ClaudeBot 200
Googlebot 200
bingbot 200
meta-externalagent 200
CCBot 200
十二行,十二个 200。这就是你要的结果,花了四秒。
为什么用这么短的 UA 串就够
边缘的机器人规则匹配的是里面那个标识——GPTBot、PerplexityBot——不是外面那圈浏览器样式的长串。OpenAI 和 Perplexity 公开了完整串;Anthropic 只公开爬虫名和 IP 段,没给完整 UA,所以上面那几行用的是官方文档里的标识加一个最简外壳。哪家有完整串,从下面表格里的官方页面复制过去就行。
哪些 AI 爬虫值得测
它们干的活不一样,被挡掉的代价也就不一样。搜索类爬虫决定今天的答案里有没有你,训练类爬虫喂的是明年的模型。挡掉前一类是把自己变透明;挡掉后一类是一笔生意上的取舍,不是可见性问题。
| 标识 | 干什么的 | 挡掉的代价 |
|---|---|---|
OAI-SearchBot | 为 ChatGPT 搜索建索引 | 高——直接掉出 ChatGPT 的取材池 |
ChatGPT-User | 用户提问时临时来抓一次 | 高——丢掉实时取材 |
PerplexityBot | 为 Perplexity 结果建索引 | 高 |
Perplexity-User | 用户触发的抓取 | 高 |
Claude-SearchBot | 改进 Claude 的搜索结果 | 高 |
Claude-User | 用户触发的抓取 | 高 |
Googlebot | Google 的索引,AI 概览和 AI 模式都从这里取材 | 最高 |
bingbot | Bing 的索引,Copilot 从这里取材 | 高 |
GPTBot | 模型训练 | 自己定 |
ClaudeBot | 模型训练 | 自己定 |
meta-externalagent | 模型训练与产品内容索引 | 自己定 |
CCBot | Common Crawl 的公开语料,很多模型都用它 | 自己定 |
UA 串与用途的出处:OpenAI、Perplexity、Anthropic、Google、Meta 的官方文档。
有两个根本测不了
Google-Extended 和 Applebot-Extended 从来不发请求。它们是 robots.txt 里的控制标识,不是爬虫。Google 的文档写着 Google-Extended「没有独立的 HTTP 请求 user agent 字符串」;Apple 的文档写着 Applebot-Extended「不抓取网页」,只管已经被 Applebot 抓走的内容能不能拿去训练。
所以哪个工具报告「Google-Extended:已放行」,报的是你自己 robots.txt 里写了什么,不是线上发生了什么。压根没有请求可看。这两个只能靠改 robots.txt 定,而且改完没有任何实时检查能验证——包括这篇教的方法。
返回码怎么读
先看返回码,再看正文。正常网站会遇到的基本就这六种,其中只有 200 还可能骗你。
| 返回码 | 说明什么 | 接下来做什么 |
|---|---|---|
200 | 抓到了 | 先别高兴,看下面第三条 |
301 / 302 | 被跳转了 | 加 -L 重跑;跳去登录页或人机验证页的,是换了件衣服的拦截 |
403 | 拒绝,几乎都发生在边缘 | 去 CDN 后台找机器人防护规则,不是去改 robots.txt |
429 | 被限流 | 通常不致命,爬虫会退避后重来 |
503 | 返回了人机验证或等待页 | 按拦截处理——爬虫不会去过验证 |
000 | 连接就没建起来 | TLS 或防火墙问题,换个网络再试一次 |
这个检查会在三个地方骗你
这个方法快,是因为它浅。查网站能不能被 AI 抓取最容易犯的错,就是把「我测出来是 200」当成「真爬虫也拿得到」。相信一次全绿之前,先知道这三条限制。
- 它用的是你的 IP,不是爬虫的 IP。按 IP 段或 ASN 拦截的规则——好几家防护产品就是这么干的——这个方法完全看不见。这里返回 200,不代表真爬虫来的时候也是 200。只有服务器日志能定这件事,那是后面的章节。
- 它只测了一个网址。边缘规则经常是按路径配的。首页、一篇深层文章、一个表单后面的页面,各跑一遍再对比。
- 200 也可能是个空壳。如果正文是前端渲染出来的,爬虫拿到的可能只是个框架。加上
-o page.html,然后在文件里搜一句你确定写过的话;HTML 里没有,爬虫也没看见。
第三条不是假设。同一套检查在 5 个上线运营的网站上跑过,85 次请求全部返回 200,可读正文却从 961 字符到 13,393 字符,差十四倍。同样的返回码,完全不同的结果。量出来的数据在《AI 爬虫实际读到了什么》里。
常见问题
GPTBot 返回 403,是不是 ChatGPT 就不会引用我了?
不一定。GPTBot 是训练爬虫。决定 ChatGPT 今天能不能拿出你的是 OAI-SearchBot 和 ChatGPT-User,先看这两个再下结论。
训练类爬虫该不该放行?
这是生意上的取舍,不是技术问题,这一章故意不替你回答。这里要保证的只有一件事:这个决定是你主动做的,而不是某个默认设置替你做了、你还不知道。
多久重跑一次?
换 CDN、换主机、换套餐之后各跑一次——默认值就是在这些时候被重新套上去的。平时一个季度一次够了。
下一步
全绿的话,抓取这关就过了,下一个问题是哪些搜索词你差一点就能赢。出现 403 或 503 的先修这个:拦截发生在边缘,要改的是 CDN 后台的一个开关,不是 robots.txt 里的一行。
本文属于 QueryWin 实操手册 · 第 1 阶



