- SSRはなぜSEOに強いと言われるのか
- 検索エンジンのクロールは2段階で行われる
- SPAで起きる問題
- SSRで何が変わるのか
- クローラが実際に見ているもの
- 内部リンク評価の違い
- よくある誤解
- 実務上の対策
- 注意点
- 結局どう考えるべきか
SSRはなぜSEOに強いと言われるのか
SSR(Server Side Rendering)がSEOに強いと言われる理由は「GoogleがJavaScriptを読めないから」ではありません。現在の検索エンジン、とくにGoogleはJavaScriptを実行できます。それでもSSRが有利になるのは、検索エンジンクローラの巡回とレンダリングの仕組みにあります。
結論として、SSRがSEOに強いのは「HTMLを理解できるから」ではなく、クロール・インデックス登録の処理順序に適合しているからです。
この違いを理解すると、なぜSPAで記事ページを作ると検索流入が伸びないのか、そしてなぜプリレンダリングやISRが登場したのかが説明できます。
検索エンジンのクロールは2段階で行われる
検索エンジンは、単にページを取得して即インデックス登録しているわけではありません。実際の処理は大きく2段階に分かれています。
1. HTML取得(クロール)
2. レンダリング(JavaScript実行)
最初にクローラ(Googlebot)はURLへアクセスし、HTMLだけを取得します。
GET /article/123
→ HTMLを保存
この段階ではJavaScriptは実行されません。まずはHTMLの内容から、リンク・タイトル・見出し・メタ情報などを解析します。ここで重要なのがクロール予算(Crawl Budget)です。
クローラは無制限にページを解析できるわけではなく、一定量のURLしか処理しません。サイトの評価や更新頻度によって、処理されるページ数が決まります。
SPAで起きる問題
SPAの記事ページにクローラがアクセスすると、次のHTMLが返ります。
<div id="app"></div> <script src="/app.js"></script>
この時点で、HTML内には本文が存在しません。クローラは内容を解析できないため、「内容が薄いページ」と判断する可能性があります。
その後、検索エンジンは別の工程としてレンダリング処理を行います。ここでJavaScriptを実行し、DOMを構築します。しかしこの処理は即時ではありません。
レンダリングはキューに積まれ、数日〜数週間遅れる場合があります。つまり、
クロール → HTML解析 → (保留) → 後日レンダリング
という順序になります。
この遅延が、SPAのSEOで問題になります。
SSRで何が変わるのか
SSRでは、最初のレスポンスに本文が含まれます。
<h1>記事タイトル</h1> <p>記事本文...</p> <a href="/next">次の記事</a>
クローラはHTML取得と同時に内容を解析できます。リンク構造も即座に理解されます。その結果、
- インデックス登録が早い
- 内部リンクが評価される
- 見出し構造が解析される
これが「SSRはSEOに強い」と言われる理由です。
重要なのは、検索エンジンがJSを実行できるかどうかではなく、最初のクロール時点で情報が存在するかです。
クローラが実際に見ているもの
検索エンジンが評価するのは、ブラウザに表示された画面ではありません。クローラが取得したデータです。開発者ツールで表示されたDOMと、クローラが最初に受け取ったHTMLは別物です。
SPAではユーザには表示されていても、クロール段階では存在しないことがあります。特に起きやすいのが次の情報です。
- 記事本文
- 構造化データ
- メタタグ
- OGP
JavaScriptで後から挿入したtitleタグやmetaタグは、クロール段階では認識されない可能性があります。
内部リンク評価の違い
SEOにおいて、内部リンクは非常に重要です。検索エンジンはリンクを辿ってページを発見します。
SSRでは通常のリンクが存在します。
<a href="/article/124">関連記事</a>
しかしSPAでは、クリック時にJavaScriptが遷移を制御することがあります。
router.push("/article/124");
リンクタグが存在しない場合、クローラはURLを発見できません。結果としてクロールされないページが増えます。これが「SPAだとインデックスされない」と言われる原因です。
よくある誤解
「GoogleはJavaScriptを実行できるからSEOは問題ない」という説明は半分正しく、半分誤りです。実行はできますが、実行タイミングが遅れます。
更新頻度が高いニュースサイトやブログでは、この遅延が致命的になります。公開しても数日検索に出ない、という現象が起きます。
実務上の対策
SPAでSEOを行う場合、次の方法が採用されます。
- SSR併用(Next.jsなど)
- 静的生成(SSG)
- プリレンダリング
これは「Google対策」ではなく、クロール段階でHTMLを提供するための技術です。
注意点
SSRを導入しても自動的にSEOが向上するわけではありません。内容が薄いページや重複ページは評価されません。またTTFBが極端に遅いとクロール頻度が下がる可能性があります。
つまり、SSRはSEOの魔法ではなく「評価の土台を整える仕組み」です。
結局どう考えるべきか
SEOとSPAの対立は、フロントエンド技術の問題ではありません。検索エンジンは「取得した情報」で評価します。ユーザのブラウザに表示された結果ではありません。
SSRは、検索エンジンの処理順序に合わせて情報を提供するアーキテクチャです。逆にSPAは、ユーザ体験を優先したアーキテクチャです。
検索流入を主軸にするページでは、検索エンジンが最初に見るデータを意識して設計する必要があります。表示技術を選ぶというより、「誰が最初の閲覧者なのか」を基準に選ぶと、SSRとSPAの使い分けを誤らなくなります。