Webサイト運営やSEO対策をしていると、避けて通れないのが「noindex」と「robots.txt」の設定です。
見よう見まねで設定している方も多いかもしれませんが、実はこの2つ、間違った使い方をすると検索結果に大きな悪影響を及ぼすこともあります。
この記事では、現役SEO担当者が「noindex」と「robots.txt」の違い、役割、ケース別の使い分け方について丁寧に解説していきます。
すでに設定している人も、これを機に一度見直してみてください。
「noindex」と「robots.txt」は何が違う?

どちらも「検索エンジンのクローラの動きを制御する」ための設定ですが、仕組みも使い方もまったく異なります。
クローラとは?
クローラ(Crawler)とは、Googlebotなどの検索エンジンがWebページを巡回し、情報を収集するプログラムのことです。
このクローラにどう動いてもらうかを指定するのが、noindexやrobots.txtの役目です。
「noindex」の基本と活用方法
特定のページを「検索結果に載せたくない」ときに使います。
記述例は以下の通り:
<meta name="robots" content="noindex">
HTMLの<head>タグ内に記述することで、そのページを検索結果に出さないよう指示できます。
PDFなどHTMLが使えないファイルには.htaccessにX-Robots-Tagで記述します。
注意点:
- Googleはnoindexの指示に従い検索結果から除外しますが、ユーザーがURLを知っていればページ自体は閲覧可能です。
- クローラはこのページを一度読み込む必要があるため、robots.txtでアクセス自体を拒否しているとnoindexは無効になります。
「robots.txt」の基本と活用方法
「robots.txt」とは?
Webサイトのルートディレクトリに配置するテキストファイルで、クローラに「このディレクトリ(またはページ)にはアクセスしないで」と伝えることができます。
記述例:
User-agent: *
Disallow: /admin/
この設定では、全てのクローラ(*
)に対して、/admin/
以下のディレクトリへのアクセスを禁止しています。
注意点:
- 強制力はありません。悪意のあるクローラは無視してアクセスすることも。
- 他サイトからリンクがあると、インデックスされることがある(URLだけのインデックス)
- ユーザーは通常通りアクセスできます。
ケース別「noindex」と「robots.txt」の使い分け方

ここからは具体的なケースごとに、「noindex」と「robots.txt」のどちらを使うべきかをわかりやすく整理していきます。
どちらもSEOやセキュリティの観点から重要な役割を果たしますが、目的を誤るとインデックスさせたいページが除外されてしまったり、逆に見せたくないページが検索結果に表示されたりするリスクもあります。
ですので、実際の利用シーンを踏まえて正しく判断できるよう、目的別に使い分けの例を紹介します。
1. 検索結果のコントロールをしたい(SEO観点)
- 使うべき:noindex
- 理由:robots.txtでブロックするとクローラが内容を読めないため、インデックス有無を正確に判断できない。質の低いコンテンツはnoindexで除外。
2. 管理画面やログインページを守りたい
- 使うべき:robots.txt(必要なら合わせてnoindex)
- 理由:クローラがアクセスする必要がなく、かつ中身を読ませたくないページ。セキュリティ強化のためにも、.htpasswdなどと併用するとベスト。
3. 開発中サイトやテスト環境のアクセス制限
- 使うべき:ベーシック認証
- 理由:noindexやrobots.txtではクローラのアクセス制御は不完全。認証を通さないと見られない状態にするのが確実。
4. 一度インデックスされたページを削除したい
- 使うべき:noindex(+URL削除リクエスト)
- 注意:robots.txtでアクセスブロックしても、すでにインデックスされたURLは残る可能性あり。
noindexとrobots.txtの確認方法
実際に自分のサイトや他のサイトが「noindex」や「robots.txt」をどのように設定しているかを確認する方法を知っておくと、設定ミスを防いだり、競合サイトの対策状況を分析したりすることができます。
ここではその具体的な確認方法をご紹介します。
noindexの確認
- 任意のページを表示し、右クリックで「ページのソースを表示」
meta name="robots" content="noindex"
の有無を検索
robots.txtの確認
- サイトURLに
/robots.txt
を付けて直接アクセス(例:https://example.com/robots.txt
)
まとめ:SEOトラブルを避けるために
「noindex」と「robots.txt」は混同されがちですが、その役割やタイミングは明確に異なります。
- 検索結果から除外したい → noindex
- クローラのアクセス自体をブロックしたい → robots.txt
もし「設定したのに検索に表示される」「いつまでもインデックスが消えない」といった悩みがあれば、今回紹介した内容を元に見直してみてください。
細かなSEO設定こそ、サイト全体のパフォーマンスを支える鍵になります。ぜひ一度、自分のサイトの設定状況をチェックしてみてください。