「AIに読まれたくないページはrobots.txtで止めればいい」——この理解のままnoindexタグとrobots.txtのDisallowを同じ意味で使っていると、AIに引用してほしい記事まで気づかないうちに検索対象から消えていることがあります。この記事では、両者の違いをAIO/LLMOの観点から診断します。

1. そもそもrobots.txt・noindexとは何か(例え話つき)

AIOの記事によく出てくるrobots.txt(ロボッツ・テキスト)noindex(ノーインデックス)Disallow(ディサロー)という単語は、どれも「AIやGoogleのロボット(クローラー)にサイトの見せ方を指示するための仕組み」です。初めて聞くと横文字だらけで身構えてしまいますが、お店の接客に例えると次のようになります。

🏪 お店で例えると

robots.txt = お店の入口に貼る「関係者以外立ち入り禁止」の張り紙。ここにDisallow(禁止)と書かれた場所には、ロボット(AIやGoogleのクローラー)はそもそも入店できません。

noindex = 「お客さんは入店OK・商品も見ていいけれど、この商品だけはチラシ(検索結果の一覧)には載せないでください」という個別の指示。入店(クロール)はできるが、チラシ掲載(検索結果への表示)だけを断る仕組みです。

この違いを理解しないまま「AIに読まれたくないから」と安易にrobots.txtで記事をブロックしてしまうと、本当は読んでほしいはずの記事までロボットが入店できなくなり、AIに一切引用されなくなってしまいます。

2. robots.txtとnoindexは「止める場所」が違う

Google公式のSearch Central「Block Search Indexing with noindex」および「Robots.txt Introduction and Guide」によれば、robots.txtはクローラー(GPTBot・Googlebot等のAIやサーチエンジンのロボット)に「このページを取りに来るな」と指示するファイルで、noindexは「ページは読んでよいが、検索結果には出すな」とページ側から指示するタグです。両者は「クロール(取得)を止めるか」「インデックス(検索結果への掲載)を止めるか」という、止める工程そのものが異なります。

Google公式ドキュメントは、この2つを併用することも明確に禁止しています。robots.txtでブロックされたページは、そもそもクローラーがページ本文にアクセスできないため、ページ内に書いたnoindexタグをクローラーが読むこと自体ができません。その結果、ページは検索結果から消えるどころか、外部サイトからのリンクがあるとURLだけが「情報不明のページ」として検索結果に表示され続けるという、意図と逆の結果になり得ます。

3. AIはブロックされたページをどう扱うのか(仕組み解説)

GPTBot・ClaudeBot・PerplexityBotのようなAIクローラーは、記事㉛(サイトに来ているAIのUser-Agent解説)で扱った通り、Webページを巡回してRAG(Retrieval-Augmented Generation=AIが回答を作る前にWeb上の文章を検索・読み込む仕組み)の材料としてページ本文を取得しています。この「取得(クロール)」を止めるのがrobots.txtです。つまり、記事全体をrobots.txtでDisallowにすると、AIはそのページの中身を一切読めなくなり、どんなに良い記事を書いても引用対象の候補にすら入りません

一方noindexは、AIクローラーがページ本文を読むこと自体は妨げません。AIが「読む」ことと、Googleの通常検索結果に「掲載される」ことは別の話だからです。実際、多くのAI検索エンジンは、Google検索のインデックスとは別に独自のクロール・保存の仕組みを持っており、たとえnoindexが付いていても、robots.txtで止めていなければAIクローラーはページを取得し、回答生成の材料に使うことがあります。つまり「AIに読まれたくない」なら本来はrobots.txtで止めるべきで、「Google検索の一覧には出したくないが記事としては公開したい」ならnoindexを使うべきという、目的に応じた使い分けが必要です。この区別を誤ると、AIに引用してほしい記事をrobots.txtで誤って全ブロックしてしまうという、本末転倒な設定ミスが起こります。

4. robots.txtは「絶対」ではない──Cloudflare vs Perplexityの実例

ここまでの説明は「robots.txtで止めればAIクローラーは来ない」という前提でしたが、これはすべてのAIクローラーが規約を守る場合の話です。この前提が崩れた実例を紹介します。まず登場人物を整理すると、Cloudflare(クラウドフレア)は世界中の非常に多くのWebサイトの裏側でサイバー攻撃対策・表示速度改善を担っている大手セキュリティ会社(前出の例え話でいう「警備員」の会社)、Perplexity(パープレキシティ)はChatGPTと同じジャンルの、Web検索をしながら回答を作るAI検索サービスの一つです。

2025年8月、そのCloudflareが公式ブログで、Perplexityのクローラーがrobots.txtの明示的なDisallow指示を無視してWebサイトをクロールしていたと告発しました。CloudflareはPerplexityが検証済みクローラーとは別のUser-Agentを使い、ブロックされるとChromeブラウザになりすましてユーザーの操作を装っていたと報告し、Perplexityを検証済みボットのリストから除外する対応を取りました(Malwarebytes・Cybernews等複数メディアが同時期に報道)。

この事例が示すのは、robots.txtは「行儀の良いクローラー」に対する紳士協定であり、法的な強制力を持つ技術的ブロックではないという事実です。「AIに読ませたくない情報」を本当に守りたい場合、robots.txtだけに頼らず、ログイン認証やIP制限など別の技術的手段も検討する必要があります。逆に「AIに読ませたい記事」の場合は、robots.txtで止めていなければ、規約を守らないクローラーも含めて読まれる可能性がある、という点も踏まえておく必要があります。

5. robots.txt と noindex の使い分け早見表

目的robots.txt(Disallow)noindexタグ
クロール(AIが本文を読むこと)を止める◎ 止まる✕ 止まらない
Google検索結果への掲載を止める△ URLだけ残る場合あり◎ 確実に止まる
AI引用の材料からページを外したい◎ 有効△ 保証されない
公開したブログ記事に使うべきか✕ 使うと引用対象から消える基本的に不要(noindexも外す)
サンクスページ・内部検索結果ページ△ 単独使用は非推奨◎ Google推奨

6. 実装コード例

ブログ記事のように「AIにもGoogle検索にも読んでほしい」ページでは、そもそもrobots.txtにもnoindexタグにも記載しないのが基本です。逆に「Googleにもどのクローラーにも読ませたくない」ページのみ、robots.txtで明示的にDisallowします。

$ curl -s https://example.com/robots.txt
User-agent: *
Disallow: /wp-admin/
Disallow: /private-drafts/

# ブログ記事のディレクトリはDisallowしない(AIに読ませたい)
# Allow: /blog/ は省略時点で許可扱い
HTMLメタタグでnoindexのみ指定する例(クロールは許可・検索結果から除外)
<meta name="robots" content="noindex">

7. よくある質問

Q. すでにrobots.txtとnoindexを両方付けているページはどうすればいいですか?
A. Google公式は、ページを検索結果から確実に外したい場合はrobots.txtのDisallowを外し、noindexタグのみを残すことを推奨しています。両方付いていると、クローラーがnoindexの指示自体を読めない状態が続きます。
Q. 「AIに読まれたくない」ページと「Google検索に出したくない」ページ、両方に該当する場合は?
A. その場合はrobots.txtのDisallowのみで問題ありません。noindexを追加で書いても、クローラーがページに到達できないため意味を持ちません。

貴社サイトのrobots.txt・noindex設定が、AIに読ませたいページを誤ってブロックしていないか、無料で診断します。
AIO/LLMO診断のお問い合わせはこちら

AIO/LLMOについて相談する →
YOU
Author

YOU

株式会社THE WORLD のAIO/LLMOチームマネージャー。福岡・天神を拠点に、AIO/LLMO対策やAI導入支援の現場で企業のAI活用を支援。生成AI時代に「選ばれ続ける」ための実践知を発信しています。