noindex / nofollowとは?違い・書き方・効かない時の原因まで完全解説
noindexとnofollowは、HTMLのmetaタグやリンクタグに記述してクローラーの挙動を制御するための指示です。設定を間違えると重要なページが検索結果から消えたり、SEO評価が伝わらなくなる重大なリスクがあるため、正しい理解が不可欠です。
本記事では、noindexとnofollowの基本概念から、両者の違い・正しい書き方・「効かない」時の原因と対策・併用パターンまでを解説します。
10年以上の国際SEOコンサルティング経験と、SEGO診断ツールで蓄積した実データをもとに、中小企業のサイト運営者が今日から実践できる内容にまとめました。
クロール制御の体系的な理解には、robots.txtの書き方と注意点もあわせてご覧ください。
Contents
noindexとnofollowの基本
noindexとnofollowは、検索エンジンに対してページの扱い方を指示する2つの異なるディレクティブ(指示)です。それぞれ役割が明確に分かれています。
- noindex:このページを検索結果に表示しないでくださいという指示
- nofollow:このリンクを辿らないでください、またはリンク先にSEO評価を渡さないという指示
2つの大きな違いは「対象範囲」です。noindexはページ全体に対する指示、nofollowは個別リンクまたはページ内全リンクに対する指示です。役割が完全に分かれているため、状況に応じて使い分けます。
noindexとnofollowの違い
2つの指示の違いを整理すると、以下のように対照的な役割を持っています。
| 観点 | noindex | nofollow |
|---|---|---|
| 対象 | ページ全体 | リンク(個別 or 全体) |
| 主な目的 | 検索結果からの除外 | リンク評価の伝達制御 |
| 記述場所 | <head>内のmeta robotsタグ | aタグまたはmeta robotsタグ |
| 代表的な用途 | サンクスページ・テスト環境 | 広告リンク・コメント欄 |
| SEO効果 | 該当ページが評価対象外 | リンク先への評価が止まる |
ポイントは、両者は対立関係ではなく独立した別機能であり、それぞれを単独で使うことも、併用することもできるという点です。
meta robotsファミリー:noindex以外の指示も整理
meta robotsタグには、noindexやnofollow以外にも複数の指示が存在します。これらを混同するとSEOで意図しない結果を招くため、全体像を把握しておきましょう。
| 指示 | 役割 | 使用場面 |
|---|---|---|
| noindex | 検索結果に表示しない | サンクスページ・重複コンテンツ |
| nofollow | リンクを辿らない/評価渡さない | 広告・スパム対策・UGC |
| noarchive | キャッシュ版の保存を禁止 | 頻繁更新コンテンツ・有料記事 |
| nosnippet | スニペット表示を禁止 | 完全クリック誘導が必要な場合 |
| noimageindex | 画像のインデックスを禁止 | 画像盗用防止・有料素材 |
| max-snippet | スニペット文字数の上限指定 | 表示制御を細かく行いたい時 |
これらはcontent属性内でカンマ区切りで複数併記できます。Googleの公式ドキュメント(robotsメタタグの仕様)に全指示の詳細が記載されています。
noindex / nofollowの正しい書き方
2つの指示には複数の記述方法があり、それぞれ用途が異なります。
① meta robotsタグでページ単位に指定
HTMLの<head>内にmeta robotsタグを記述する方法です。最も一般的なパターンで、ページ全体に指示を適用します。
<!-- noindex単独:このページを検索結果に表示しない -->
<meta name="robots" content="noindex" />
<!-- nofollow単独:ページ内の全リンクを辿らせない -->
<meta name="robots" content="nofollow" />
<!-- 両方併用:表示しない + リンクも辿らせない -->
<meta name="robots" content="noindex, nofollow" />
<!-- 複数指示の組み合わせ例 -->
<meta name="robots" content="noindex, nofollow, noarchive" />
クローラー別に指示を分けたい場合は、name属性をクローラー名に変更します。
<!-- Googlebotのみに指示 -->
<meta name="googlebot" content="noindex" />
<!-- ChatGPT(GPTBot)のみに指示 -->
<meta name="GPTBot" content="noindex" />
② aタグでリンク単位にnofollowを指定
nofollowは個別のリンクに対しても指定できます。リンクのrel属性に追加します。
<!-- 通常のnofollow -->
<a href="https://example.com" rel="nofollow">リンクテキスト</a>
<!-- 広告リンクの場合(2019年以降推奨) -->
<a href="https://example.com" rel="sponsored">広告リンク</a>
<!-- ユーザー投稿コンテンツのリンク -->
<a href="https://example.com" rel="ugc">UGCリンク</a>
2019年9月以降、Googleは広告リンクにはsponsored、ユーザー投稿にはugcの使用を推奨しています。これらは技術的にはnofollowの一種として扱われますが、リンクの性質をより正確にGoogleに伝えられます。
③ HTTPヘッダーで指定(X-Robots-Tag)
HTMLが直接生成できないファイル(PDF・画像・動画)に対しては、HTTPレスポンスヘッダー経由で指示を出します。
# Apacheの.htaccessでPDFファイルにnoindexを適用
<Files ~ ".pdf$">
Header set X-Robots-Tag "noindex, nofollow"
</Files>
X-Robots-TagはHTMLメタタグと同じ指示を、サーバーレベルで適用できる強力な機能です。
noindex / nofollowを使うべきケース
具体的にどのようなページ・リンクで使うべきか、典型的なシナリオを整理します。
noindexを使うべきページ
- サンクスページ(フォーム送信完了後の確認画面):直接訪問されても価値がなく、検索結果から到達される必要がない
- テスト環境・ステージング環境:開発中のコンテンツが検索結果に出ると重大な情報漏洩や重複コンテンツの問題に
- 会員専用ページ:ログイン必須のページが検索結果に出ても、ユーザー体験が悪化する
- 検索結果ページ・タグページ:サイト内検索の結果ページが大量に検索流入すると、重複コンテンツとして評価が下がる可能性
- ペラページ・薄いコンテンツ:価値が低いページが検索結果に出るとサイト全体の評価が下がる
nofollowを使うべきリンク
- 広告リンク(rel="sponsored" 推奨):金銭が絡むリンク
- コメント欄のリンク(rel="ugc" 推奨):スパム対策・UGCマーク
- 信頼できないサイトへの外部リンク:自サイトの評価伝達を防ぐ
- ログイン・サインアップなどのリンク:クローラーがクロールする必要がない
- SNSのプロフィールリンク(用途による):必要に応じてnofollow付与
「効かない」時の原因と対策
noindex / nofollowを設定したのに反映されないという相談は、SEGO診断の中でも頻繁に発生する課題の一つです。原因は複数あり、診断的に切り分けることが重要です。
原因1:robots.txtでブロックされている
意外に多いのがこのパターンです。robots.txtでDisallow指定したページにnoindexを設定しても、Googleはそもそもページを読みに行かないため、noindexの存在を認識できません。
# robots.txtでDisallowしている例
User-agent: *
Disallow: /thank-you/ ← ここ
# /thank-you/ ページのHTMLでnoindex指定
<meta name="robots" content="noindex" />
# → Googleは /thank-you/ をクロールしないため、noindexを認識しない
対策:robots.txtからDisallowを外し、noindex単独で運用する。または、両方を撤回してリダイレクトや認証で対応する。
原因2:JavaScriptで動的に描画している
ReactなどのフレームワークでCSR(クライアントサイドレンダリング)を採用している場合、初期HTMLにmeta robotsが含まれず、JavaScript実行後に動的に追加されるケースがあります。
Googlebotは2段階でレンダリングするため一定の対応はできますが、AI検索クローラー(GPTBot・ClaudeBot等)はJavaScript実行能力が限定的なため、確実な制御ができない可能性があります。
対策:SSRまたはSSGに切り替える、もしくはサーバー側でX-Robots-Tagヘッダーを返す。
原因3:複数のmeta robotsタグが矛盾している
テーマ機能とSEOプラグインの両方からmeta robotsが出力されているケースがあります。Googleは複数指示が矛盾している場合、より制限の厳しい指示を採用する傾向があります。
<!-- 矛盾している例:noindexとindexが両立 -->
<meta name="robots" content="noindex" />
<meta name="robots" content="index, follow" />
<!-- → Googleはnoindexを優先する -->
対策:HTMLソースを確認し、meta robotsが1つだけ出力されている状態にする。
原因4:noindex反映までの時間差
noindexを設定しても、Googleが既にインデックスしているページは即座には削除されません。再クロール→新しい指示の認識→インデックス削除、という流れで通常数日〜数週間かかります。
対策:Search Consoleの「URL検査」でクロールリクエストを送信し、削除を促進する。緊急の場合は「削除ツール」で一時的な非表示も可能。
noindex / nofollowの併用パターン
「noindexとnofollowは両方つけるべきか?」という質問は、SEO実務で頻繁に発生します。結論から言うと、用途によって変わります。
| パターン | 推奨 | 具体例 |
|---|---|---|
| noindex のみ | 推奨 | サンクスページ・検索結果ページ |
| nofollow のみ | 非推奨 | ページ全体を辿らせない理由が薄い |
| 両方併用 | 条件付き推奨 | テスト環境・低品質UGCページ |
noindex単独で運用する場合、Googleはページ内のリンクを通常通りクロールします。これは内部リンク構造を維持しつつ、特定ページだけ検索結果から除外したい時に有効です。
テスト環境のように「ページ自体を完全に隔離したい」場合は、両方併用が確実です。サンクスページのように「検索結果に出したくないが内部リンクは活用したい」場合は、noindex単独が最適です。
設定の確認方法
noindex / nofollowが正しく動作しているかは、以下の方法で確認できます。
① ブラウザのデベロッパーツールで確認
対象ページでF12を開き、Elementsタブでhead内を検索します。<meta name="robots">を探し、content属性の内容を確認します。
② Google Search ConsoleのURL検査
Search Consoleで該当URLを検査すると、Googleが認識しているインデックスステータスとmeta robotsの内容が確認できます。「ユーザー指定の正規URL」「Google選択の正規URL」「クロール可能か」「インデックス可能か」が一覧表示されます。
③ Chromeデベロッパーツールの「View Rendered Source」
JavaScript描画後の最終HTMLを確認するには、Chrome拡張機能の「View Rendered Source」が便利です。CSRサイトのデバッグに必須です。
④ SEGO診断による一括チェック
SEGOでは、サイト内のmeta robots設定を含む50項目以上のSEO項目をURL入力だけで一括診断できます。canonicalタグの設定確認と同時に行うと、テクニカルSEOの総点検として効率的です。
特にリニューアル直後のサイトでは、開発時に設定したnoindexが本番でそのまま残っているケースが頻発します。定期的な一括診断で問題を早期発見しましょう。
noindex / nofollowの設定ポイントまとめ
noindexとnofollowは適切に使えば強力なSEO制御ツールですが、誤用するとサイト全体の検索流入を失う重大なリスクがあります。本記事のポイントを整理します。
- noindexはページ単位、nofollowはリンク単位の指示
- 2つは独立した別機能。役割が完全に分かれている
- meta robotsには noarchive / nosnippet など他の指示も存在
- 記述方法は3種類:metaタグ・aタグ・X-Robots-Tagヘッダー
- 「効かない」原因の多くは robots.txt との競合 or JS描画タイミング
- サンクスページや検索結果ページは noindex 単独で十分
- テスト環境・低品質UGCページは noindex + nofollow 併用が確実
- 2019年以降、広告リンクは sponsored、UGCは ugc を使う
SEGOでは、meta robotsを含む50項目以上のSEO・AI検索対応状況を、URLを入力するだけで無料診断できます。誤って重要ページにnoindexが設定されていないか、定期的にチェックすることを強く推奨します。
noindex / nofollowに関するよくある質問
noindexとrobots.txtのDisallowはどちらを使えばよいですか?
目的が異なります。noindexは「クロールはOKだがインデックスしないでほしい」、robots.txt Disallowは「クロール自体を禁止」という指示です。検索結果から確実に除外したい場合はnoindexを優先してください。robots.txtでブロックすると、外部リンクがあるページはURLだけインデックスされる可能性があります。
noindex設定したページからの内部リンクは評価されますか?
noindex単独の場合、内部リンクは通常通りクロール・評価されます。「nofollow」を併記しなければ、リンク評価の伝達は維持されます。サイト構造上のハブページとして機能させたい場合は、noindex単独運用が有効です。
nofollowリンクは完全に無視されるのですか?
2019年以降、Googleは「nofollowはランキングのヒントとして扱う」と明言しました。つまり、完全に無視されるのではなく、参考情報として一定考慮される可能性があります。ただし、SEO評価の伝達は基本的にされないと考えて運用するのが安全です。
noindexを設定したページがGoogleにまだ表示されています
noindexの認識→インデックス削除には数日〜数週間かかります。即時削除したい場合は、Search Consoleの「URL検査」でクロールリクエスト → さらに「削除ツール」で一時的な非表示申請、という2段階で対応してください。それでも残る場合は、原因の切り分け(robots.txt競合・JS描画タイミング・複数タグ矛盾)を確認しましょう。
WordPressでnoindex / nofollowを設定する方法は?
Yoast SEO、All in One SEO、Rank Mathなどの主要SEOプラグインで、投稿編集画面から個別ページごとに設定できます。サイト全体への適用(テスト環境など)は、各プラグインの「設定」→「検索の表示」で一括制御できます。本番環境への移行時、設定の引き継ぎ漏れがないか必ず確認してください。
この記事を書いた人
