怎么查网站能不能被 AI 抓取(一条命令跑完)

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

抓取与收录5 分钟读完1213 次阅读
怎么查网站能不能被 AI 抓取(一条命令跑完)

要查网站能不能被 AI 抓取,最快的办法是拿各家 AI 爬虫的身份去敲一次门,看返回码。200 就是抓到了。403、跳到人机验证页、或者干脆超时,说明有东西在你的网站前面把它拦了下来——而这件事 robots.txt 里一个字都不会告诉你。整个检查两分钟,不用注册,不用装插件。

「能不能被抓到」到底指什么

只指一件事:AI 爬虫按你的网址发一个 HTTP 请求,你这套东西把页面吐回去了没有。不是你在 robots.txt 里允许没允许,也不是爬虫想不想要你的内容。是字节回来了没有。

这是手册的第一步,因为后面每一步都默认它已经过了。抓不到的页面,谈不上收录,更谈不上被引用。

robots.txt 写了放行,不代表抓得到

robots.txt 是你的意愿。它是一个文本文件,爬虫愿意遵守才遵守,本身拦不住任何人。真正决定一次请求成不成的有三层:robots.txt 允许了什么、你的 CDN 或 WAF 在边缘做了什么、你的源站返回什么。说「不」的通常是中间那层,而它在 robots.txt 里根本不出现。

查网站能不能被 AI 抓取要看三层:robots.txt 写了放行、CDN 边缘规则把请求挡掉、源站根本没被访问到

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 串就够

边缘的机器人规则匹配的是里面那个标识——GPTBotPerplexityBot——不是外面那圈浏览器样式的长串。OpenAI 和 Perplexity 公开了完整串;Anthropic 只公开爬虫名和 IP 段,没给完整 UA,所以上面那几行用的是官方文档里的标识加一个最简外壳。哪家有完整串,从下面表格里的官方页面复制过去就行。

哪些 AI 爬虫值得测

它们干的活不一样,被挡掉的代价也就不一样。搜索类爬虫决定今天的答案里有没有你,训练类爬虫喂的是明年的模型。挡掉前一类是把自己变透明;挡掉后一类是一笔生意上的取舍,不是可见性问题。

标识干什么的挡掉的代价
OAI-SearchBot为 ChatGPT 搜索建索引——直接掉出 ChatGPT 的取材池
ChatGPT-User用户提问时临时来抓一次——丢掉实时取材
PerplexityBot为 Perplexity 结果建索引
Perplexity-User用户触发的抓取
Claude-SearchBot改进 Claude 的搜索结果
Claude-User用户触发的抓取
GooglebotGoogle 的索引,AI 概览和 AI 模式都从这里取材最高
bingbotBing 的索引,Copilot 从这里取材
GPTBot模型训练自己定
ClaudeBot模型训练自己定
meta-externalagent模型训练与产品内容索引自己定
CCBotCommon Crawl 的公开语料,很多模型都用它自己定

UA 串与用途的出处:OpenAIPerplexityAnthropicGoogleMeta 的官方文档。

有两个根本测不了

Google-ExtendedApplebot-Extended 从来不发请求。它们是 robots.txt 里的控制标识,不是爬虫。Google 的文档写着 Google-Extended「没有独立的 HTTP 请求 user agent 字符串」;Apple 的文档写着 Applebot-Extended「不抓取网页」,只管已经被 Applebot 抓走的内容能不能拿去训练。

GPTBot 会向服务器发真实请求,Google-Extended 和 Applebot-Extended 只是 robots.txt 控制标识,从不发请求

所以哪个工具报告「Google-Extended:已放行」,报的是你自己 robots.txt 里写了什么,不是线上发生了什么。压根没有请求可看。这两个只能靠改 robots.txt 定,而且改完没有任何实时检查能验证——包括这篇教的方法。

返回码怎么读

先看返回码,再看正文。正常网站会遇到的基本就这六种,其中只有 200 还可能骗你。

返回码说明什么接下来做什么
200抓到了先别高兴,看下面第三条
301 / 302被跳转了-L 重跑;跳去登录页或人机验证页的,是换了件衣服的拦截
403拒绝,几乎都发生在边缘去 CDN 后台找机器人防护规则,不是去改 robots.txt
429被限流通常不致命,爬虫会退避后重来
503返回了人机验证或等待页按拦截处理——爬虫不会去过验证
000连接就没建起来TLS 或防火墙问题,换个网络再试一次

这个检查会在三个地方骗你

这个方法快,是因为它浅。查网站能不能被 AI 抓取最容易犯的错,就是把「我测出来是 200」当成「真爬虫也拿得到」。相信一次全绿之前,先知道这三条限制。

  1. 它用的是你的 IP,不是爬虫的 IP。按 IP 段或 ASN 拦截的规则——好几家防护产品就是这么干的——这个方法完全看不见。这里返回 200,不代表真爬虫来的时候也是 200。只有服务器日志能定这件事,那是后面的章节。
  2. 它只测了一个网址。边缘规则经常是按路径配的。首页、一篇深层文章、一个表单后面的页面,各跑一遍再对比。
  3. 200 也可能是个空壳。如果正文是前端渲染出来的,爬虫拿到的可能只是个框架。加上 -o page.html,然后在文件里搜一句你确定写过的话;HTML 里没有,爬虫也没看见。

第三条不是假设。同一套检查在 5 个上线运营的网站上跑过,85 次请求全部返回 200,可读正文却从 961 字符到 13,393 字符,差十四倍。同样的返回码,完全不同的结果。量出来的数据在《AI 爬虫实际读到了什么》里。

常见问题

GPTBot 返回 403,是不是 ChatGPT 就不会引用我了?

不一定。GPTBot 是训练爬虫。决定 ChatGPT 今天能不能拿出你的是 OAI-SearchBotChatGPT-User,先看这两个再下结论。

训练类爬虫该不该放行?

这是生意上的取舍,不是技术问题,这一章故意不替你回答。这里要保证的只有一件事:这个决定是你主动做的,而不是某个默认设置替你做了、你还不知道。

多久重跑一次?

换 CDN、换主机、换套餐之后各跑一次——默认值就是在这些时候被重新套上去的。平时一个季度一次够了。

下一步

全绿的话,抓取这关就过了,下一个问题是哪些搜索词你差一点就能赢。出现 403 或 503 的先修这个:拦截发生在边缘,要改的是 CDN 后台的一个开关,不是 robots.txt 里的一行。

找出问题是简单的那一半。把页面改完、发出去、再推着它被收录,才是多数网站真正卡住的地方——这也是这本手册存在的理由。

本文属于 QueryWin 实操手册 · 第 1 阶