robots.txtとnoindexの違い|検索に表示されない原因と正しい使い分け

robots.txtとnoindexの違い|検索に表示されない原因と正しい使い分け

目次

robots.txtとnoindexの違い|まず結論から理解しよう

robots.txtとnoindexは、どちらも検索エンジンに関係する設定ですが、役割はまったく異なります。

最初に結論を整理すると、

robots.txt
→ 検索エンジンのクローラーに「このURLをクロールしないで」と伝える

noindex
→ 検索エンジンに「このページを検索結果へ掲載しないで」と伝える

という違いがあります。

Googleは、robots.txtについてクローラーがどのページやファイルをリクエストできるかを制御する仕組みとして案内しています。一方、noindexはページをGoogleのインデックスから除外し、検索結果に表示されないようにするためのルールです。

この違いを理解しないまま設定すると、

  • 検索から消したかったのに残っている
  • Googleに見てほしいページをブロックしてしまった
  • noindexを設定したのに反映されない

といったSEOトラブルにつながります。

そもそも「クロール」と「インデックス」は何が違う?

robots.txtとnoindexを理解するには、まずクロールとインデックスの違いを知っておく必要があります。

簡単に整理すると、

クロール
→ Googlebotなどの検索エンジンがページを訪れて内容を取得すること

インデックス
→ 取得したページの内容をGoogleが解析し、検索結果に表示できる状態として登録すること

です。

イメージすると、

Googleがページを見に来る=クロール

ページの内容を理解する

検索データベースへ登録する=インデックス

検索結果に表示される可能性が生まれる

という流れです。

robots.txtは最初の「クロール」に関係し、noindexは主に「インデックス」に関係します。

この違いが、今回の記事で最も重要なポイントです。

robots.txtとは?検索エンジンのクロールを制御するファイル

robots.txtでできること

robots.txtは、検索エンジンのクローラーに対して、サイト内のどのURLへアクセスしてよいか、またはアクセスしてほしくないかを伝えるためのテキストファイルです。

通常は、

https://example.com/robots.txt

のように、サイトのルート直下へ設置します。

Googleもrobots.txtは対象ホストのルートに配置する必要があり、サブディレクトリ内に置いても有効にならないと案内しています。

例えば、

  • 管理上クロールさせる必要がないURL
  • サイト内検索結果など大量にURLが生成される領域
  • 重要性の低い類似ページ

などについて、クロールを制御する用途があります。

Googleはrobots.txtを、クロールトラフィックの管理や、重要性の低いページ・類似ページへのクロールを防ぐ用途として案内しています。

robots.txtでできないこと

ここが非常に重要です。

robots.txtは「Google検索に表示しないための設定」ではありません。

Googleは、robots.txtでクロールを禁止したページであっても、他のページからそのURLがリンクされている場合などには、ページ内容をクロールせずURLだけをインデックスする可能性があると説明しています。

つまり、

robots.txtでブロック=検索結果から必ず消える

ではありません。

「検索結果に表示したくない」という目的なら、原則としてnoindexなど別の方法を検討します。

基本的な記述例

例えば、すべてのクローラーに対して/private-directory/以下へのクロールを許可しない場合、考え方としては次のようになります。

User-agent: *
Disallow: /private-directory/

一方、すべてのページをクロール可能にする場合は、特別な制限を設けない構成にします。

robots.txtは書き方を間違えると、サイト全体をクロールできなくしてしまう可能性があります。

そのため、「何となくSEO対策として設定する」ものではありません。

noindexとは?検索結果への掲載を防ぐための設定

noindexとは、検索エンジンに対して、

「このページを検索結果に表示しないでください」

と伝えるためのルールです。

Googlebotがページをクロールし、noindexを確認すると、そのページはGoogle検索結果から除外されます。

Googleは、他サイトからリンクされている場合でも、Googlebotがnoindexを検出すればGoogle検索結果から除外すると説明しています。

HTMLページでnoindexを設定する方法

代表的なのは、HTMLのrobots metaタグを使う方法です。

例えば、

<meta name="robots" content="noindex">

という設定です。

この設定によって、対応する検索エンジンへ「インデックスしない」という指示を出します。

WordPressなどのCMSでは、HTMLを直接編集しなくても、管理画面やSEO関連機能から設定できる場合があります。

PDFなどHTML以外ではX-Robots-Tagを使える

PDFなど、HTMLの<head>内へmetaタグを設置できないファイルについては、HTTPレスポンスヘッダーのX-Robots-Tagを使ってnoindexを指定できます。

Googleも、PDF・動画・画像などHTML以外のリソースについてX-Robots-Tagを利用できると案内しています。

例えば、

  • 営業資料PDF
  • 過去資料
  • 検索から見つけてもらう必要のないファイル

などで検討するケースがあります。

noindexを設定してもすぐ消えるとは限らない

noindexは設定した瞬間にGoogle検索からページを消すスイッチではありません。

Googlebotがそのページを再度クロールし、

「noindexが設定されている」

と認識する必要があります。

Googleは、ページの重要度などによって再クロールまで時間がかかる場合があり、必要に応じてSearch ConsoleのURL検査ツールから再クロールをリクエストできると説明しています。

そのため、

「昨日noindexを入れたのに、今日も検索結果に出ている」

からといって、必ず設定失敗とは限りません。

robots.txtとnoindexの決定的な違いを比較

項目robots.txtnoindex
主な目的クロール制御インデックス制御
Googlebotのアクセスブロックできるアクセスさせる必要がある
検索結果から除外保証されないGooglebotが認識すれば除外
主な設定場所ドメイン直下のrobots.txtmetaタグ/HTTPヘッダー
ページ単位の検索除外不向き適している
機密情報の保護不向き不向き

特に覚えておきたいのは、

検索結果に表示させたくない=noindex
クロールそのものを制限したい=robots.txt

という基本です。

絶対に注意したい「robots.txt+noindex」の組み合わせ

初心者の方が最も間違いやすいのが、この設定です。

「検索に出したくないから、robots.txtでブロックして、さらにnoindexも付けておこう」

一見すると二重に対策できて安全そうですが、逆効果になる可能性があります。

理由は、robots.txtでクロールをブロックすると、Googlebotがページへアクセスできなくなるからです。

Googlebotがページを開けなければ、ページ内にあるnoindexも確認できません。

Googleは明確に、noindexを機能させるにはrobots.txtでページをブロックせず、クローラーがアクセスできる状態にする必要があると案内しています。

つまり、

robots.txt:入るな
noindex:中に入ったら「検索に載せるな」と書いてある

という状態になります。

入れないので、中の指示を読めません。

検索結果から除外したいページなら、

クロールを許可する

Googlebotにnoindexを読ませる

という流れが基本です。

目的別|robots.txtとnoindexの正しい使い分け

検索結果に表示させたくないページ

例えば、

  • 検索結果ページ
  • ユーザーにとって検索流入させる必要のない完了ページ
  • 一部の管理上必要な公開ページ

など、公開状態ではあるもののGoogle検索には載せたくない場合は、noindexを検討します。

ただし「そのページを本当に検索から除外すべきか」は慎重に判断しましょう。

SEO上価値がないと思ってnoindexにしたページが、実は検索流入を持っていた、というケースもあります。

Googlebotのクロールを抑えたいページ

大量のURLが生成されるなど、Googlebotに積極的にクロールしてもらう必要がない領域ではrobots.txtを検討します。

Googleも、robots.txtをクロールトラフィックの管理などに利用できるとしています。

ただし、小規模な企業サイトで、

「SEOに良さそうだから、とりあえずrobots.txtで色々ブロックする」

必要はありません。

むしろ重要なCSS・JavaScriptやページを誤ってブロックするリスクに注意が必要です。

会員限定・社内限定・機密情報を守りたいページ

これはrobots.txtでもnoindexでもありません。

ログイン認証やパスワード保護など、アクセス自体を制限する仕組みが必要です。

robots.txtは誰でも閲覧できるファイルであり、セキュリティ機能ではありません。

noindexも検索結果への掲載を制御するもので、URLを知っている人からページを守る機能ではありません。

Googleも、検索結果に出したくないページについて、必要に応じてパスワード保護などを利用するよう案内しています。

機密情報を守る目的でrobots.txtやnoindexだけを使うのはNGです。

テスト環境・ステージングサイト

リニューアルで特に注意したいのが、制作中のテストサイトです。

テストサイトがGoogleにインデックスされると、

  • 本番サイトとほぼ同じ内容が検索される
  • 制作途中の情報が一般公開される
  • 会社名検索でテストサイトが出る

といった問題につながります。

テスト環境では、noindexだけに依存するのではなく、認証をかけて一般ユーザーや検索エンジンからアクセスできない状態にするのが安全です。

そして本番公開時には、認証・noindex・robots.txtなどのテスト用設定が残っていないか必ず確認します。

検索に表示されない時に確認すべきポイント

noindexが残っていないか

リニューアル後に検索へ出なくなった場合、最優先で確認したいのがnoindexです。

制作中に設定していたnoindexを、本番サイトでもそのまま残してしまう事故があります。

特に、

  • トップページ
  • サービスページ
  • ブログ・お知らせ
  • 施工事例
  • 採用ページ

など重要ページのnoindexは致命的です。

robots.txtで重要ページをブロックしていないか

robots.txtの設定ミスによって、重要なページ群をGooglebotがクロールできなくなっている可能性もあります。

例えば、

Disallow: /

のような設定は、対象ユーザーエージェントに対してサイト全体へのクロールを禁止する意味になります。

制作環境用の設定を本番へそのまま移さないよう注意しましょう。

WordPressの検索エンジン表示設定を確認する

WordPressでは管理画面に、検索エンジンがサイトをインデックスしないよう促すための設定があります。

制作中に有効にしていた場合、公開時の解除忘れに注意が必要です。

リニューアル公開時のチェックリストに、

「検索エンジン関連設定の確認」

を必ず入れておきましょう。

HTTPヘッダーのX-Robots-Tagを確認する

HTMLを見てもnoindexが見つからないのに検索へ出ない場合、HTTPレスポンスヘッダーにX-Robots-Tagが設定されている可能性があります。

Googleでは、X-Robots-Tagでもnoindexなどのルールを指定できます。

特に、

  • PDF
  • サーバー設定
  • .htaccess
  • NGINX設定

などが関係する場合は、制作会社やエンジニアへ確認しましょう。

そもそもGoogleにクロールされているか

noindexもrobots.txtも問題がないのに表示されない場合、

  • 新しく公開したばかり
  • 内部リンクがない
  • XMLサイトマップに含まれていない
  • GoogleがまだURLを発見していない

など、別の理由も考えられます。

「検索に出ない=noindex」と決めつけず、Search Consoleで状況を確認することが大切です。

リニューアル時に起こりやすいrobots.txt・noindex事故

テスト環境のnoindexを本番に残す

最も危険な事故の一つです。

デザインもフォームも正常なのに、検索流入だけが急激に落ちる可能性があります。

robots.txtでサイト全体をブロックしたまま公開する

制作中にクロールを抑える目的で設定し、そのまま本番公開するケースです。

公開前チェックで必ずrobots.txtを確認します。

noindexページをrobots.txtでもブロックする

先ほど説明した通り、Googlebotがnoindexを確認できなくなる可能性があります。

検索から外したいなら、Googlebotがnoindexを読み取れる状態にすることが必要です。

robots.txt内に「Noindex:」と書く

robots.txtへnoindexを記述して検索結果から除外しようとする方法は、Googleではサポートされていません。

Googleは、noindexはmetaタグまたはHTTPレスポンスヘッダーで実装するよう案内しています。

インデックスさせたい重要ページまでnoindexにする

カテゴリページやサービス詳細などを、「重複しそうだから」という理由だけでnoindexにするのも注意が必要です。

そのページがユーザーの検索意図に応えられるなら、検索流入の入口になる可能性があります。

noindexは、

「SEO評価が低そうだから」ではなく、「検索結果に存在する必要があるか」

で判断しましょう。

設定を確認する方法|Search Consoleでチェックする

robots.txtやnoindexの状態を確認する際は、Google Search Consoleを活用します。

特に便利なのがURL検査ツールです。

対象URLについて、

  • Googleにインデックスされているか
  • クロールできているか
  • noindexが検出されているか
  • GoogleがどのURLを正規URLとして認識しているか

などを確認できます。

Googleも、noindexが正しく実装されているか確認する方法としてURL検査ツールやページのインデックス登録レポートを案内しています。

robots.txtについても、Search Consoleのrobots.txtレポートなどを利用して公開済みファイルの問題を確認できます。

「設定したつもり」で終わらず、Googleから実際にどう見えているかを確認することが重要です。

robots.txt・noindexチェックリスト

robots.txt

  • robots.txtがドメインのルート直下にある
  • 重要ページを誤ってDisallowしていない
  • サイト全体を意図せずブロックしていない
  • 制作環境用の設定が本番に残っていない
  • 「検索から消す目的」でrobots.txtを使っていない
  • robots.txtにNoindexルールを書いていない

noindex

  • 検索結果に必要なページへnoindexが付いていない
  • noindexページをrobots.txtで同時にブロックしていない
  • WordPress等の検索エンジン設定を確認している
  • HTTPヘッダーのX-Robots-Tagも確認している
  • noindex設定後、Search Consoleで認識状況を確認している

リニューアル公開時

  • トップページをURL検査した
  • 主要サービスページをURL検査した
  • robots.txtを確認した
  • noindexを全ページ横断で確認した
  • XMLサイトマップを確認した
  • 旧URL→新URLの301を確認した
  • 公開後もSearch Consoleでインデックス状況を監視している

まとめ:検索に出したくない=robots.txtではない

robots.txtとnoindexは似ているようで、役割が明確に違います。

robots.txt
→ クロールを制御する

noindex
→ 検索結果へのインデックスを制御する

そして最も注意したいのが、

robots.txtでクロールを止めると、Googlebotがnoindexを読めなくなる

という点です。

Googleも、noindexを有効にするには、そのページをrobots.txtでブロックせずGooglebotがアクセスできる状態にする必要があると明記しています。

また、robots.txtもnoindexもセキュリティ機能ではありません。

社内限定・会員限定・機密情報など、本当に第三者へ見せたくない情報については、認証などアクセス自体を制限する仕組みが必要です。

特にサイトリニューアルでは、制作中の設定が本番へ残り、検索流入が失われる事故があります。

公開前には、

  • robots.txt
  • noindex
  • X-Robots-Tag
  • Search Console
  • XMLサイトマップ

をセットで確認し、検索エンジンが正しくサイトをクロール・インデックスできる状態を整えましょう。

無料相談

Refuでは、リニューアル時のrobots.txt・noindex設定確認から、Search Consoleを使ったインデックス状況の調査、301リダイレクト、XMLサイトマップ、公開後のSEO監視まで一括で対応しています。

「リニューアル後に検索に出なくなった」
「noindexが残っていないか確認したい」
「Search Consoleにエラーが出ているけれど原因が分からない」

など、お気軽にご相談ください。

無料相談はこちらから

その他おすすめ記事はこちら

Googleサーチコンソールの基本操作と改善への活かし方

301リダイレクト完全ガイド|SEOを落とさずURL変更する手順と注意点

リニューアル後に検索順位が落ちた時の原因チェック|最短で戻す改善手順

コンテンツ移行で失敗しないために|旧サイト資産の棚卸しと移行判断基準

ホームページの404エラーとは?SEOへの影響と正しい対処法

Contact us

あなたの想いをお聞かせください

無料のお見積もりのご依頼や
WEBデザイン、名刺、パンフレットなどの
制作について
ご相談したい方はこちらから

コラム一覧へ戻る

おすすめ記事

目的別:CMSの選び方|WordPressだけじゃない最適解の見つけ方

目的別:CMSの選び方|WordPressだけじゃ…

SSL対応は本当に必要?セキュリティと信頼性の関係

SSL対応は本当に必要?セキュリティと信頼性の関係

フォームスパム対策まとめ|reCAPTCHAだけに頼らない防止策

フォームスパム対策まとめ|reCAPTCHAだけに…

Contact us

WEB制作に関するお悩みがある方は
お気軽にご相談ください。