ホーム›ライブラリ›AIクローラー向け robots.txt レシピ

AIクローラー向け robots.txt レシピ

AI企業のクローラーは、robots.txt をどこまで守るかが会社ごとに異なります。効かせるには、会社ごとのクローラー名を知り、個別に書く必要があります。学習用の収集だけを止める、検索での表示は残す、収集の速度を落とす、名前が公開されているクローラーをすべて止める。カードをクリックすると、robots.txt に貼り付ける行がコピーされます。各カードには、その会社の文書が何を守ると書いているかを一行ずつ添えました。カード上部のバーは User-agent グループ 1 つが 1 マスで、止めるグループは赤、許可するグループは緑、速度だけを落とすグループは黄色です。

学習用の収集だけを止める(GPTBot)

OpenAI は学習用の収集を GPTBot に任せています。ChatGPT 検索での表示を担う OAI-SearchBot には、この行は効きません。

User-agent: GPTBot Disallow: /
学習は止めて ChatGPT 検索の表示は残す

OpenAI の文書には、この 2 つの名前は robots.txt で別々に許可も拒否もできると書かれています。検索側の変更は反映まで約 24 時間かかります。

User-agent: GPTBot Disallow: / User-agent: OAI-SearchBot Allow: /
ChatGPT 検索の表示を止める(OAI-SearchBot)

ChatGPT 検索での表示を担う OAI-SearchBot だけを止めます。OpenAI の文書によると、変更してから反映まで約 24 時間かかります。

User-agent: OAI-SearchBot Disallow: /
収集の速度を落とす(ClaudeBot)

Anthropic は、ClaudeBot が標準ではない Crawl-delay 拡張に対応していると説明し、例としてこの値(1)を挙げています。

User-agent: ClaudeBot Crawl-delay: 1
学習を止める + 検索を許可 + 速度を落とす

Crawl-delay は標準ではない拡張なので、対応を明らかにしている ClaudeBot のグループにだけ置きます。残りの 2 つのグループは、OpenAI が別々に扱えると書いている名前です。

User-agent: GPTBot Disallow: / User-agent: OAI-SearchBot Allow: / User-agent: ClaudeBot Crawl-delay: 1
ClaudeBot を止める

Anthropic は、ClaudeBot が robots.txt に従うと説明しています。

User-agent: ClaudeBot Disallow: /
ユーザー起点の訪問を止める(ChatGPT-User)

ChatGPT のユーザーが質問したことでページが開かれる訪問です。OpenAI の文書には、ユーザーが始めた動作のため robots.txt のルールが適用されない場合があると書かれています。

User-agent: ChatGPT-User Disallow: /
名前が公開されている AI クローラーをすべて止める

4 つのうち ChatGPT-User には、ルールが適用されない場合があります。ブロックの効果というより、サイトの意思を公に残す意味合いが大きい設定です。

User-agent: GPTBot Disallow: / User-agent: OAI-SearchBot Disallow: / User-agent: ChatGPT-User Disallow: / User-agent: ClaudeBot Disallow: /

よくある質問

robots.txt で止めれば収集は止まりますか?
このファイルのルールを定めた標準(RFC 9309、2022 年 9 月)は、robots.txt はクローラーに遵守を求めるルールにすぎず、アクセス権限を決める仕組みではないと明記しています。ルールを守る会社でも、対象範囲はそれぞれ異なります。
User-Agent が GPTBot なら本当に OpenAI ですか?
名前(User-Agent)は誰でもまねできます。OpenAI は GPTBot、OAI-SearchBot、ChatGPT-User それぞれの IP アドレス範囲を JSON ファイルで公開しています。接続元のアドレスをこのリストと照合すれば、名前だけを借りたリクエストを見分けられます。
Google のエージェントはどう確かめますか?
Google は自社エージェントの一部のリクエストに Web Bot Auth 方式の署名を付け、公開鍵リストの URL を案内しています。サーバーや CDN でこの署名を確かめれば、本物の Google のエージェントかどうかを見分けられます。Google は、すべてのリクエストに署名が付くわけではないとも書いています。
robots.txt で防げない訪問はどうしますか?
エージェントが人の指示を受けて訪れる場合は、robots.txt だけでは除外できません。IP アドレス範囲の照合やリクエスト署名も、すでに自分の身元を明かしている会社にしか通用しません。そこで、検索、フィルターの組み合わせ、大きなファイルのダウンロードのように 1 回のリクエストでサーバーが多くの処理をする場所に、リクエスト回数の上限をかけます。User-Agent と接続元アドレス、リクエストのパスを記録していなければ、問題が起きても誰が何をしたのかをたどれません。