実践記事

Next.js SSG×SEO完全ガイド|静的サイトでGoogle上位を狙う方法

5分で読めます
Tech Study Work編集部
Next.jsSEOSSG
Next.js SSG×SEO完全ガイド|静的サイトでGoogle上位を狙う方法

SSGがSEOに有利な理由

Next.jsのSSG(Static Site Generation)はビルド時にHTMLを生成するため、サーバーサイドレンダリング(SSR)やCSR(クライアントサイドレンダリング)と比べてページ表示速度が速く、Googleのクローラーがコンテンツを確実にインデックスできます。CDNで配信するとCore Web VitalsのLCP(最大コンテンツ描画)が大幅に改善され、SEO評価が上がります。

SSG・SSR・CSRの選択はSEOに大きく影響します。SSGは静的HTMLが事前に生成されるためクローラーが最も確実にインデックスできます。SSRはリクエスト時にHTMLを生成するためパーソナライズされたコンテンツにも対応できます。CSRはJavaScriptが実行されないとコンテンツが見えないため、SEO上の不利があります。

  • SSGが最適な場合:ブログ・ドキュメント・マーケティングサイトなど更新頻度が低いコンテンツ
  • SSRが最適な場合:ユーザー別のダッシュボード・リアルタイムデータを表示するページ
  • CSRが最適な場合:ログイン後の管理画面など、SEOが不要なアプリケーション部分
  • Next.jsのISR:Incremental Static Regenerationで定期的に静的ページを再生成できる

Next.js App RouterのMetadata API活用

App Routerではpage.tsxから直接Metadataをexportできます。titleにはテンプレート(「%s | サイト名」)を使い、descriptionは120〜160文字で検索意図に合わせて書きましょう。alternates.canonicalで正規URLを明示し、重複コンテンツを防ぎます。openGraph・twitterメタデータも設定してSNSシェア時の見栄えを整えましょう。

  • titleテンプレート:layout.tsxで「%s | サイト名」を定義し、各ページで個別のtitleを設定
  • description:120〜160文字で検索意図に合わせて書く、キーワードを自然に含める
  • canonical URL:alternates.canonicalでURL重複を防ぎPageRankを集中させる
  • OGP設定:openGraph.imageにOGP用の1200×630px画像を設定しSNSシェアを最適化

この記事を読んでいるあなたへ

具体的なサービス選びで迷っているなら、編集部が厳選した比較記事もご参考ください。

AIツールを比較する →

構造化データ(JSON-LD)の実装

構造化データはGoogleリッチリザルトに表示されるためCTRが向上します。記事ページにはArticleスキーマ、FAQページにはFAQPageスキーマ、ランキングページにはItemListスキーマを実装しましょう。Next.jsではscriptタグのdangerouslySetInnerHTMLを使ってJSON-LDを埋め込むか、専用コンポーネントを作成します。

  • Articleスキーマ:記事の著者・公開日・更新日・見出し画像を構造化データで指定
  • FAQPageスキーマ:Q&A形式のコンテンツにFAQスキーマを実装するとリッチリザルト表示
  • BreadcrumbListスキーマ:パンくずリストのスキーマ実装で検索結果にパンくずが表示
  • 実装確認:Googleのリッチリザルトテストツールで正しく読み取られているか確認

Core Web Vitalsの改善方法

Core Web Vitalsの主要指標はLCP(2.5秒以内)・FID/INP(100ms以内)・CLS(0.1以内)です。Next.jsではnext/imageで画像を最適化し、next/fontでWebフォントを最適化します。不要なJavaScriptの削減にはdynamic importを使い、キャッシュヘッダーの設定でリピートアクセスを高速化します。Vercelへのデプロイで自動的にCDNが適用されます。

  • LCP改善:next/imageで画像を最適化(WebP変換・サイズ最適化・遅延読み込み自動設定)
  • CLS改善:画像・動的コンテンツに必ずwidth/heightを明示し、レイアウトシフトを防ぐ
  • INP改善:重いJavaScriptをdynamic importで遅延読み込み、不要な依存関係を削除
  • フォント最適化:next/fontでWebフォントをゼロCLS・最適化設定で読み込む

Googleサーチコンソールを使ったSEO改善サイクル

サイトを公開したらGoogle Search ConsoleにサイトマップURLを送信し、インデックス登録を促進しましょう。Search Consoleの「検索パフォーマンス」レポートでクリック数・表示回数・平均掲載順位を確認できます。「表示回数が多いのにクリック率が低いページ」はタイトル・ディスクリプションの改善余地があります。「掲載順位が11〜20位のキーワード」は内容を強化することで上位に上がりやすい「準上位キーワード」として重点改善対象です。

  • サイトマップの送信:Next.js App RouterでのsiteMap.ts生成→Search Consoleで送信
  • CTR改善:表示回数が多いのにCTRが低いページのタイトル・ディスクリプションを改善
  • 準上位キーワード:掲載順位11〜20位のキーワードのページを強化すると上位に上がりやすい
  • インデックス確認:「ページのインデックス登録」レポートで未インデックスページの原因を特定

内部リンク設計とサイト構造の最適化

SEOにおけるサイト内リンク設計は非常に重要です。関連性の高いページ同士を適切にリンクすることでGoogleのクローラーがサイト構造を把握しやすくなり、PageRankが重要ページに集中します。ピラミッド型の情報設計(カテゴリページ→記事一覧→個別記事)を意識し、重要な記事はできるだけ多くのページからリンクされるようにしましょう。パンくずリストの実装もユーザービリティとSEO両面で有効です。

  • ピラミッド構造:トップページ→カテゴリページ→記事の階層で内部リンクを設計
  • 関連記事リンク:記事末尾に「関連記事」セクションを設置し、クリックスルーを促進
  • パンくずリスト:ユーザービリティ向上とBreadcrumbListスキーマでSEO効果
  • 孤立ページの防止:どのページからもリンクされない「孤立したページ」をなくす

関連する比較記事

この記事に関連するサービス比較をチェック

AIコーディングツールで開発を効率化

Next.jsの開発にもAIツールが活躍します。

AIツールを比較する

よくある質問

この記事をシェアする