Anthropicのクローラー:ClaudeBot、Claude-SearchBot、Claude-User
Anthropicは3つのエージェントを運用しています。ClaudeBotはモデルの学習に使われる可能性のあるコンテンツを収集し、Claude-SearchBotはClaudeの検索結果を改善するためにクロールし、Claude-UserはClaudeユーザーの質問に必要なときにページを取得します。それぞれ固有のrobots.txtトークンがあり、Anthropicは3つともrobots.txtに従うと述べています。ClaudeBotだけをブロックしても、検索やユーザーによる取得は止まりません。
Anthropicはクローラーを1つのヘルプページにまとめて説明しており、その構成はほかのAIベンダーと同じです。学習用が1つ、検索用が1つ、ユーザーに代わるリアルタイムの取得用が1つです。Claudeにページを見つけて引用してもらいたいなら、後ろの2つが最も重要です。
このページの内容
ClaudeBotは何をするのか
ClaudeBotは、Anthropicの生成AIモデルの学習に貢献しうるウェブコンテンツを収集します。Anthropicによると、これを禁止すると、サイトの今後のコンテンツを学習データセットから除外してほしいという意思表示になります。
Anthropicはまた、IETFのドラフトに基づく、機械可読なAI学習禁止のシグナルにも従うこと、そしてClaudeBotを指定したrobots.txtのルールは、その一般的な設定より優先されることを述べています。ほかの学習用クローラーと同様、ブロックするかどうかは方針の選択です。
Claude-SearchBotは何をするのか
Claude-SearchBotは、Claudeの検索結果の関連性と正確性を高めるためにウェブをクロールします。Anthropicによると、これをブロックすると、コンテンツが検索用にインデックスされなくなり、ユーザーの検索結果での表示や正確性が下がる可能性があります。
誰かが質問する前から、Claudeの検索機能にページを知っておいてもらいたいなら、このエージェントを許可します。検索クローラーなので、ほかの検索クローラーと同じ工夫が役立ちます。robots.txtに記載したサイトマップ、整理された内部リンク、最初の応答でコンテンツを返すページです。
Claude-Userは何をするのか
Claude-Userは、Claudeのユーザーが、たとえばURLを共有したり調べ物を頼んだりして、ウェブサイトへのアクセスが必要な質問をしたときに、サイトにアクセスします。Anthropicによると、これをブロックすると、ユーザーの質問に応じた取得ができなくなり、ユーザー主導のウェブ検索での表示が減る可能性があります。
ほかのベンダーとの違いに注意してください。Anthropicは、自社のボットはrobots.txtの指示に従うと述べており、robots.txtでClaude-Userをブロックする方法を説明しています。一方、OpenAIとPerplexityは、ユーザーの依頼による取得はrobots.txtに従わない場合があると述べています。
Claude向けのrobots.txtルールはどう書く?
各エージェントに固有のトークンがあり、RFC 9309では、クローラーを指定したグループは、そのクローラーにとって*のグループに置き換わります。検索とユーザーによる取得は許可し、学習はオプトアウトするのが一般的な選択です。
User-agent: Claude-SearchBot
User-agent: Claude-User
Allow: /
User-agent: ClaudeBot
Disallow: /
User-agent: *
Allow: /
Anthropicは、クロールをブロックせずに遅くしたい場合のために、非標準の拡張としてCrawl-delayにも対応しています。たとえばUser-agent: ClaudeBotの下にCrawl-delay: 1と書きます。ルールは各ホストの最上位ディレクトリにあるrobots.txtに置く必要があるため、対象にしたいサブドメインすべてに追加してください。
Anthropicの構成はOpenAIやPerplexityとどう違う?
3社は名前こそ違いますが、同じパターンに従っているため、まとめたrobots.txtも考えやすくなります。主な違いは、ユーザーの依頼によるリアルタイムの取得でrobots.txtをどう扱うかです。
- 検索クローラー:Anthropicは
Claude-SearchBot、OpenAIはOAI-SearchBot、PerplexityはPerplexityBot。 - 学習用クローラー:Anthropicは
ClaudeBot、OpenAIはGPTBot。Perplexityは、PerplexityBotはAI基盤モデルのためのコンテンツのクロールには使われないと述べています。 - ユーザーによる取得:
Claude-User、ChatGPT-User、Perplexity-User。Anthropicは自社のボットがrobots.txtに従うと述べ、OpenAIはChatGPT-Userにrobots.txtが適用されない場合があると述べ、PerplexityはPerplexity-Userは通常これを無視すると述べています。
3社共通で1つのrobots.txtを書くなら、検索とユーザー取得のトークンを1つのグループに、学習用のトークンを別のグループにまとめます。そうすれば、方針が読みやすくなり、目的ごとにどちらを選んだかが一目でわかります。
AnthropicをIPアドレスでブロックすべき?
Anthropicは勧めていません。ドキュメントによると、IPアドレスのブロックは正しく機能しない場合や、オプトアウトを永続的に保証できない場合があります。クローラーがrobots.txtを読めなくなるためです。方針の表明にはrobots.txtを使ってください。
Anthropicはクローラーが使うIPアドレスをclaude.com/crawling/bots.jsonで公開しています。このリストの有効な使い方は、ブロックとは逆です。Claude-SearchBotやClaude-Userを名乗るリクエストが本当にAnthropicからのものか、ファイアウォールで検証して通すために使います。
robots.txtで許可しているのに、Claudeがページを読めないのはなぜ?
robots.txtを許可的にしていても、ファイアウォールやCDNがAnthropicのエージェントに403やチャレンジページを返すことがあります。Anthropicは、自社のボットは回避防止の技術を尊重し、CAPTCHAを回避しようとしないと述べているため、チャレンジページが出た時点で訪問は終わります。テキストがJavaScriptの実行後にしか現れないページも、ほぼ空の状態で届くことがあります。
AISeeWhyは、ブラウザと並べてClaudeBot、Claude-SearchBot、Claude-Userとしてページをリクエストし、それぞれについてrobots.txtのルールを確認します。そのため、書いた方針と、サーバーが実際に適用している内容が一致しているかを確かめられます。
よくある質問
ClaudeBotをブロックすると、Claudeの回答から外れる?
それだけでは外れません。検索のインデックスとユーザーによる取得には、固有のrobots.txtトークンを持つClaude-SearchBotとClaude-Userが使われます。
Claude-Userはrobots.txtに従う?
Anthropicは、自社のボットはrobots.txtに従うと述べ、そこでClaude-Userをブロックする方法を説明しています。その場合、Claudeはユーザーの質問に対してページを取得できなくなります。
AnthropicのクローラーはCAPTCHAを解く?
解きません。Anthropicは、自社のボットは回避防止の技術を尊重し、CAPTCHAを回避しようとしないと述べています。
ClaudeBotをブロックせずに、速度を落とすことはできる?
できます。Anthropicは非標準の拡張としてCrawl-delayに対応しています。たとえば、robots.txtのClaudeBotグループにCrawl-delay: 1と書きます。
リクエストが本当にAnthropicからのものか、どう確認する?
送信元のIPを、Anthropicがclaude.com/crawling/bots.jsonで公開しているリストと照合します。ユーザーエージェントだけなら、誰でもコピーできます。