技術 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、結構化資料同實際正文內容,係咪真係存在於嗰個靜態markup入面,定係要等你個JS框架完成hydration先至出現。

分析原理

貼上嚟嘅HTML會俾人解析成真正嘅DOM(唔係簡單嘅regex掃描),然後攞去同唔渲染嘅爬蟲用嚟理解同索引頁面嘅確切訊號做比對。

靜態 SEO 標籤存在性

Title、meta description同rel="canonical"係直接由解析完嘅markup入面讀出嚟。如果框架係用JavaScript去注入呢啲嘢(React/Vue路由常見嘅做法),喺呢度就會顯示為缺失——同唔渲染嘅爬蟲實際見到嘅一樣。

正文內容同文件大細嘅對比

去除咗script、style同noscript嘅內容之後,量下剩返嗰啲睇得到嘅文字,對比返成份文件嘅總大細。一個頁面成日淨係一個<script> bundle包住個幾乎空白嘅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解析邏輯一致,唔會俾人當做可以複製嘅客戶端程式碼咁曝露出嚟),請求完結之後就唔會再儲存。