技术 SEO / AEO

JavaScript 渲染 SEO 风险检测器

粘贴页面的完整HTML源代码(View Page Source / Ctrl+U 的输出),准确查看不执行JavaScript的爬虫——包括所有AI answer engine爬虫——所看到的内容,对比框架完成hydration后才出现的内容。

请使用"View Page Source"(Ctrl+U),而不是DevTools的Elements面板——Elements显示的是JavaScript已经运行之后的DOM,这样就失去了本检测的意义。内容仅一次性发送到我们的服务器用于本次分析,不会发往其他任何地方。

本工具检测的内容

Googlebot最终会执行JavaScript,但只在第二轮受资源预算限制的渲染中进行,可能延迟数天,或在crawl budget较低的网站上被完全跳过。如今大多数其他重要的爬虫——规模较小的Bingbot,以及几乎所有AI爬虫(GPTBot、ClaudeBot、PerplexityBot、CCBot)和社交预览机器人(Twitterbot、facebookexternalhit、LinkedInBot)——则完全不会执行JavaScript。本工具使用真正的DOM解析器解析你粘贴的静态HTML,并报告你的title、meta description、canonical标签、H1、结构化数据和实际正文内容,是否真的存在于该静态标记中,还是要等JavaScript框架完成hydration后才会出现。

分析原理

粘贴的HTML会被解析为真正的DOM(而非简单的正则扫描),然后按照不渲染JavaScript的爬虫用来理解和索引页面的确切信号进行检查。

静态 SEO 标签存在性

Title、meta description和rel="canonical"直接从解析后的标记中读取。如果框架通过JavaScript注入这些内容(常见的React/Vue路由模式),这里就会显示为缺失——正如不渲染的爬虫所看到的那样。

正文内容与文档大小对比

去除script、style和noscript内容后,测量剩余可见文本相对于文档总大小的比例。一个几乎全是<script>包裹着近乎空白body的页面,是典型的客户端渲染(CSR)特征。

框架根容器检测

常见的SPA挂载点——#root、#app、#__next、#__nuxt、#___gatsby、#svelte、Angular的ng-version、React的data-reactroot——会被定位,并测量其内部文本。空的根容器加上近乎空白的body是页面内容在加载后完全由客户端构建的有力证据。

noscript 兜底内容质量

会检测<noscript>块是否包含真实的兜底内容,而不仅仅是通用的"请启用JavaScript"提示,因为该代码块实际上是不执行JS的访客或爬虫除原始HTML外唯一能看到的内容。

哪些爬虫真正会执行 JavaScript

这正是2026年静态、服务器端可见的SEO信号依然重要的真正原因——大多数决定AI-answer引用和社交预览的爬虫根本不会运行任何脚本。

Googlebot 延迟执行 会执行JavaScript,但仅在第二轮受资源预算限制的渲染中进行——仅依赖JS的内容的索引可能延迟数天,或在crawl budget受限的网站上被跳过。
Bingbot 有限 渲染JavaScript的规模和预算都比Google小得多。静态内容是更稳妥的选择。
GPTBot / ChatGPT-User (OpenAI) 仅抓取原始HTML。只有在JavaScript运行后才出现的内容对它不可见——这直接影响ChatGPT能否引用你的页面。
ClaudeBot (Anthropic) 仅抓取原始HTML,和其他AI爬虫有同样的限制——直接影响Claude能否引用你的页面。
PerplexityBot 仅抓取原始HTML——这直接影响在Perplexity中获得AI-answer引用的资格。
CCBot (Common Crawl) 为众多AI训练数据集提供数据;仅抓取原始HTML,不执行JavaScript。
facebookexternalhit / Twitterbot / LinkedInBot 社交链接预览(Facebook、Twitter/X、LinkedIn)完全基于抓取到的静态meta标签构建,不执行JavaScript。
Most SEO / backlink crawlers 大多数SEO/外链爬虫(如Ahrefs、Semrush等)出于速度和成本考虑,仅解析原始HTML。

常见问题

我的网站使用带服务端渲染的 Next.js/Nuxt——会被标记为高风险吗?

不会。服务端渲染(SSR)和静态生成(SSG)会将title、meta标签、H1和正文内容直接输出到HTML响应中,因此本工具会将它们读取为"存在",框架的根容器也会包含真实文本,而不是空壳。本工具专门标记纯客户端渲染(CSR)的情况,即初始HTML响应几乎是空壳,只有在JavaScript包下载并运行后才会填充内容。

为什么"View Page Source"在这里比 DevTools 的 Elements 面板更重要?

Elements面板显示的是浏览器已经执行完所有脚本之后的实时DOM——即使在纯CSR网站上也总是显示完整,因为浏览器刚刚渲染过它。"View Page Source"(或普通的curl/wget抓取)显示的是不渲染的爬虫在任何JavaScript运行之前实际收到的字节内容。这才是与GPTBot、ClaudeBot、Twitterbot以及大多数SEO爬虫实际看到的内容相匹配的唯一视图。

Google 真的看不好我 JavaScript 渲染出的内容吗?

Googlebot通常确实会渲染JavaScript,但是在一个延迟的、独立的渲染轮次中进行,并且有真实的资源预算限制——Google自己也记录过JS密集型页面出现索引延迟和偶尔渲染失败的情况。对于需要被可靠且快速索引的内容,以及对于所有完全不渲染JavaScript的AI-answer或社交预览爬虫来说,静态HTML的存在才是真正保证可见性的关键。

本工具会存储或分享我粘贴的 HTML 吗?

你粘贴的HTML会通过HTTPS一次性发送到我们的服务器,用于完成这一次性的解析和分析(需要这样做以保持DOM解析逻辑的一致性,而不是作为可复制的客户端代码暴露出来),请求结束后不会被存储。