N
NextTech Insights
Next.jsでrobots.txt・noindex・canonicalをどう使い分けるか:実務チェックリスト
seonextjsindexingops

Next.jsでrobots.txt・noindex・canonicalをどう使い分けるか:実務チェックリスト

6 min read

Next.jsサイトで何をGoogleにインデックスさせるかを制御するための実務チェックリスト。robots.txtはクロール制御、noindexは除外、canonicalは重複統合に使い分けます。

目次

Next.jsで、間違ったページをどうやってインデックスさせないようにする?

1分要約

  • robots.txt はクロールを止めるもの。インデックスを直接消すものではない。
  • noindex は「このページは検索結果に出さない」の直接シグナル。
  • canonical は、重複セットの代表URLをGoogleに伝えるためのもの。

どんな人向けか

  • フィルタページ、検索結果ページ、パラメータURL、stagingっぽいパスがある Next.js / Vercel サイト
  • 本物のコンテンツを壊さずに、インデックスの無駄を減らしたいチーム

結論

道具は役割で使い分ける。

  1. Googleにそのパスを見に来てほしくないなら robots.txt
  2. クロールはしていいが検索結果には出したくないなら noindex
  3. 同じ内容のURLが複数あるなら、canonical と リダイレクト / URL正規化 を使う

robots.txt を deindex ボタンだと思わないこと。Googleがページをクロールできないと、noindex を見られないことがある。

解説

ここを混同すると、インデックスのノイズが増える。

  • robots.txt はクロールのゲート
  • noindex はインデックスのゲート
  • canonical は統合のシグナル

それぞれ役割が違う。

  • private / staging のパス
  • 単独価値が低い検索ページやフィルタページ
  • tracking params、末尾スラッシュ、locale drift、rewrite で増えた重複URL

ありがちなミスは、robots でブロックしておいて、まだ検索結果に出ると困る、というやつ。

実務ガイド

Step 1: ページを分類する

まず、どの箱に入るかを決める。

  • 公開してインデックスしたい
  • クロールはしていいが、インデックスはしたくない
  • ほかのページの重複・派生
  • private / staging 専用

Step 2: 制御方法を選ぶ

判断基準はこれ。

  • 公開ページ: クロール許可、自己参照canonical、sitemapに掲載
  • 重複ページ: 正規URLへリダイレクト。整理中だけ一時的に noindex を使うのはあり
  • クロールはしていいがインデックス不要: クロール許可、noindex、sitemapから除外
  • private / staging: 認証で守る。robots はあくまで補助

Step 3: Next.js で実装する

ページ単位で noindex にしたいなら、robots metadata を入れる。

export const metadata = {
  robots: {
    index: false,
    follow: false,
  },
};

HTML以外のレスポンスや特殊ケースでは X-Robots-Tag も使える。

重複は、canonical / redirect / sitemap が全部同じクリーンURLを向くように、URL正規化を1か所に集約する。

Step 4: sitemap を厳しく保つ

入れるのは、本当にインデックスしてほしいURLだけ。

  • noindex ページを外す
  • 重複やパラメータ違いを外す
  • hreflang の対象は indexable にする
  • staging パスは送らない

Step 5: Search Console で確認する

各箱から代表URLを1つずつ見る。

  • URL Inspection
  • 指定canonical vs Google選択canonical
  • indexability status
  • crawl / coverage の状態

間違ったページがインデックスされるなら、どのシグナルがぶつかっているかを見る。

ありがちな落とし穴

  • noindex を Google が見られる前に robots で止めてしまう
  • noindex URL を sitemap に残す
  • canonical だけでページを消せると思う
  • robots.txt を security と勘違いする
  • クロール専用にしたい検索ページをそのまま indexable にしている
  • 重複を canonical だけで片付けて、内部リンクと redirect を直していない

チェックリスト

  • [ ] 各ルートを public / crawl-only / duplicate / private に分類した
  • [ ] robots.txt は本当に見せたくないパスだけをブロックしている
  • [ ] 検索結果に出したくないページには noindex を使っている
  • [ ] noindex ページは sitemap に入っていない
  • [ ] 公開ページの canonical は自己参照になっている
  • [ ] 重複URLは1つの正規URLへ redirect している
  • [ ] tracking params はクリーンURLへ canonicalize している
  • [ ] 検索/フィルタページは index するかどうかを明示した
  • [ ] staging パスは、disallow だけでなく認証でも守っている
  • [ ] Search Console で各ページ種別の代表URLを確認した
  • [ ] 内部リンクは正規URLを向いている
  • [ ] Google の再クロール後に状態を再確認した

FAQ

Q1. robots.txt だけで検索結果から消せる?

安定しない。クロールは止められても、すでにインデックス済みなら、Googleがより強い除外シグナルを見るまで残ることがある。

Q2. noindex ページは sitemap に入れるべき?

入れない。外したいなら sitemap からも外す。

Q3. canonical と noindex は同じ?

違う。canonical は「重複セットの代表URL」を示すもの。noindex は「このページ自体をインデックスしない」という指示。

Disclaimer

インデックスは確率的なもの。シグナルは改善できるが、Googleに任意のURLを好きなだけ登録・削除させることはできない。

人気記事

  1. 1Permit2とは何か?Approveが変わった理由と安全な使い方(チェックリスト)
  2. 2署名(Sign)画面の読み方|Approve/Permit/NFT全権限を30秒で判別するチェックリスト
  3. 3仕様→実装に落とすプロンプトテンプレ(AI開発)|AIに“迷わせない”仕様の書き方
  4. 4EVMのトークン承認(Approve)を見直す方法|Revokeの手順と判断基準(チェックリスト)
  5. 5曖昧な依頼を要件定義に変換する質問リスト(AI開発)|AIに実装させる前に聞くべきこと

関連記事