AIクローラー向けrobots.txt:何を許可し、何をブロックするか

公開日

結論

気にかけるAIクローラーごとに、専用のUser-agentグループを用意します。引用されたい場合はOAI-SearchBot、Claude-SearchBot、PerplexityBotなどの検索クローラーを許可し、GPTBot、ClaudeBot、Google-Extended、Applebot-Extendedなどの学習用トークンについては別に判断します。名前を指定したグループは、そのクローラーにとって*のグループに置き換わります。

robots.txtは1994年にさかのぼるプレーンテキストのファイルで、2022年に正式な標準であるRFC 9309になりました。多くのAIベンダーが自社のクローラーはこれに従うと表明しており、検索用と学習用のトークンを別々に公開しているところもあります。そのため、ルールの意味を正しく理解していれば、AIに関する方針を示す最も手軽な場所がrobots.txtです。

このページの内容
  1. AIクローラーはどのrobots.txtトークンを使う?
  2. AI向けrobots.txtの良い例とは?
  3. クローラーはどのルールが自分に適用されるかをどう決める?
  4. robots.txtでよくある間違いは?
  5. 許可と禁止以外の、AIの利用方針も示せる?
  6. 変更の反映にはどれくらいかかり、どう確認する?

AIクローラーはどのrobots.txtトークンを使う?

以下は、各ベンダーが公開しているトークンです。RFC 9309では、照合は大文字と小文字を区別しません。

AI向けrobots.txtの良い例とは?

次の例は、AI検索とユーザーによる取得は許可し、主な学習用トークンはオプトアウトし、1つの非公開エリアはすべてに対して閉じています。

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

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

User-agent: *
Allow: /
Disallow: /account/

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

連続する複数のUser-agent行は1つのグループを構成し、その下のルールはそれらのクローラーすべてに適用されます。コンテンツを学習に使われてもよい場合は、2つ目のグループを外すだけです。Google-ExtendedをブロックしてもGoogle検索には影響しません。Googleは、検索への掲載には影響せず、ランキングのシグナルでもないと述べています。同様に、Appleも、Applebot-Extendedを禁止したページでも検索結果に表示される可能性があるとしています。

クローラーはどのルールが自分に適用されるかをどう決める?

RFC 9309はこれを厳密に定めており、細部を知ると、意外な挙動の大半が説明できます。

robots.txtでよくある間違いは?

許可と禁止以外の、AIの利用方針も示せる?

Cloudflareは、robots.txtにContent-Signalの行を追加する提案をしており、3つのシグナルがあります。search(検索インデックスの構築と、リンクや短い抜粋の表示)、ai-input(AIの回答のためのコンテンツのリアルタイム利用)、ai-train(モデルの学習やファインチューニング)です。Cloudflareのマネージドrobots.txtで追加することもできます。

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

robots.txtにあるほかのものと同様、これらは希望の表明であり、技術的な制御ではありません。Cloudflare自身も、robots.txtの遵守は任意であると述べています。この行は必須ではなく、入れても害はありませんが、前述のクローラーごとのグループの代わりにはなりません。

変更の反映にはどれくらいかかり、どう確認する?

RFC 9309では、クローラーはキャッシュしたrobots.txtを24時間を超えて使うべきではないとされており、OpenAIとPerplexityも、変更の反映に1日ほどかかる場合があると述べています。また、robots.txtはアクセス制御ではないことも忘れないでください。ルールで許可していても、ファイアウォールがクローラーをブロックすることがあります。

AISeeWhyは、テストするクローラーごとにRFC 9309に沿ってrobots.txtを解析し、アクセスできないファイルやHTMLとして返されているファイルを指摘します。さらに、ルールとサーバーの動作が食い違っている箇所を示し、変更のための差分をそのまま使える形で提示します。

よくある質問

GPTBotやClaudeBotをブロックすると、AIの回答での表示に影響する?

直接の影響はありません。どちらのベンダーも、検索には別の検索クローラー(OAI-SearchBotとClaude-SearchBot)を使っています。学習用クローラーをブロックするかどうかは、方針の選択です。

Google-ExtendedでAI Overviewsを止められる?

止められません。GoogleはAI機能がGooglebotと、nosnippetやnoindexなどの通常の検索コントロールを使うと述べています。Google-ExtendedはGeminiの学習と、ほかのGoogle製品でのグラウンディングを対象としており、検索には影響しません。

AIクローラーはCrawl-delayに対応している?

Crawl-delayはRFC 9309に含まれていません。Anthropicは非標準の拡張として対応していると述べています。ほかのベンダーについては、各社のドキュメントで確認してください。

robots.txtはどこに置く必要がある?

各ホストのルートです。たとえばhttps://example.com/robots.txtです。サブフォルダ内のファイルは無視され、サブドメインごとに専用のファイルが必要です。

参考資料

ほかの記事