SSRがSEOに強い理由をクローラ挙動で解説

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の使い分けを誤らなくなります。