日本語 English(Home)

noindexとは?書き方・確認方法と使い分け

noindexは、特定のページを検索結果に出さないための指定です。書き方と使いどころ、ほかの手段との使い分け、付いているかの確かめ方、WordPressで起きやすい失敗と直し方を順に整理します。

noindexとは?書き方・確認方法と使い分け

この記事の要点:

  • noindexは、ページを検索結果に表示しないよう検索エンジンに伝える指定です。HTMLページはrobotsメタタグ、PDFなどはHTTPヘッダーのX-Robots-Tagで書きます。
  • noindexはページを読んでもらって初めて効くため、robots.txtでクロールを止めたページに付けても気づかれません。
  • 重複をまとめるならcanonical、移転は301、不要なページは削除、人に見せたくないものは閲覧制限と、目的によって手段を分けます。
  • WordPressでは表示設定・SEOプラグイン・記事ごとの設定・テーマの複数の場所からnoindexが付くため、公開されたページそのものを確かめます。
  • 付いているかどうかは、ページのソース、HTTPヘッダー、Search ConsoleのURL検査とページのインデックス登録レポートで確認します。

noindexとは

noindexとは、ページを検索結果に表示しないよう検索エンジンに伝える指定です。Googleはページをクロールしてnoindexを見つけると、ほかのサイトからリンクされていても、そのページを検索結果から外します。

サイト全体ではなく、ページ(またはファイル)単位で使う指定です。「検索結果に出す価値が薄いページ」や「出すと困るページ」を外すことで、検索から来た人が役に立つページだけにたどり着けるようにします。

Googleがnoindexを反映するまでの流れ

  1. Googlebot(Googleのクローラー)がページのURLを見つけ、取得します。
  2. HTMLのrobotsメタタグ、またはHTTPヘッダーのX-Robots-Tagを読みます。
  3. noindexがあれば、そのページを検索結果に出しません。すでに出ていた場合は、次のクロール以降に外れます。

つまり、noindexは「ページを読んでもらって初めて効く」指定です。クロールを止めてしまうと、noindexにも気づいてもらえません。この点は後の「robots.txtとの違い」で詳しく説明します。

nofollowとの違い

nofollowは「このページにあるリンクをたどらないでほしい」という指定で、検索結果に出すかどうかとは別の話です。両方を指定したいときは、content="noindex, nofollow"のようにカンマで区切って並べます。検索結果から外したいだけなら、noindexだけで足ります。

noindexを使うページ・使わないページ

noindexは「検索から来た人に見せる必要がないページ」に使います。迷ったときは、そのページが検索結果に出たら、検索した人が満足するかを考えます。

ページの例判断理由
サイト内検索の結果ページ(例:/search?q=靴)noindex検索結果の中にさらに検索結果が出る形になり、内容も入力ごとに変わる
お問い合わせ完了・購入完了(サンクス)ページnoindex手続きの途中でしか意味がない
カート・マイページ・ログイン画面noindex、またはログインで保護利用者ごとの画面で、検索から来ても使えない
記事がまだ0件のカテゴリー一覧noindex(記事が入ったら外す)中身のないページになる
終了したキャンペーンのページ内容による後継ページがあれば301、案内として残すなら公開のまま、不要なら削除も選べる
似た内容の重複ページ(並び替え違いなど)多くはcanonical評価を正規URLにまとめられる。noindexだと単に外れるだけ
集客したい記事・サービスページ使わない付いていたら事故。最優先で外す

例:工務店のサイトで「施工事例」のタグ一覧が数十個あり、1件しか事例がないタグが多い場合。タグ一覧を全部noindexにするより、事例が3件以上あるタグだけ残し、ほかは親カテゴリーにまとめる方が、利用者にも検索エンジンにも分かりやすくなります。noindexは「出さない」指定であって、薄いページを良くする手段ではありません。

なお、サイト全体を一時的に止めたい場合にnoindexを使うことは、Googleが勧めていません。URLが検索結果から外れ、再開しても元の表示に戻るまで時間がかかるためです。

noindexの書き方

robotsメタタグ(HTMLページ)

HTMLの<head>の中に、次のように書きます。<body>の中に書いても指定として扱われません。

<!-- すべての検索エンジンが対象 -->
<meta name="robots" content="noindex">

<!-- Googleだけを対象にする -->
<meta name="googlebot" content="noindex">

<!-- リンクもたどらせない場合 -->
<meta name="robots" content="noindex, nofollow">

1ページにrobotsメタタグが複数あり、指定が食い違う場合、Googleはより制限の強い方を採ります。テーマとプラグインが別々に出力していないかを確認します。

X-Robots-Tag(HTTPヘッダー)

サーバーが返すHTTPヘッダー(ページの本体とは別に送られる情報)で指定する方法です。PDFや画像など、メタタグを書けないファイルに使います。

HTTP/1.1 200 OK
X-Robots-Tag: noindex

Apacheでは、.htaccessに次のように書くと、PDFファイルすべてにnoindexを付けられます(mod_headersが有効な場合)。

<Files ~ ".pdf$">
  Header set X-Robots-Tag "noindex"
</Files>

nginxでは、サーバー設定の該当するlocationに書きます。

location ~* .pdf$ {
  add_header X-Robots-Tag "noindex";
}

メタタグとX-Robots-Tagの効き目は同じです。HTMLページはメタタグ、HTML以外のファイルや「ディレクトリ全体」のようにまとめて指定したいときはヘッダー、と使い分けると管理しやすくなります。

noindex・robots.txt・canonical・301・削除の使い分け

「検索結果に出したくない」「評価をまとめたい」という目的でも、使う手段は状況で変わります。まず次の表で選びます。

やりたいこと使う手段理由・注意
ページは残すが、検索結果には出さないnoindexクロールは許可したままにする
大量のURLをクロールさせず、サーバー負荷を抑えたいrobots.txt検索結果から外す指定ではない。URLだけ表示されることがある
ほぼ同じ内容のURLが複数あり、代表を伝えたいcanonicalどのURLも閲覧できるまま、評価を正規URLにまとめる
URLを変えた・ページを統合した301リダイレクト利用者も検索エンジンも新しいURLに移る
ページが不要になり、後継もない削除(404・410)noindexで残しておく必要はない
社外に見られては困る(公開前・社内資料)パスワードなどで閲覧制限noindexは人のアクセスを止めない
今すぐ検索結果から一時的に隠したいSearch Consoleの「削除」+恒久的な対処削除リクエストは一時的。noindexや削除を併せて行う

robots.txtと組み合わせない

  • robots.txtでクロールを止めたページは、Googleが中身を読めないため、noindexに気づけません。
  • その結果、ほかのページからのリンクをもとに、URLだけが検索結果に表示されることがあります。
  • Googleは、robots.txtの中にnoindexと書く方法をサポートしていません。

検索結果から外したいページは、robots.txtでブロックせず、クロールを許可したうえでnoindexを付けます。外れたことを確認した後にrobots.txtでブロックすると、次にnoindexを外したいときに気づいてもらえなくなる点にも注意します。

WordPress・SEOプラグインで確認する設定

WordPressでは、noindexが管理画面の複数の場所から付くため、意図しない付与が起きやすくなります。次の順で確認します。

  1. 「設定」→「表示設定」の「検索エンジンでの表示」:「検索エンジンがサイトをインデックスしないようにする」にチェックがあると、全ページにnoindexが出力されます。制作中にオンにしたまま公開する事故が多い項目です。
  2. SEOプラグインの「検索での表示」設定:投稿タイプ(投稿・固定ページ)、カテゴリー、タグ、投稿者アーカイブ、日付アーカイブごとに「検索結果に表示する/しない」を選べるものが多くあります。集客したい一覧が「表示しない」になっていないかを見ます。
  3. 記事ごとの設定:投稿画面の下や横に、記事単位でnoindexを選ぶ欄があるプラグインがあります。既存の記事を複製して新しい記事を作ると、この設定まで引き継がれることがあります。
  4. テーマの独自設定:テーマ側にもnoindexの項目を持つものがあります。プラグインと二重に出力されていないか、ソースで確かめます。
  5. サイトマップの設定:noindexのページがXMLサイトマップに残っていないかを見ます。多くのSEOプラグインはnoindexのページを自動で外しますが、キャッシュが古いと残ることがあります(XMLサイトマップとは)。

設定画面の表示だけで判断せず、ページのソースやSearch ConsoleのURL検査で、公開されたページそのものを確かめます。

noindexが付いているかを確かめる方法

1. ページのソースを見る

ブラウザでページを開き、右クリックの「ページのソースを表示」で「robots」を検索します。<meta name="robots" content="noindexが見つかれば付いています。JavaScriptで後から書き換えるサイトでは、ソースと実際の表示が違うことがあるため、次のURL検査も使います。

2. HTTPヘッダーを見る

X-Robots-Tagはソースに出ません。ターミナルで次のように打つと、ヘッダーだけを確認できます。

curl -I https://example.com/files/price.pdf

結果にX-Robots-Tag: noindexの行があれば付いています。ブラウザの開発者ツールの「ネットワーク」タブでも確認できます。

3. Search ConsoleのURL検査

  1. Search Consoleの上部の検索欄(URL検査)に、確かめたいページのURLを入力します。
  2. 「ページのインデックス登録」を開き、「インデックス登録を許可しますか?」の欄を見ます。noindexが見つかった場合は「いいえ」と、検出された場所(robotsメタタグかX-Robots-Tagか)が表示されます。
  3. 設定を直した直後は「公開URLをテスト」を押し、今のページの状態を確かめます。結果に表示されるのは前回クロール時の情報だからです。
  4. 問題がなければ「インデックス登録をリクエスト」を押し、再クロールを依頼します。

4. ページのインデックス登録レポート

サイト全体では、「インデックス作成」→「ページ」の一覧で、理由が「noindex タグによって除外されました」のURLをまとめて確認できます。意図して外したページ以外が入っていないかを見ます。登録済みのページ数(インデックス数)の調べ方と、数を増やすべきでないページの見分け方は「インデックス数とは」で説明しています。サイトマップで送信したURLにnoindexが付いている場合は「送信された URL に noindex タグが追加されています」として表示されます。どちらかを直すべき状態です。

noindexを付けたり外したりした内容は、Googleが次にそのページをクロールしたときに反映されます。更新が少ないページでは、反映まで時間がかかることがあります。

よくある失敗と直し方

起きること原因直し方
公開したのに、サイト全体が検索に出ないステージング(テスト環境)のnoindex設定や「インデックスしないようにする」のチェックが本番に残った本番で設定を外し、URL検査で数ページ確認。テスト環境の保護はnoindexではなく閲覧制限で行い、本番に持ち込まない手順にする
noindexを付けたのに、URLが検索結果に残るrobots.txtでブロックしていて、noindexが読まれていないrobots.txtのブロックを外し、再クロールを待つ
「送信された URL に noindex タグが追加されています」が出るnoindexのページがサイトマップに載っている出したいページならnoindexを外す。出さないならサイトマップから外す
新しい記事だけインデックスされないnoindexの記事を複製して作り、個別設定が引き継がれた投稿画面の個別設定を確認し、テンプレート用の記事を見直す
集客していたカテゴリー一覧が急に消えたSEOプラグインの更新や設定変更で、アーカイブがまとめてnoindexになったプラグインの設定を戻し、更新後はレポートの「noindex タグによって除外されました」の件数を確認する
PDFの資料が検索結果に出てしまうHTML以外にはメタタグを書けないX-Robots-Tagで指定する。社外秘なら公開場所から外す

例:会員向けの料金表PDFが検索結果に出てしまった場合。急ぎならSearch Consoleの「削除」で一時的に隠し、その間にX-Robots-Tagを付けるか、PDFを会員ページの中(ログインが必要な場所)に移します。削除リクエストだけでは、期間が過ぎると再び表示されることがあります。削除ツールと noindex の組み合わせ方は「Search Consoleの削除ツール」で説明しています。

当サイト(seoagent.jp)でのnoindexの使い方

当サイト(seoagent.jp)では、記事がまだ無い一覧ページや、範囲外のページ番号が検索対象になりうる状態でした。そこで、ページの状態ごとに手段を分けています。

  • 記事のない一覧ページ:noindexにし、XMLサイトマップからも外す
  • 範囲外のページ番号(例:記事が2ページ分しかないのに3ページ目を開いた場合):404を返す
  • 親カテゴリー:一覧ページへ301で転送する

反映(deploy)のたびに、404・301・noindexが意図どおり返っているかを確認しています。また、日本語と英語のURLを分けた際(現在は日本語がトップ /、英語が /en/)には、内容のない言語のページをnoindexにし、翻訳がある組だけにhreflangを付けました。「とりあえず全部noindex」ではなく、「中身が無いならnoindex、存在しないなら404、移ったなら301」と、状態に合わせて選ぶのがポイントです。ほかの技術的な記事は「テクニカルSEOの記事一覧」にまとめています。

よくある質問

noindexを外したら、すぐに検索結果に戻りますか?

Googleが次にそのページをクロールしたときに反映されるため、すぐには戻りません。URL検査で「公開URLをテスト」を行い、noindexが無いことを確かめてからインデックス登録をリクエストします。長く外れていたページは、元の表示に戻るまで時間がかかることがあります。

同じページにnoindexとcanonicalを両方付けてもよいですか?

目的が違うため、混ぜないのが基本です。Googleは、サイト内で正規URLを選ばせる目的でnoindexを使わないよう案内しています。noindexを付けるとページが検索から完全に外れるためです。重複をまとめたいならcanonicalだけを使い、canonicalの指す先のページにはnoindexを付けません。

一覧ページの2ページ目以降は、noindexにすべきですか?

一律にnoindexにする必要はありません。Googleは、ページ分割された一覧の各ページを別々のページとして扱い、それぞれに自身のURLをcanonicalとして付けるよう案内しています。noindexを検討するのは、並び替えや絞り込みで同じ一覧が別のURLになるものや、中身のない一覧です。

noindexのページに、サイト内からリンクしてもよいですか?

問題ありません。カートや問い合わせ完了ページのように、検索からは来なくてもサイト内で使うページへはリンクが必要です。ただし、XMLサイトマップには載せないようにします。サイトマップは検索に出したいURLの一覧だからです。

SEOAGENTでできること

SEOAGENTでは、公開前の確かめで「公開ページの設定」などの確認項目を示し、公開後はSearch Consoleと連携して記事ごとの検索データを確認できます。noindexの設定そのものは、WordPressやSEOプラグインの側で行います。

参考情報

関連する記事

「テクニカルSEO」の記事をすべて見る →

クロールバジェットとは:Googleの説明と、気にすべきサイト・しなくてよいサイト
テクニカルSEO

クロールバジェットとは:Googleの説明と、気にすべきサイト・しなくてよいサイト

クロールバジェットは、多くのサイトでは気にする必要がありません。Google の「クロール バジェットの管理」の原文に沿って、決まる仕組み、対策が必要なサイトの目安、クロールの統計情報での確かめ方、クロールを無駄にする原因と対処を、当サイトの点検結果とあわせて説明します。

AIでSEO対策を、もっと続けやすく。

機能と使い方、料金・契約条件は、サービス資料でご案内します。