AIの学習はブロックしつつ、AI検索の回答には残す方法

公開日

結論

多くのAIベンダーは、モデルの学習用と検索用でrobots.txtのトークンを分けています。GPTBot、ClaudeBot、Google-Extended、Applebot-Extended、meta-externalagent、CCBotなどの学習用トークンは禁止し、OAI-SearchBot、Claude-SearchBot、PerplexityBotなどの検索用・ユーザー用トークンは許可します。同じ方針を文章で示すために、Content-Signalの行も追加します。

サイト運営者の多くは、コンテンツをAIモデルの学習には使わせたくない一方で、AIアシスタントにはページを見つけて引用し、リンクしてほしいと考えています。主要ベンダーが今ではこれらの役割を別のクローラーやトークンに分けているため、robots.txtでその両方を表現できます。ただし、ベンダーごとに名前が異なり、パターンに当てはまらないベンダーもあり、1行間違えるだけで、学習データからではなくAIの回答から外れてしまうことがあります。

このページの内容
  1. 学習用クローラーと検索用クローラーの違いは?
  2. 学習を制御するトークンと検索を制御するトークンはどれ?
  3. robots.txtはどう書く?
  4. すでにどれくらいのサイトがこれをしている?
  5. Content-Signalは何を加えるのか
  6. この分け方がうまくいかないのはどんなとき?
  7. 分け方が機能しているか確認するには?

学習用クローラーと検索用クローラーの違いは?

学習用クローラーは、AIモデルの構築や改善に使われる可能性のあるページを収集します。学習だけでは、引用もリンクも生まれません。検索用クローラーは、AIアシスタントが回答の根拠となる情報源を探すために使うインデックスを作り、引用できるのはその情報源です。ユーザーによる取得のフェッチャーは、誰かがそのページについて尋ねたため、その場でページを開きます。

ベンダーはこれらの役割を別々に文書化し、設定は互いに独立していると述べています。たとえばOpenAIは、自社のクローラーに対するrobots.txtの各設定は、ほかの設定から独立していると述べています。そのため、学習のオプトアウトを正しく行えば、検索での表示には影響しません。

学習を制御するトークンと検索を制御するトークンはどれ?

ベンダーが文書化しているトークンを、制御する対象ごとに分類します。

robots.txtはどう書く?

RFC 9309では、User-agentの行が連続すると1つのグループになり、そのルールはそれぞれに適用されます。次のファイルは、上記の学習用トークンをオプトアウトし、検索用・ユーザー用エージェントを許可し、1つの非公開パスをすべてに対して閉じています。

User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: meta-externalagent
User-agent: CCBot
Disallow: /

User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: meta-webindexer
Allow: /
Disallow: /account/

User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /
Disallow: /account/

Sitemap: https://example.com/sitemap.xml

注意点が2つあります。1つ目は、名前を指定したグループは*から引き継がないため、非公開のパスは検索用のグループにも繰り返す必要があることです。2つ目は、GooglebotやApplebotを学習用のグループに加えてはいけないことです。これらは検索用クローラーなので、ブロックするとGoogle検索やAppleの検索機能から外れます。変更はすぐには反映されません。OpenAIは検索について約24時間、Perplexityは最大24時間としています。

すでにどれくらいのサイトがこれをしている?

思ったより少数です。2026-11-12に、Tranco上位1,000ドメインのrobots.txtを読み取りました。robots.txtを返した518サイトのうち、少なくとも1つのAI学習用クローラーにホームページを禁止しているのは155サイト(29.9%)です。学習用クローラーをブロックしつつ、テストしたすべてのAI検索用・ユーザー用クローラーを許可する、選択的な方法を取っているのは57サイト(11.0%)にとどまります。全体では、AI検索用またはユーザー用のクローラーを少なくとも1つブロックしているサイトが101(19.5%)あります。

クローラーごとの数字にも同じ傾向が表れています。GPTBotは111サイト(21.4%)、OAI-SearchBotは58サイト(11.2%)でブロックされています。ClaudeBotは110サイト(21.2%)、Claude-SearchBotは67サイト(12.9%)です。Google-Extendedは94サイト(18.1%)、Googlebotは14サイト(2.7%)でブロックされています。Content-Signalを使っているのは18サイト(3.5%)だけです。

この調査が対象としているのはホームページのrobots.txtのルールだけです。ファイアウォールによるブロックは測定しておらず、各サイトの意図もわかりません。

Content-Signalは何を加えるのか

Content Signalsは、Cloudflareがcontentsignals.orgで公開しているrobots.txtの拡張です。Content-Signalの行で、コンテンツをどう使ってよいかを3つのシグナルで示します。search(検索インデックスの構築と、リンクや短い抜粋の表示)、ai-input(生成回答のためのグラウンディングや検索など、AIモデルへのコンテンツのリアルタイムな入力)、ai-train(モデルの学習やファインチューニング)です。

searchの定義には、AIが生成する検索要約が含まれない点に注意してください。AIの回答に表示されたい場合は、上の例のようにai-input=yesも設定します。Cloudflareのマネージドrobots.txtは、デフォルトでsearch=yes, ai-train=noを追加します。指定しなかったシグナルは、その用途を許可も制限もしません。

これらは意思表示です。Content Signalsのサイトは、技術的なレベルでクロールを妨げるものではないとしており、Cloudflareもrobots.txtの順守は任意だと述べています。確認した範囲では、OpenAI、Anthropic、Google、Perplexityのクローラーのページに、Content-Signalを読み取るかどうかは書かれていません。そのため、クローラーごとのグループの代わりではなく、それを補うものとして扱ってください。

この分け方がうまくいかないのはどんなとき?

いくつか注意が必要なケースがあります。

分け方が機能しているか確認するには?

robots.txtを、各クローラーが読むように読み取ります。そのクローラーを指定しているグループを探し、なければ*にフォールバックし、最も長く一致するルールを適用します。そのうえで、各検索用クローラーのユーザーエージェントでページをリクエストし、403やチャレンジページではなく、完全なコンテンツとともに200が返ることを確認します。

AISeeWhyは、学習用、検索用、ユーザー用に分類した14種類のクローラーについて、その両方を行います。また、学習をブロックするつもりでPerplexityBotやClaude-SearchBotなどの検索用トークンをブロックしてしまう、最もよくある間違いを指摘します。

よくある質問

GPTBotをブロックすると、ChatGPTの回答から外れる?

いいえ。OpenAIは、GPTBotは学習用であり、robots.txtの各設定は独立していると述べています。ChatGPT検索はOAI-SearchBotを使います。これが許可されていて、ファイアウォールにブロックされていなければ、ページは引き続き対象になります。

Google-Extendedをブロックすると、AI Overviewsから外れる?

Googleのドキュメントによれば、外れません。Googleは、Google-ExtendedはGoogle検索への掲載に影響せず、AI Overviewsは検索インデックスを利用していると述べています。サイトをAI OverviewsとAI Modeから除外するには、Search Consoleに別の設定があります。

AIの学習をすべてブロックする1行はある?

標準的な1行はありません。Content-Signal: ai-train=noはすべてのクローラーに向けた意思表示になりますが、守られるかどうかは運営者次第です。学習用トークンごとに名前を指定したグループを書くのが、文書化されている方法です。

AIの学習を止めるために、Perplexityをブロックすべき?

Perplexityは、同社のエージェントは学習データの収集には使われないと述べています。PerplexityBotをブロックしても学習のオプトアウトにはならず、Perplexityの検索結果での表示が減るだけです。

参考資料

ほかの記事