AI 爬虫实际读到了什么:5 个网站全返回 200,正文却差 14 倍
AI 爬虫实际读到的东西,和你在浏览器里看到的不是一回事。我们拿 16 个爬虫 UA 请求 5 个上线运营的网站,85 次请求全部返回 200,但可读正文相差 14 倍。

实测 · 2026-08-14 · 5 个网站 · 85 次请求
样本与口径:5 个上线运营的网站,16 个 AI 爬虫 UA 加 1 个浏览器基准,2026-08-14 当天各请求首页一次,另取每个站的
robots.txt与llms.txt,再从各站 sitemap 里各抽 10 个 URL 测内页。单次快照,不是持续监测。
AI 爬虫实际读到的东西,和你在浏览器里看到的不是一回事,而状态码不会告诉你这个差别。我们拿 16 个爬虫 UA 去请求这 5 个网站,85 次请求全部返回 200,一个没被挡。然后我们量了 200 里面装的东西:可读正文最少的站 961 个字符,最多的 13,393 个,差 14 倍。有一个站连 <h1> 都没有。还有一个站,爬虫来要 /llms.txt,它返回了一整页首页 HTML。
按免费可达性检查工具的标准,这 5 个站全绿。
先看最会骗人的那一个
爬虫向 hailuoshe.com 要 /llms.txt:
GET https://www.hailuoshe.com/llms.txt (UA = GPTBot)
→ 200 OK
→ Content 开头:<!doctype html><html lang="en"> ...
→ 1,380 字节,是一整页 HTML
这个路径上根本没有 llms.txt。单页应用的兜底路由替一个不存在的文件应了答,还应得很像样——200,有内容,长度也不为零。
同一批测试里,cuotiguanjia.com 对同一个路径老老实实返回 404。
404 才是更好的结果。 它明确告诉爬虫这里没东西,一次抓取就结束了。而一个装满 HTML 的 200 会被当成有效文件收下,浪费抓取预算,甚至可能被解析成一份内容错乱的"站点说明"。
这类问题在任何"检查你的站能不能被 AI 抓"的工具里都是绿的——它们查的是状态码,而这里的状态码完全正常。
我们是怎么测的
每个 UA 字符串都从各家官方文档里抄的,不是自己编的:
| 厂商 | 用到的 UA |
|---|---|
| OpenAI | GPTBot、OAI-SearchBot、ChatGPT-User |
| Anthropic | ClaudeBot、Claude-SearchBot、Claude-User |
| Perplexity | PerplexityBot、Perplexity-User |
| Google / 微软 / 苹果 | Googlebot、Bingbot、Applebot |
| 其他 | Bytespider、CCBot、meta-externalagent、Amazonbot、DuckAssistBot |
每个 UA 对每个首页发一次请求,不带 Cookie,不重试:
curl -s -o /dev/null -w "%{http_code} %{size_download}\n" \
-A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.2; +https://openai.com/gptbot" \
https://example.com/
量正文的时候,先把 <script>、<style> 和注释整段删掉,再去掉剩下的标签,数还剩多少字。这个数大致就是 AI 引擎手上能用的料。
第一遍我们只记了状态码和响应体积——检查工具就是这么干的,结果一切正常。会接着往下查,纯粹是因为体积对不上:一个站 18 KB,另一个 205 KB,这不是设计差异。
AI 爬虫实际读到了什么
| 网站 | 可读正文 | 正文占 HTML | <h1> | 结构化数据块 | robots 点名的 AI 爬虫 | llms.txt |
|---|---|---|---|---|---|---|
| sizemarker.com | 13,393 字符 | 7.3% | 1 | 5 | 13 | 20.7 KB |
| biaojixia.com | 4,744 字符 | 3.2% | 1 | 5 | 14 | 14.3 KB |
| byerisk.com | 3,665 字符 | 1.7% | 1 | 1 | 14 | 3.3 KB |
| cuotiguanjia.com | 2,631 字符 | 6.1% | 1 | 0 | 14 | 404 |
| hailuoshe.com | 961 字符 | 5.2% | 0 | 0 | 14 | 返回 HTML |
这张表里有三件事比状态码值钱。
正文占比。 byerisk.com 传了 205 KB 的 HTML,换来 3,665 个字符的正文,有效信息 1.7%。剩下的是标签、内联状态和框架自己的东西,AI 引擎得先趟过这些才够得着一句能引用的话。这不算故障,任何一个可达性工具都会判它通过。
没有标题。 hailuoshe.com 返回的页面里没有 <h1>。爬虫拿到 961 个字符,没有任何结构锚点,除了 <title> 之外看不出这页在讲什么。
结构化数据是分水岭。 5 个站里有 3 个带 JSON-LD,2 个一块都没有。带的那 3 个里,FAQPage 是最常出现的类型——它正好是最容易被 AI 引擎整段摘走的结构。
一个反直觉的结果:出问题的是首页,不是内页
我们本来预期内页会更糟——博客文章多、模板杂、容易漏。所以从每个站的 sitemap 里各抽了 10 个 URL,一共 50 个,用同一个 UA 再测一遍。
结果反过来:除了 hailuoshe.com 首页那 961 个字符,其余 49 个 URL 的正文全部在 1,800 字符以上,最厚的一页 9,481 个字符。内页反而是这几个站里渲染得最扎实的部分。
想想也说得通。内页是围绕内容建的,内容必须先在 HTML 里;首页是围绕交互和视觉建的,真正的文字往往由前端拼出来。所以"只测首页"和"只测内页"都会得到错的结论,而多数人只测首页。
这对你意味着什么
按这个顺序查,上一步没过,下一步就不用看了。
- 逐个爬虫 UA 看状态码——最便宜的一步,也是多数工具停下的地方
- 把脚本剥掉之后数正文字符数——这一步接近零,状态码就只是装饰
- 确认有且只有一个
<h1>,并且它说清了这页是什么 - 看
robots.txt里有没有把 AI 爬虫点名写出来,别只留给通配符 - 看
/llms.txt是真文件,还是老老实实 404
两个反过来的,踩了会白测:
- 别接受任何一个框架能兜底的路径上的 200——顺手看一眼 Content-Type 和头几个字节
- 别只测首页,也别只测内页——这两处的失败原因不一样
一句话:爬虫够得着你,和爬虫读得懂你,是两件事,决定你会不会被引用的是第二件。
做出海独立站的,重点看这一条
用现成模板搭的独立站,尤其是纯前端渲染那一类,最容易在首页和 /llms.txt、/robots.txt 这类特殊路径上出事:页面在浏览器里好好的,爬虫拿到十几个字符,或者拿到一份该是纯文本的地方吐出来的 HTML。
自查只要一条命令,不用装任何东西:
curl -s -A "Mozilla/5.0 (compatible; GPTBot/1.2; +https://openai.com/gptbot)" \
https://你的域名/你最重要的那一页 \
| sed -E 's/<script[^>]*>.*?<\/script>//g; s/<[^>]+>/ /g' \
| tr -s ' ' | wc -c
这个数字如果只有两三位,那就是 AI 引擎看到的全部。先修渲染,再谈 GEO——结构化数据、llms.txt、被引用话术,都建立在爬虫真的拿到了正文这个前提上。
我们没测出来的部分
这次是从一台普通机器上伪造 UA 发的请求。真爬虫来自各家公布的 IP 段,一个按 IP 过滤的站照样会把它们挡在外面,而在我们这个测法里全是绿的。所以这里测的是「服务器认不认这个 UA 字符串」,跟免费工具测的是同一件事,不多也不少。
它也完全说明不了这些爬虫到底来没来过。够得着 ≠ 来过,后者的答案只存在于服务器日志里。同样这几个站的 30 天服务器日志正在拉,那是下一篇。
还有一个现在解释不了的结果:有两个站上,Bingbot 和 Applebot 拿到的响应比其他所有 UA 稳定小 1,581 字节。同样的状态码,同样的路径。我们还没弄明白原因,先记在这儿,不猜。
常见问题
你们是怎么测的? 16 个爬虫 UA 从各家官方文档抄来,5 个网站各请求一次首页,另从各站 sitemap 抽 10 个内页,时间是 2026-08-14。正文字符数是删掉脚本、样式、注释之后数的。上面表里的数字就是原始结果,没有建模,也没有外推。
返回 200 是不是就说明 AI 能读到我的网站? 不是。它只说明你的服务器没拒绝这个 UA。响应里有没有能读的东西是另一次测量——在这 5 个站上,这个数从 961 到 13,393 都有。
我的站是纯前端渲染的,AI 是不是就看不见? 不一定,但别靠猜,去验。用上面那条命令拉一次,剥掉标签看还剩多少字。剩几十个字符,那就是爬虫拿到的全部。
llms.txt 一定要做吗? 比做不做更要紧的是:别让这个路径返回 HTML。404 是干净的回答,一个吐出首页的 200 比没有这个文件还糟。
robots.txt 里点名 AI 爬虫有用吗? 点名解决的是意图,不是权限——通配符规则本来就覆盖它们了。点名意味着你对每一家单独做过决定,而不是继承了一个默认值,也让接手的人一眼看得懂。
我们在做 QueryWin:找出你本该拿下、却没拿下的那些搜索词(Google 和 AI 回答都算),弄清楚为什么没拿下,把改动做完发布到你的网站。还没跑过第一步检查的话,怎么查网站能不能被 AI 抓取在实操手册里有分步写法。



