首页/学习 GEO/JavaScript 会执行吗
技术 GEO · 渲染

AI 爬虫会执行 JavaScript 吗?

这是“回答有多笃定”和“背后有多少证据”之间落差最大的一个问题。两家引擎在文档里写明会渲染,一类客户端因其构造必然渲染,其余的只被测过一次:一个月,一家公司。

本页内容
分享本文
分享到 X 分享到 LinkedIn
简短回答

有的会,多数一个字也没说,而这个问题上那种笃定的答法,是它自己的证据撑不起来的。Google 和 Apple 都在自己的文档里写明会渲染 JavaScript,智能体浏览器会渲染是因为它们本来就是 Chromium 构建;至于传统的 AI 爬虫,全部公开记录只有一份基础设施日志研究,日期为 2024 年 12 月 17 日,它在所考察的五个爬虫家族里都没有发现执行,尽管 OpenAI 那几个代理有 11.50% 的抓取花在下载 JavaScript 文件上,Anthropic 的是 23.84%。1

关键要点
  • Google 和 Applebot 在自己的文字里写明会渲染,Gemini 则继承了 Googlebot 的渲染器。OpenAI、Anthropic 和 Perplexity 两个方向都没有表态。
  • 人人都在引用的 5.69 亿这个数字,来自同一篇文章另一个小节的抓取量统计。那次渲染测试既没有写明样本量,也没有写明日历时间窗。
  • 执行是靠一个“页面渲染完成即触发”的信标来检测的,所以“没有渲染器的爬虫”和“信标发不回来的爬虫”看上去完全一样。
  • 微软的助手因为没有独立的 user agent 被作者排除在外,而这些厂商今天记录在案的好几个令牌,当时都不在样本里。
  • 这些都不改变你该发布什么:首屏 HTML 响应里的文字,任何一类系统都读得到,哪怕它是以 JSON 的形式在那里。
三分法

AI 爬虫会执行 JavaScript 吗?

这里有三组,不是两组,而网上多数争论都来自把它们压成一组。有两家引擎在自己的文字里写明会渲染:Google“只要 JavaScript 未被屏蔽就能处理其中的内容”,同时附带一句提醒,说 JavaScript 框架会让这项工作“通常更复杂”3;以及“Applebot 可能会在浏览器里渲染你网站的内容”,而 Apple 警告说,如果你的 JavaScript 和 CSS 在 robots.txt 里被屏蔽,它可能就做不到。5 Gemini 继承了 Googlebot 的渲染器1;智能体浏览器会渲染,是因为它们本来就是 Chromium:哥伦比亚大学 Tow 中心在 2025 年 10 月发现,其中一个取回了一篇九千词、藏在客户端遮罩后面的仅限订阅者文章,而同样这几家公司的普通对话界面则说自己访问不了。9

第三组才是人人争论的那一组,而它恰恰是没人说过任何话的那一组。去读 OpenAI、Anthropic 和 Perplexity 公布的机器人文档,render、rendering 和 JavaScript 这几个词一次都不出现(核查于 2026 年 8 月 30 日)。678 这份沉默本身就是结论,也正因如此,一份日志研究才承担了这么重的分量。

01

文档写明会渲染

Google 与 Applebot,写在它们自己的文字里,再加上因继承而渲染的 Gemini。请假定你的脚本在这里会被执行,也请假定屏蔽自己的 JS 或 CSS 只会伤到你。

02

因其构造而渲染

智能体浏览器就是 Chromium。它们运行你的打包文件、读取 DOM,出现在你日志里时更像一次普通的 Chrome 会话,而不是一个声明过身份的机器人。

03

只被测过一次,此后沉默

OpenAI、Anthropic、Meta、字节跳动和 Perplexity 的爬虫。一份日志研究没有看到执行。这五家没有任何一家表过态。

这次测量

2024 年 12 月那项研究究竟测了什么?

一家托管公司和一家 SEO 咨询公司读自己的服务器日志,以博客文章形式发表于 2024 年 12 月 17 日,署名四位作者。1 涉及的资产是:那家托管公司所维护框架的文档站、它更大范围的网络,以及两个用作跨技术栈对照的招聘网站。这就是全部样本:第一方日志数据,是“某个爬虫做了什么”这个问题上现有最强的证据;同时又是一家厂商自有流量的便利样本,对“爬虫们普遍怎么做”来说是很弱的证据。

时间窗值得精确复述,因为它一直被转述错。整篇文章没有印出任何日历区间。它的流量数字以“在过去一个月”引出,而数据采集小节说主要数据来自“过去几个月”对那些资产的监测。页面上唯一的日期是发表日期,所以任何给它指定一个起始月份的复述都是推断而不是引用;而本站在 2026 年 8 月之前,做的恰恰就是这个推断。

人人引用的那个数字其实属于另一条论断。5.69 亿次 GPTBot 抓取和 Anthropic 爬虫的 3.70 亿次,位于“规模与分布”那一节,旁边是 Googlebot 的 45 亿次、Applebot 的 3.14 亿次和 PerplexityBot 的 2440 万次。它们测的是发生了多少抓取。紧随其后的渲染那一节给出结论时没有任何样本量:没有页面数、没有请求数、没有按爬虫的拆分。把抓取量当成渲染测试的 n 来引用,是这份材料最常被用错的地方。

检测方式

执行是怎么被检测出来的,这个测试又会漏掉什么?

靠一个信标。方法不在那篇 AI 爬虫文章里,而在它为“更多细节”所链接的 2024 年 7 月那篇文章里:同一批人在那里描述了如何在这些资产上放置自定义的边缘中间件,用来识别机器人请求,并往发给它们的 HTML 里注入一个轻量 JavaScript 库。该库在页面渲染完成时触发,把一个请求标识和一个时间戳报回一台独立服务器;把这些回报和原始访问日志对上,就能知道哪些请求渲染过。2

这是个好设计,而且它是单向的。信标触发了,就证明执行过。信标从没触发过,只能证明没有回报抵达;而除了“没有渲染器”之外,还有别的情况会造成同样结果:一个在无外网沙箱里跑脚本的爬虫、一个丢弃子资源请求的爬虫、一个对信标的抓取被屏蔽或超时的爬虫。这些都无法与“只读 HTML 的客户端”区分开。“主要的 AI 爬虫都不渲染 JavaScript”是对一个零结果的一种合理读法,但它不是唯一的读法。

那篇更早的文章把自己的范围写得很清楚:它聚焦 Googlebot,在 2024 年 4 月 1 日至 30 日间提供了超过 37,000 个与服务器信标配对的已渲染页面,并且说团队仍在收集 AI 厂商方面的数据。2 这套仪表是在一个确实会渲染的爬虫上大规模验证过的。它在那些看来不渲染的爬虫身上得到的是一个“无”,而“无”没有样本量可以报告。

覆盖范围

哪些爬虫被覆盖了,哪些没有?

五个家族被点名为不渲染,两个被点名为渲染,还有一个助手因为没有独立的 user agent 而被直接排除。

爬虫在 2024 年 12 月的样本里吗?观察到了什么厂商今天关于渲染的表态
Googlebot 与 Gemini会渲染,共用同一套基础设施有,Google 有文档3
Applebot在浏览器里渲染有,Apple 有文档5
GPTBot、OAI-SearchBot、ChatGPT-User、ClaudeBot未观察到执行两个方向都没有67
Meta-ExternalAgent、Bytespider、PerplexityBot、CCBot未观察到执行两个方向都没有8
OAI-AdsBot、Claude-SearchBot、Claude-User不在样本里从未被测过两个方向都没有
微软的助手被作者排除从未被测过本研究未涵盖

把这张清单和这些厂商今天公布的东西对照着读,缺口一目了然。Anthropic 现在记录的是三个机器人而不是一个,把训练、用户触发的抓取和搜索质量拆了开。7 OpenAI 现在列的是四个令牌而不是三个,其中包括一个广告爬虫。6 研究之后新增的令牌,没有一个在样本里;所以对它们来说,诚实的答案不是“它们不渲染”,而是“没人看过”。

二十个月

2024 年 12 月之后有什么变化?

有三件事,没有一件是复现。第一,文档变了。Anthropic 现在描述的是:ClaudeBot 用于训练、Claude-User 用于用户触发的抓取、Claude-SearchBot 用于搜索质量,页面最后更新于 2026 年 4 月 7 日。7 Google 的生成式 AI 指南最后更新于 2026 年 7 月 10 日,那句关于处理 JavaScript 中内容的话仍在。3 沉默那一侧的每一处新增都保持了沉默,所以这份沉默是扩大了,而不是被填上了。

第二,来了一整类新的客户端。研究进行时智能体浏览器还不是大众产品,如今它已由样本中的两家公司发布。它们什么都渲染,在访问日志里与 Chrome 无从分辨,而且能读到本该被爬虫层封锁所保护的文字。9 任何声称“AI 看不到你的 JavaScript”的建议,对越来越大的一部分 AI 流量来说已经是错的。

第三,什么都没有被复现。本课程没能找到第二份关于 AI 爬虫渲染的日志研究,没有厂商证实或否认过这个结论,而更早那篇文章里承诺的、针对 AI 厂商的后续也没有出现。2 二十个月在这里是很长的时间。正确的反应不是把结论翻过来,也不是继续把它当定论来引用。

单页应用怎么办

如果你的站是单页应用,该怎么办?

重写不是要求。要求要窄得多:读者会引用的那些文字,必须出现在首屏 HTML 响应里。那项研究自己的建议就是这么划范围的,它点名把正文、标题、描述、分类和导航放到服务端渲染,同时把客户端渲染留给浏览计数、挂件和交互增强。1

可回旋的余地比团队以为的大,因为目标是响应体,而不是渲染后的标记。同一篇文章指出,包含在首屏 HTML 响应里的内容,包括 JSON 数据,仍可能被收录,因为这些系统能解读非 HTML 的内容。1 一个已经把页面数据序列化进文档的框架,其实早就过了这道线,谁也不用迁移什么。

所以先做那次抓取。用一个不跑 JavaScript 的普通命令行客户端请求页面,然后读返回的内容。如果标题、前两段和站内链接都在里面,这个页面的话题就此结束。如果拿到的是一个空容器加一个打包文件,你知道的就是按页面而不是按整站计的问题。有个团队原本已经准备好迁移,把这套检查跑完整个营销站后发现:十四个关键页面里有十一个本来就在响应里给出了正文,而剩下三个分别是价目表、对比表格和一篇客户故事,也就是引擎最想引用的那三页。

值得做的省钱修法

  • 把承载你论点的那些页面做预渲染或静态生成,应用本体不动
  • 在动框架之前,先把页面正文序列化进首屏响应,HTML 或 JSON 都行
  • 在资源缺失时也能干净地渲染,也就是 Apple 文档里所说的优雅降级5

不值得做的事

  • 嗅探 user agent 给机器人另发一版页面:Google 称动态渲染是权宜之计,而非推荐方案4
  • 仅凭一篇未被复现的博客文章、而不是凭你自己跑过的抓取,就论证一次框架迁移
  • 在 robots.txt 里屏蔽自己的 JavaScript 和 CSS,这会直接打断那两家确实会渲染的引擎
一次未被复现的测量能确立什么,又不能确立什么

它能确立的是这些:在那些资产上、在那个月里,带着那些 user agent 的请求没有产生渲染信标。这是一个真实的观察,也是迄今任何人公开过的最好证据。它不能确立的是:那些爬虫没有渲染器、这个结论在 2026 年仍然成立、它对这些厂商后来新增的令牌成立,或者它在那一家托管网络之外成立,而该网络里被采样的最大资产恰好是这家厂商自己维护的框架的文档站。这里的利益关系值得说明,但不必当作一票否决:这家发布方卖的就是服务端渲染,而结论推荐的正是服务端渲染。第一方日志数据依然是这个问题上正确的证据;但一篇没有写明样本量、也没有写明时间窗的博客文章,撑不起行业在它上面盖起来的那句话。

产品在哪里派得上用场,在哪里派不上

这一页上的事没有一件需要软件。检查是每页一条命令,修复是你自己团队掌握的一个构建期决策。Bavior 不爬你的站,不渲染页面,也无法告诉你某个引擎有没有执行你的打包文件;没有任何工具能做到,因为引擎不会报告这件事。它做的事在下游:按计划把一组固定的 prompt 打到五个引擎上,并记录每条答案引用了哪些来源,从而让你看出把正文挪进首屏响应之后,被点名的人有没有变。当被引用的来源是一条活跃的讨论帖时,它会用你掌控的账号起草回复,交由你在任何内容发出之前审批。免费 AI 可见性检测免费 GEO 体检不需要付费方案;付费方案为按月支付每月 99 美元起,或按年支付每月 79.17 美元(截至 2026 年 8 月 30 日)。

出处,全部核查于 2026 年 8 月 30 日
  1. Zecchini、Moore、Ubl、Siddle,《The rise of the AI crawler》,Vercel 与 MERJ,2024 年 12 月 17 日(唯一一份公开测量;第一方日志数据;未写明日历时间窗):vercel.com/blog/the-rise-of-the-ai-crawler
  2. Zecchini、Moore 等,《How Google handles JavaScript throughout the indexing process》,Vercel 与 MERJ,2024 年 7 月 31 日(信标方法;Googlebot,2024 年 4 月 1 日至 30 日,逾 37,000 个配对页面):vercel.com/blog/how-google-handles-javascript-throughout-the-indexing-process
  3. Google Search Central,《Google’s Guide to Optimizing for Generative AI Features on Google Search》,最后更新于 2026 年 7 月 10 日(JavaScript 处理;第一方文档):developers.google.com/search/docs/fundamentals/ai-optimization-guide
  4. Google Search Central,《Dynamic rendering as a workaround》,最后更新于 2025 年 12 月 10 日(第一方文档):developers.google.com/search/docs/crawling-indexing/javascript/dynamic-rendering
  5. Apple,《About Applebot》(浏览器渲染、被屏蔽的资源、优雅降级;第一方文档):support.apple.com/en-us/119829
  6. OpenAI,爬虫与机器人文档(四个令牌;整页没有任何关于渲染的表述;第一方):developers.openai.com/api/docs/bots
  7. Anthropic,《Does Anthropic crawl data from the web?》,更新于 2026 年 4 月 7 日(三个机器人;没有关于渲染的表述;第一方):support.claude.com/en/articles/8896518
  8. Perplexity,机器人文档(PerplexityBot 与 Perplexity-User;没有关于渲染的表述;第一方):docs.perplexity.ai/guides/bots
  9. Chandrasekar 与 Jaźwińska,哥伦比亚大学新闻评论 Tow 数字新闻中心,《How AI Browsers Sneak Past Blockers and Paywalls》,2025 年 10 月 30 日:cjr.org/analysis/how-ai-browsers-sneak-past-blockers-and-paywalls.php
常见问题

你想知道的,都在这里。

我的单页应用必须整体重写,才能被 AI 搜索引用吗?

几乎肯定不必。要求只是:读者会引用的那些文字要出现在首屏 HTML 响应里,而不是整个应用都要服务端渲染。把承载论点的那几个页面做预渲染或静态生成就够了;2024 年 12 月那项研究本身也明确保留了客户端渲染的位置,用于浏览计数、挂件和交互增强这类根本没有可引用内容的地方。

“AI 爬虫看不到 JavaScript”这个说法成立吗?

作为一句普遍结论并不成立。Google 和 Applebot 都在文档里写明会渲染,Gemini 跑在 Googlebot 的基础设施上,智能体浏览器则是会执行一切的 Chromium 构建。这个说法源自 2024 年 12 月 17 日发布的一份基础设施日志研究,它在五个爬虫家族上都没有观察到执行。此后无人复现,那一组厂商也没有任何一家在文档里表过态。

怎么检验我页面的正文是否在首屏 HTML 响应里?

用一个不跑 JavaScript 的普通命令行客户端请求这个页面,然后读返回的内容。如果标题、前两段和站内链接都在里面,这个页面的问题就此了结。如果你拿到的是一个空容器加一个脚本包,那你就发现了一个真问题,而且是按页面而不是按整站发现的。

既然智能体浏览器什么都渲染,服务端渲染还重要吗?

重要,因为这两类客户端读你的站是出于不同目的。智能体浏览器渲染的是某个人当下点名要的那一个页面,只在一次会话里。而爬虫构建的是决定你能不能成为候选的那个索引,并且抓取量最大的那几个爬虫恰恰没有任何渲染方面的文档。把正文放进响应体能同时覆盖两者;只指望智能体渲染,覆盖的只是那些本来就已经找到你的流量。

Bavior 编辑部

负责调研与维护 Bavior 关于 Reddit 营销和 AI 搜索可见度的全部内容。文中每一个数字都注明了来源出处与核查日期,所有外链均非联盟推广链接。

发现数字有误?告诉我们,我们会重新核查:support@bavior.com

你的正文要么在 HTML 里,
要么就只是一个猜测。

免费试用