← 記事一覧へ

SSG と SSR の違い

それぞれのレンダリング方式の特徴と、Nuxt での使い分けを整理します。

レンダリング方式の比較

方式タイミングSEO向いているページ
CSRブラウザで描画弱い管理画面・ダッシュボード
SSRリクエスト時にサーバーで描画強い動的コンテンツ・ユーザー固有ページ
SSGビルド時に静的 HTML を生成最強・高速ブログ・LP・ドキュメント
ISRビルド後も一定時間ごとに再生成強い・更新可能頻繁に更新される記事

Nuxt での設定方法

Nuxt はデフォルト SSR です。routeRules を使うとページごとに切り替えられます。

// nuxt.config.ts
export default defineNuxtConfig({
  routeRules: {
    '/articles/**': { prerender: true }, // SSG
    '/dashboard/**': { ssr: false },     // CSR(SPA)
    '/news/**': { isr: 3600 },           // ISR(1時間ごとに再生成)
  }
})

SSR を確認する方法

ブラウザの「ページのソースを表示」を開いて、記事本文が HTML に含まれていれば SSR(または SSG)が正しく動作しています。CSR の場合、JS 実行前は空の <div> しか存在しません。

まとめ

  • ブログ・ドキュメント → SSG(速くて SEO 最強)
  • EC サイト商品ページ → ISR(キャッシュしつつ鮮度を保つ)
  • ニュースフィード → SSR(常に最新を返す)
  • 管理画面 → CSR(SEO 不要・インタラクション重視)