Picovert

Next.js App Router SEO:完全最適化ガイド

2026-04-258分で読了

Next.js App Router は、古い next/head パターンを置き換える一流の Metadata API を提供します。2026 年には、適切に設定された Next.js アプリが追加プラグインなしで技術 SEO スコア 100 を達成できます。このガイドでは利用可能なすべてのメタデータレバーをコピー&ペースト 可能なコード例とともに解説します。

Metadata API

すべての page.tsxlayout.tsxmetadata オブジェクト または generateMetadata() 関数をエクスポートできます。Next.js はレイアウトと ページのメタデータをマージし、ページのメタデータが優先されます。ルートの layout.tsx はサイト全体のデフォルトを設定する適切な場所です。

タイトルテンプレート

ルートレイアウトで title.template を使用して、サイト名を自動的に追加します:

export const metadata = { title: { default: 'Picovert', template: '%s | Picovert' } };

Open Graph と Twitter Card

ソーシャルプレビューには Open Graph メタタグが必要です。OG 画像は正確に 1200×630 ピクセルで なければなりません。リンクプレビューでの最良のロード時間のために、/public/og/ から WebP で提供します。

多言語サイト向け hreflang

サイトが複数の言語をサポートする場合、hreflang タグは Google に各ロケールで表示する URL を 伝えます。Next.js では alternates フィールドを使用します。常にデフォルト言語 URL を指す x-default を含めます。

JSON-LD 構造化データ

構造化データにより Google 検索でリッチリザルト(星評価・FAQ・パンくずリスト)が可能になります。 ページの <head> <script type='application/ld+json'> タグを追加します。Google の リッチリザルトテストで構造化データが正しく解析されているか確認します。

サイトマップ

Next.js は app ディレクトリの sitemap.ts ファイルから XML サイトマップを 生成します。デプロイ後に Google Search Console にサイトマップ URL を送信します。

robots.txt

app ディレクトリに robots.ts ファイルを作成します。クローラーが許可するパスと ブロックするパス(例: /api/)を明示し、サイトマップ URL を含めます。

Canonical URL

ページネーションページ・URL パラメーター・別々にインデックスされるべきでないロケール バリアントによる重複コンテンツのペナルティを防ぐため、常に canonical URL を設定します。

チェックリスト

  • すべてのページにユニークなタイトルと説明
  • タイトル 60 文字以下、説明 155 文字以下
  • Open Graph 画像 1200×630
  • すべての言語バリアントに hreflang
  • ブログ投稿・商品・FAQ に JSON-LD 構造化データ
  • Search Console にサイトマップを送信
  • すべてのインデックス可能なページに Canonical URL
  • クローラーを許可しプライベートパスをブロックする robots.txt
  • LCP 2.5 秒以下・INP 200 ms 以下・CLS 0.1 以下