🔥
SPAがSEOに弱い?
はじめに
こんにちは! 「ITトレンド」というメディアの開発をしている Taiki です!
「SPAはSEOに弱い」ってよく耳にしますが、「それって何で?」 と疑問に思ったので、自分なりに調べて整理してみました。
この記事では、
- なぜSPAがSEOに弱いと言われるのか?
- Googleクローラーの仕組み
を解説していきます!参考になれば嬉しいです!🙌
結論:SPAではなく、「CSR(クライアントサイドレンダリング)がSEOに弱い」
そもそも、SPA(シングルページアプリケーション)とは 「1つのHTMLファイルでページ遷移を行わずに動的にコンテンツを更新するWebアプリケーション」 のことです。
SPAでCSR(クライアントサイドレンダリング)がよく使われる理由として、以下のようなことが挙げられます。
- ページの再読み込みをせずに、スムーズに表示を更新できるためユーザー体験(UX)の向上に繋がる
- リアルタイム更新が必要なアプリ(SNS、ダッシュボードなど)で有効。
→ でも、これがSEOに不向きと言われる原因に!
なぜCSR(クライアントサイドレンダリング)がSEOに弱いのか
Googleクローラーがページを評価する流れを理解すると、この問題が見えてきます。
Googleクローラーの動き
Googleクローラーは、ページ(初回ロード時)の HTMLを取得 → インデックス(検索データベースに登録) という流れで動作します。
CSR の特徴
CSR の初回ロード時は、空のHTMLが表示されます。
その後、JavaScript によってサーバー側で取得したデータを埋めていくといった特徴があります。
つまり、、
Google クローラーは「HTMLを取得した時点」でページを評価する → CSRだと「空のHTMLしか見えない」→ 空のHTMLがインデックスされてしまう!
と言うのが理由になります。
まとめ:SPA自体がSEOに弱いわけじゃない!
- 「SPAがSEOに弱い」と言われるのは、CSR(クライアントサイドレンダリング)が原因。
- Googleクローラーは HTML を取得する時点で評価するため、JavaScript 実行後の内容を認識できないことがある。
- 故に、CSRは検索結果に空のページが登録されるリスクがあるため、SEOに弱いと言われる
Discussion