noindexとは、特定のページをGoogle検索の結果に表示させないようにするためのタグです。
「noindexってどこに書くの?」「nofollowとは何が違うの?」「設定したのに効かないのはなぜ?」といった疑問を持つ方は多いでしょう。
noindexは正しく使えばサイト全体のSEO評価を守る強力なツールですが、設定を間違えると重要なページが検索結果から消えてしまうリスクもあります。
本記事では、noindexの仕組みからmetaタグでの書き方、設定すべきページの判断基準、確認方法、効かないときのトラブルシューティングまで、コード例付きで解説します。
noindexはインデックス制御という個別施策ですが、SEO対策の全体像と基本的な考え方はSEO対策とは?仕組み・基本施策・やり方をわかりやすく解説で詳しく解説しています。
noindexとは?検索結果から除外するための仕組み
noindexは、Googlebotに「このページをインデックスに登録しないでください」と伝えるための指示です。
noindexを設定したページは、Googlebotにクロール(巡回)はされますが、検索結果には表示されなくなります。
Google検索セントラルでは、次のように説明されています。
ページのインデックス登録を防ぐ最も効果的な方法は、noindex robots meta タグまたは noindex HTTP レスポンス ヘッダーを使用することです。
Google 検索セントラル ─ noindex を使用してコンテンツをインデックスから除外する
nofollowとの違い
noindexとnofollowは名前が似ていますが、役割がまったく異なります。
比較表| 項目 | noindex | nofollow |
|---|
| 役割 | ページのインデックスを制御 | リンクの評価受け渡しを制御 |
|---|
| 効果 | 検索結果に表示されなくなる | リンク先へPageRankが渡らなくなる |
|---|
| クロール | クロールされる | クロールされる場合がある |
|---|
この2つは併用することも可能です。noindex, nofollow と記述すると、「このページをインデックスしない」かつ「このページ上のリンクの評価を渡さない」という意味になります。
robots.txtとの違い
robots.txtとnoindexは、どちらも検索エンジンの動作を制御する仕組みですが、アプローチが異なります。
比較表| 項目 | noindex | robots.txt |
|---|
| 制御対象 | インデックス登録 | クロール(巡回)自体 |
|---|
| クロール | 許可する | ブロックする |
|---|
| 設定場所 | 各ページのHTMLまたはHTTPヘッダー | サイトルートのrobots.txtファイル |
|---|
robots.txtとnoindexの併用に注意
- robots.txtでクロールをブロックしているページにnoindexを設定しても、Googlebotがそのページを読み取れないためnoindexが機能しない
- noindexを使いたいページは、robots.txtのDisallowから除外しておく必要がある
関連記事
robots.txtとは?書き方・設置場所・確認方法をわかりやすく解説
→
canonicalとの使い分け
canonicalタグとnoindexは混同されやすいですが、用途が異なります。
比較表| 状況 | 使うべき手段 | 理由 |
|---|
| 重複ページの評価を1つに集約したい | canonical | リンク評価を正規URLに集約できる |
|---|
| ページを完全に検索結果から除外したい | noindex | 確実にインデックスから外せる |
|---|
| 古いURLから新しいURLに恒久的に移動 | 301リダイレクト | ユーザーも検索エンジンも転送される |
|---|
重複コンテンツの対応では、まずcanonicalを検討しましょう。noindexはcanonicalでは対応できないケースや、そもそもインデックスさせる価値がないページに使います。
関連記事
canonicalタグとは?書き方・設定が必要なケース・確認方法をわかりやすく解説
→
noindexを設定すべきページの判断基準
「このページにnoindexは必要?」という判断は、シンプルなフローで考えられます。
noindexを設定すべきページ
以下のようなページは、noindexを設定してインデックスから除外するのが適切です。
noindexを設定すべきページの例
- 低品質ページ ─ 検索結果が0件のページ、コンテンツが薄いページ
- 重複コンテンツ ─ canonicalで対応できない場合(例えばパラメータ付きURLが大量にある場合)
- 管理画面・ログインページ ─ 一般ユーザーに見せる必要がないページ
- テスト環境・ステージング ─ 本番以外の環境が検索結果に表示されるのを防ぐ
- サンクスページ・フォーム完了ページ ─ フォーム送信後にしか到達しないページ
- HTMLサイトマップ ─ 大規模サイトでクロールバジェットを節約したい場合
関連記事
重複コンテンツとは?SEOへの影響と対策方法をわかりやすく解説
→
noindexを設定すべきでないページ
noindexを設定してはいけないページ
- 検索流入を狙うページ ─ 当然ですが、noindexを設定すると検索結果から完全に消えます
- canonicalで対応可能な重複ページ ─ noindexだとリンク評価も失われるため、canonicalのほうが適切
誤って重要なページにnoindexを設定してしまうと、そのページが検索結果から消え、流入がゼロになります。設定変更の際は必ず対象URLを確認してから実行しましょう。
noindexの書き方と設定方法
noindexの設定方法は大きく3つあります。「noindexをどこに書くか」で迷ったら、まずはmetaタグでの設定を試してみてください。
最も一般的な方法です。HTMLの<head>タグ内に以下のmetaタグを追加します。
<meta name="robots" content="noindex">
nofollowも同時に設定したい場合は、カンマ区切りで記述します。
<meta name="robots" content="noindex, nofollow">
metaタグの設置場所に注意
- 必ず
<head>タグの中に記述すること。<body>内に書いても無効
- 他のmetaタグ(descriptionやviewportなど)と同じ場所に配置する
X-Robots-Tag(HTTPレスポンスヘッダー)で設定する
PDFや画像ファイルなど、HTMLではないファイルにnoindexを設定したい場合は、HTTPレスポンスヘッダーのX-Robots-Tagを使います。
Apacheの場合、.htaccessに以下を追加します。
<Files "secret-document.pdf">
Header set X-Robots-Tag "noindex"
</Files>
特定のディレクトリ全体に設定する場合は以下のように記述できます。
<Directory "/var/www/html/private/">
Header set X-Robots-Tag "noindex"
</Directory>
Nginxの場合は、該当のlocationブロックに追加します。
location /private/ {
add_header X-Robots-Tag "noindex";
}
WordPressでの設定方法
WordPressには、サイト全体をnoindexにする標準機能があります。「設定」→「表示設定」→「検索エンジンがサイトをインデックスしないようにする」にチェックを入れるだけです。
ただし、ページ単位でnoindexを設定したい場合は、SEOプラグインを使うのが一般的です。
ページ単位でnoindexを設定できるプラグイン
- All in One SEO ─ 投稿編集画面の「AIOSEO設定」→「Advanced」→「Robots Setting」で「No Index」にチェック
- Yoast SEO ─ 投稿編集画面の「Yoast SEO」→「Advanced」→「Allow search engines to show this post in search results?」を「No」に設定
noindexが正しく設定されているか確認する方法
noindexは「設定したつもり」でも正しく反映されていないケースがあります。設定後は必ず確認しましょう。
ブラウザのソースコードで確認する
最も手軽な方法です。
STEP 2
Ctrl+U(Macは⌘+U)でソースコードを表示
STEP 3
Ctrl+F で「noindex」を検索
<meta name="robots" content="noindex"> が <head> タグ内に存在すれば、正しく設定されています。
Google Search Consoleで確認する
サーチコンソールのURL検査ツールを使えば、Googleがそのページをどう認識しているかを確認できます。
URL検査の結果画面で「インデックス登録を許可?」が「いいえ: ‘noindex’ がrobots metaタグで検出されました」と表示されていれば、noindexが正しくGoogleに認識されています。
また、「ページのインデックス登録」レポートでは、noindexが設定されたページの一覧を「noindexタグによって除外されました」というステータスで確認できます。このステータスの見方や対処判断は「noindexタグによって除外されましたとは?対処が必要なケースと解除方法」で詳しく解説しています。
inSiteの無料noindexチェッカーで確認する
URLを入力するだけで、そのページにnoindexが設定されているかを即座にチェックできる無料ツールを公開しています。
inSite noindexチェッカーの特徴
- meta robots、X-Robots-Tagヘッダー、robots.txtの3つのソースからnoindex設定を検出
- 自分のサイトだけでなく競合サイトの設定状況もチェック可能
- 登録不要、完全無料で利用できる
無料でnoindexをチェックする →
inSiteでnoindex状態を一括確認する
サーチコンソールのURL検査ツールでは、1ページずつURLを入力して確認する必要があります。ページ数が多いサイトでは現実的ではありません。
サイト管理ツールinSite(インサイト)なら、全ページのインデックス状態を自動でチェックし、noindexが設定されているページを一覧で確認できます。
意図せずnoindexが設定されているページを発見した場合は、すぐに設定を解除してインデックス登録をリクエストしましょう。
noindexが効かない原因と対処法
「noindexを設定したのに、まだ検索結果に表示されている」という場合、いくつかの原因が考えられます。
robots.txtでクロールをブロックしている
最も多い原因です。robots.txtでクロールをブロックしているページにnoindexを設定しても、Googlebotがそのページにアクセスできないため、noindexタグを読み取れません。
noindexを機能させるには、Googlebotがそのページをクロールできる状態でなければなりません。
対処法は、robots.txtからそのページのDisallowルールを削除すること。noindexでインデックスを防ぎつつ、クロール自体は許可する形にしましょう。
関連記事
「robots.txt によりブロックされました」が発生する原因と対処法
→
noindexのmetaタグは、HTMLの<head>タグ内に配置する必要があります。<body>内に記述しても、Googlebotはそれをnoindex指示として認識しません。
ソースコードを確認して、metaタグが<head>と</head>の間にあるかチェックしてください。
キャッシュが残っている(反映に時間がかかる)
noindexを設定してもすぐには検索結果から消えません。Googlebotが次にそのページをクロールし、noindexを検出するまでには時間がかかります。
早く反映させたい場合は、サーチコンソールのURL検査ツールから「インデックス登録をリクエスト」を実行しましょう。それでも数日〜数週間かかることがあるため、焦らず待つことも大切です。
JavaScriptで動的に挿入している
JavaScriptでnoindexタグを動的に挿入するケースでは、Googlebotがレンダリングのタイミングによってnoindexを見逃す場合があります。
確実にnoindexを適用したい場合は、HTMLに直接metaタグを記述するか、X-Robots-Tag(HTTPレスポンスヘッダー)を使いましょう。HTTPレスポンスヘッダーはサーバー側で付与されるため、JavaScriptのレンダリングに依存しません。
よくある質問
noindexとnofollowは両方設定すべきですか?
必ずしも両方設定する必要はありません。noindexだけを設定した場合でも、そのページは検索結果から除外されます。nofollowを追加するのは、そのページ上のリンクの評価を渡したくない場合のみです。ただし、Googleは長期的にnoindexが設定されたページのリンクを追跡しなくなる傾向があるため、実質的な差は小さくなります。
noindexを設定したページのリンク評価はどうなりますか?
noindexを設定したページからのリンク評価(PageRank)は、短期的には渡されます。しかし、Googleはnoindexが長期間設定されたページのリンクを徐々に無視するようになります。リンク評価を集約したい場合は、noindexではなくcanonicalタグの使用を検討してください。
noindexを解除したらすぐにインデックスされますか?
すぐにはインデックスされません。noindexを解除した後、Googlebotが次にそのページをクロールしてnoindexが除去されたことを認識するまで時間がかかります。サーチコンソールのURL検査ツールから「インデックス登録をリクエスト」を実行すると、反映を早められる場合があります。
noindexとcanonicalを同時に設定したらどうなりますか?
Googleはnoindexを優先します。canonicalで正規URLを指定していても、noindexが設定されていればそのページはインデックスから除外されます。この2つを同時に設定するのは矛盾する指示になるため、どちらか一方を使うようにしましょう。
noindexはクロールバジェットに影響しますか?
noindexを設定してもクロール自体は行われるため、クロールバジェットは消費されます。クロール自体を止めたい場合はrobots.txtのDisallowを使いましょう。ただし、noindexが長期間設定されたページは、Googlebotのクロール頻度が徐々に下がっていく傾向があります。
関連記事
クロールバジェットとは?確認方法と最適化のポイントをわかりやすく解説
→
関連記事
クローラーとは?仕組み・種類・SEOで重要な理由をわかりやすく解説
→
まとめ
noindexの仕組みと設定方法、確認方法を解説しました。
この記事のポイント
- noindexは検索結果に表示させたくないページに設定するタグ
- metaタグまたはX-Robots-Tag(HTTPヘッダー)で設定できる
- robots.txtとの違いはクロールを許可するかどうか
- noindexが効かない主な原因はrobots.txtによるクロールブロック
- GSCの「noindexタグによって除外されました」で設定状況を確認できる
まずはサーチコンソールの「ページのインデックス登録」レポートで、意図しないnoindex設定がないか確認してみてください。低品質ページやテスト環境にはnoindexを適切に設定し、サイト全体のSEO評価を守りましょう。