使い方ガイド公開日 読了目安 約8分

robots.txt と noindex の違い|検索結果から消す正しい方法

「robots.txt でブロックしたのに検索結果に出てくる」「Search Console に『robots.txt によりブロックされましたが、インデックスに登録しました』と出た」。こうした悩みの多くは、robots.txt と noindex の役割の違いから来ています。この記事では、クロールとインデックスの違い、検索結果から消したいときの正しい手順、robots.txt の Noindex や Crawl-delay が効かない理由、Search Console でよく見るメッセージと書き間違いの直し方をまとめます。

クロールを止める robots.txt、インデックスを止める noindex

検索エンジンがページを検索結果に出すまでには、ページを取りに行く「クロール」と、内容を検索用のデータベースに登録する「インデックス」の2段階があります。robots.txt が止めるのは前者のクロールで、noindex が止めるのは後者のインデックスです。

robots.txt の Disallownoindex(meta タグ・X-Robots-Tag)
止めるものクロール(ページの取得)インデックス(検索結果への表示)
書く場所サイトの /robots.txt各ページの HTML の head、または HTTP ヘッダー
検索結果に出るかほかからリンクされていると URL だけ出ることがあるクロールされたあとに出なくなる
向いている用途検索結果・パラメータつき URL など、クロールの無駄を減らす会員ページ・お礼ページ・重複ページを検索結果から外す
PDF・画像パスで止められるX-Robots-Tag ヘッダーで指定する

robots.txt で止めたページでも、ほかのページからリンクされていれば、Google は「そういう URL がある」ことは知っています。そのため、中身を読まないまま、説明文のない状態で検索結果に出ることがあります。これが「ブロックしたのに検索に出る」理由です。

検索結果から消したいときの正しい手順

  1. 1

    robots.txt のブロックを外す

    noindex は Google がページをクロールして初めて読めます。robots.txt で止めたままだと noindex がいつまでも読まれず、検索結果に残り続けます。まずテスターで、そのページが Googlebot に「許可」になっていることを確かめます。

  2. 2

    ページに noindex を入れる

    HTML の head に <meta name="robots" content="noindex"> を入れます。PDF や画像など HTML でないファイルは、サーバーの設定で X-Robots-Tag: noindex のヘッダーを返します。

  3. 3

    再クロールを待つ・リクエストする

    Search Console の URL 検査ツールでインデックス登録をリクエストすると、早く読まれやすくなります。数が多いときは、サイトマップに一時的に残しておくとクロールされやすくなります。

  4. 4

    消えたのを確かめてから、必要なら robots.txt で止める

    検索結果から消えたあと、クロールの負担も減らしたいなら robots.txt で止めます。ただし止めたあとは noindex が読まれなくなるので、ほかからリンクされると URL だけ再び出ることがあります。基本は noindex だけにしておくのがおすすめです。

Search Console でよく見るメッセージと対処

メッセージ意味対処
robots.txt によりブロックされましたが、インデックスに登録しましたクロールは止まっているが、リンクなどから URL が登録された検索に出したくないなら、ブロックを外して noindex。出したいなら、ブロックを外す
robots.txt によりブロックされましたクロールが止まっていて、インデックスもされていない意図どおりなら対応不要。出したいページなら該当の Disallow を外す
送信された URL が robots.txt によってブロックされましたサイトマップに載せた URL を robots.txt で止めているサイトマップから外すか、ブロックを外す
noindex タグによって除外されましたnoindex が読まれて検索結果から外れている意図どおりなら対応不要

どの Disallow 行が原因かは、Search Console では表示されません。該当の URL をテスターに入れて Googlebot で判定すると、決め手になったルールの行番号が分かります。書き換え後に反映されるまでの流れはrobots.txt の確認方法を参照してください。

robots.txt の Noindex・Crawl-delay は Google には効かない

  • Noindex:以前は非公式に robots.txt の「Noindex: /old/」が読まれていましたが、Google は2019年9月1日にサポートを終えました。今は書いても無視されます。ページの meta タグか X-Robots-Tag を使います。
  • Crawl-delay:Google は読みません。Googlebot はサーバーの応答の速さやエラーを見て、クロールの頻度を自動で調整します。Bing や Yandex は Crawl-delay を読みます。
  • Host・Clean-param:Yandex だけが使う項目で、Google・Bing は読みません。
  • Sitemap:Google も読みます。ただし「Sitemap: /sitemap.xml」のようなパスだけでは読まれず、https:// から始まる完全な URL で書く必要があります。

Googlebot のクロールが多すぎてサーバーが重いときは、一時的に 503 や 429 のステータスを返すと、Google はクロールを減らします。ただし長く続けるとクロールの対象から外れていくので、数日以内に戻すのが目安です。

よくある書き間違いと直し方

間違いどうなるか正しい書き方
User-agent:*(全角コロン)行が読まれないUser-agent: *
Disallow: https://example.com/secret/URL ではなくパスを書くので一致しないDisallow: /secret/
Disallow: private// で始まらないのでどこにも一致しないDisallow: /private/
先頭に Disallow: /admin/(User-agent の前)どのクローラーにも使われない上に User-agent: * を書く
User-agent: Googlebot-Images存在しない名前なので使われないUser-agent: Googlebot-Image
Noindex: /old/Google は無視するページに meta robots の noindex
Sitemap: /sitemap.xml読まれないSitemap: https://example.com/sitemap.xml

テスターのサンプル「間違いの多い書き方」には、これらの間違いがまとめて入っています。読み込んで「書き方のチェック」を見ると、どの行がどう読まれるのかを確かめられます。ワイルドカードの書き方はAllow と Disallow の優先順位と * $ の意味、AI クローラーの止め方はAI クローラーをブロックする robots.txtで解説しています。

よくある質問

robots.txt でブロックすれば検索結果から消えますか?
消えるとは限りません。robots.txt はクロールを止めるだけなので、ほかのページからリンクされている URL は、説明文なしで検索結果に出ることがあります。消したいときは、ブロックを外してページに noindex を入れます。
robots.txt と noindex を両方使ってもいいですか?
同じページに両方を使うと、robots.txt のせいで Google が noindex を読めず、noindex が効きません。検索結果から外したいページは robots.txt でブロックせず、noindex だけを使います。
robots.txt に Noindex と書くとどうなりますか?
Google は2019年9月1日にサポートを終えたので、何も起こりません。ページの meta タグ(<meta name="robots" content="noindex">)か、X-Robots-Tag ヘッダーを使ってください。
「robots.txt によりブロックされましたが、インデックスに登録しました」は直すべきですか?
そのページを検索結果に出したいなら、robots.txt のブロックを外します。出したくないなら、ブロックを外して noindex を入れます。どちらでもないまま放置すると、説明文のない状態で検索結果に出続けることがあります。

この記事で紹介したツール

あわせて読みたい

使い方ガイド約8分

robots.txt の Allow と Disallow の優先順位|* と $ の意味

robots.txt で同じ URL に Allow と Disallow の両方が当てはまるとき、どちらが使われるのか。「上に書いたほうが優先」と思われがちですが、Google の読み方は違います。この記事では、Google が採用している「いちばん長く一致したルールが勝つ」仕組み、ワイルドカード「*」と末尾の「$」の意味、「/fish」と「/fish/」の違い、大文字小文字や日本語の URL の扱いを、例を使って解説します。

記事を読む →
使い方ガイド約7分

robots.txt の User-agent の書き方|* と Googlebot を両方書くと

robots.txt に「User-agent: *」のグループと「User-agent: Googlebot」のグループの両方を書くと、Googlebot は「*」のルールを使わなくなります。これを知らずに Googlebot 用のグループを足して、止めていたはずのページがクロールされるようになった、というトラブルはよくあります。この記事では、クローラーがどのグループを使うかの決まり方、Googlebot-Image や AdsBot-Google などの特別な扱い、グループのまとめ方と書き間違いやすい点を解説します。

記事を読む →
使い方ガイド約8分

robots.txt の確認方法|テスター廃止後にブロックを調べる手順

Google Search Console にあった robots.txt テスターは2023年12月に提供が終わり、今は「robots.txt レポート」に置き換わっています。レポートでは「URL を入れてブロックされるか試す」ことができないため、「どこで確認すればいいの?」と迷う人が増えました。この記事では、robots.txt の置き場所と開き方、Search Console のレポートと URL 検査ツールで分かること・分からないこと、テスターで URL ごとの判定を確かめる手順、書き換えたあとに反映されるまでの流れをまとめます。

記事を読む →