JavaScript SEO を解説。Google が JS ページをクロール、レンダリング、インデックスする仕組み、CSR と SSR と静的レンダリングの違い、AI クローラーが JS コンテンツを見逃す理由と対策。

要点
JavaScript SEO は、JavaScript で生成されるコンテンツやリンクがクロール、レンダリング、インデックスされるようにする取り組みです。Google は JavaScript をレンダリングできますが、それは別工程で行われ、遅れることもあり、スクリプトがブロックされていたりクリックが必要だったりすると失敗します。多くの AI クローラーは JavaScript をまったく実行しません。最も安全な構成は、サーバーサイドレンダリングまたは静的生成、本物の "a href" リンク、そして重要なコンテンツを最初の HTML に含めることです。
さらに詳しく知るには、こちらに質問
React、Vue、Angular、Svelte などのモダンなフレームワークは、ブラウザ上でページを組み立てます。インタラクティブ性には優れていますが、検索での露出にはリスクがあります。JavaScript SEO は、JS サイトを検索エンジンと AI が読める状態に保つための実践の集まりです。このガイドでは、Google が JavaScript をどう処理するか、レンダリングの選択肢、よくある失敗、ページのテスト方法を解説します。
クロール、レンダリング、インデックスの 3 段階で処理します。Google 検索セントラルでは、この流れを次のように説明しています。
つまり、生の HTML にないものはすべてレンダリングの成否に左右されます。スクリプトがエラーになったり、タイムアウトしたり、robots.txt でブロックされていたりすると、Google はそれ以前に見えた内容をインデックスします。それは中身のない枠だけかもしれません。
違いは HTML をどこで作るかです。ブラウザか、リクエストごとのサーバーか、ビルド時に一度だけか。
| レンダリング方式 | 仕組み | SEO への影響 |
|---|---|---|
| クライアントサイドレンダリング(CSR) | サーバーは最小限の HTML を送り、JavaScript がブラウザでページを組み立てる | リスク最大:コンテンツがレンダリング次第で、AI クローラーからは見えないことが多い |
| サーバーサイドレンダリング(SSR) | サーバーがリクエストごとに完全な HTML を作り、その後 JavaScript がハイドレーションする | 安全:コンテンツとリンクが最初の HTML にある |
| 静的生成(SSG) | ビルド時に HTML を生成し、ファイルとして配信する | コンテンツページには最も安全で高速 |
| ハイブリッド(SSR または SSG とアイランド) | 静的またはサーバーの HTML に、操作が必要な部分だけ JavaScript を使う | 多くのサイトにとってバランスが良い |
| ダイナミックレンダリング | ボットには事前レンダリング版、ユーザーには JS アプリを配信する | Google がもう推奨していない回避策 |
Next.js、Nuxt、SvelteKit、Astro などのフレームワークでは、コンテンツページに SSR や静的生成を使うのが標準になっています。ブログ、ドキュメント、商品ページで、コンテンツをブラウザだけでレンダリングする理由はほとんどありません。
問題の多くは、操作した後にしか存在しないコンテンツやリンクから生じます。
多くの AI クローラーは生の HTML しか読まないからです。Vercel が 2024 年に公開した AI クローラーのトラフィック調査などのログ分析では、OpenAI と Anthropic のボットは JavaScript ファイルを取得しても実行しないことがわかりました。JavaScript の実行後にしかテキストが表示されないページは、Google が正しくインデックスしていても、ChatGPT、Claude、Perplexity を支えるシステムからは空に見えることがあります。
AI に引用されることが重要なら、主要な回答、見出し、表、リンクはサーバーの HTML に含め、robots.txt が希望する AI クローラーを許可しているか確認しましょう。AI クローラー向け robots.txt のガイドでは主要なボットを紹介しており、AI クローラビリティ診断では、それらがページで何を読めるかを確認できます。
生の HTML と、Google がレンダリングした結果を比較します。
次の 6 つのルールでほとんどのケースに対応できます。
コンテンツが存在するために JavaScript を必要としなければ、JavaScript と SEO は両立します。コンテンツページはサーバーかビルド時にレンダリングし、本物のリンクを使い、Google と AI が実際に何を見ているかをテストしましょう。Sorank は記事をクリーンな HTML として CMS に直接公開し、内部リンクと構造化データも autopilot で整えます。料金プランと 3 日間の無料トライアルをご覧ください。

はい。Google は最新版の Chromium でページをレンダリングするため、JavaScript で追加されたコンテンツも認識できます。ただしレンダリングはクロールの後に行われ、遅れることもあり、スクリプトがブロックされていたり、遅すぎたり、ユーザー操作に依存していたりすると失敗します。最初の HTML に含まれるコンテンツが最も確実です。
必ずしも不利ではありませんが、リスクが増えます。クライアントサイドレンダリングでは最初の HTML がほぼ空のため、検索エンジンはコンテンツを見るために JavaScript を実行する必要があり、多くの AI クローラーはそれを行いません。サーバーサイドレンダリングや静的生成ならコンテンツを直接届けられ、こうした問題を避けられます。
現時点ではほとんど実行しません。Vercel が 2024 年に公開した分析などのクローラーログ調査では、OpenAI と Anthropic のクローラーは JavaScript ファイルをダウンロードしても実行しないことがわかりました。そのため、JavaScript の実行後にしか現れないコンテンツは、ChatGPT や Claude などのアシスタントから見えないことがよくあります。
先行導入企業のご紹介
