テクニカルSEO / AEO

JavaScript レンダリング SEO リスクチェッカー

ページの完全なHTMLソース(View Page Source / Ctrl+Uの出力)を貼り付けて、JavaScriptを実行しないクローラー——あらゆるAIアンサーエンジンクローラーを含む——が実際に見ている内容と、フレームワークがハイドレーション(hydration)を完了した後にのみ表示される内容の違いを確認できます。

DevToolsのElementsパネルではなく「View Page Source」(Ctrl+U)を使用してください。ElementsはJavaScriptが既に実行された後のDOMを表示するため、このチェックの意味がなくなります。貼り付けた内容は、この一回限りの分析のために当サーバーへ一度だけ送信され、他へは送信されません。

このツールがチェックする内容

Googlebotは最終的にJavaScriptを実行しますが、それはリソース予算が制限された2回目のレンダリング波でのみ行われ、数日遅延したり、クロールバジェットの低いサイトでは完全にスキップされることもあります。今日重要な他のほとんどのクローラー——縮小規模のBingbot、そしてほぼすべてのAIクローラー(GPTBot、ClaudeBot、PerplexityBot、CCBot)やソーシャルプレビューボット(Twitterbot、facebookexternalhit、LinkedInBot)——は、そもそもJavaScriptを一切実行しません。本ツールは貼り付けられた静的HTMLを本物のDOMパーサーで解析し、title、meta description、canonicalタグ、H1、構造化データ、そして実際の本文コンテンツが、その静的マークアップに存在するのか、それともJSフレームワークがページをハイドレーションした後にのみ出現するのかを報告します。

分析の仕組み

貼り付けられたHTMLは(単純な正規表現スキャンではなく)本物のDOMとして解析され、レンダリングを行わないクローラーがページを理解しインデックスする際に使う正確なシグナルと照合されます。

静的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アンサーの引用やソーシャルプレビューを左右するクローラーの多くは、そもそもスクリプトを一切実行しません。

Googlebot 遅延実行 JavaScriptを実行しますが、リソース予算が制限された2回目のレンダリング波でのみです——JS依存コンテンツのインデックス化は数日遅れたり、クロールバジェットが限られたサイトではスキップされることがあります。
Bingbot 限定的 Googleよりも小規模かつ厳しい予算でJavaScriptをレンダリングします。静的コンテンツの方が安全な選択です。
GPTBot / ChatGPT-User (OpenAI) 実行しない 生のHTMLのみを取得します。JavaScript実行後にのみ現れるコンテンツはこれには見えません——ChatGPTがあなたのページを引用できるかどうかに直接影響します。
ClaudeBot (Anthropic) 実行しない 生のHTMLのみを取得します。他のAIクローラーと同じ制限があります——Claudeがあなたのページを引用できるかどうかに直接影響します。
PerplexityBot 実行しない 生のHTMLのみを取得します——これはPerplexityでのAIアンサー引用の対象資格に直接影響します。
CCBot (Common Crawl) 実行しない 多数のAI学習データセットに供給されます。生のHTMLのみをクロールし、JavaScriptは実行しません。
facebookexternalhit / Twitterbot / LinkedInBot 実行しない ソーシャルリンクプレビュー(Facebook、Twitter/X、LinkedIn)は、JavaScriptを実行せずに取得された静的metaタグのみから構築されます。
Most SEO / backlink crawlers 実行しない ほとんどのSEO/被リンククローラー(Ahrefs、Semrushなど)は、速度とコストの理由から生のHTMLのみを解析します。

よくある質問

自分のサイトはサーバーサイドレンダリングを使ったNext.js/Nuxtです。リスクありと判定されますか?

いいえ。サーバーサイドレンダリング(SSR)や静的生成(SSG)は、title、metaタグ、H1、本文コンテンツをHTMLレスポンスに直接出力するため、本ツールはそれらを「存在する」と読み取り、フレームワークのルートコンテナも空の殻ではなく実際のテキストを含んでいるはずです。本ツールが特に検出するのは、初期HTMLレスポンスがほぼ空の殻で、JavaScriptバンドルがダウンロードされ実行された後にのみ内容が埋められる、純粋なクライアントサイドレンダリング(CSR)のみのケースです。

なぜここでは「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アンサーやソーシャルプレビュークローラーにとっては、静的HTMLの存在こそが可視性を実際に保証するものです。

このツールは貼り付けたHTMLを保存または共有しますか?

貼り付けられたHTMLは、この一回限りの解析と分析を実行するためにHTTPS経由で一度だけ当サーバーへ送信され(DOM解析ロジックの一貫性を保ち、コピー可能なクライアントコードとして露出させないために必要です)、そのリクエスト以降は保存されません。