AI クローラーは三種類ある——まとめて遮断してはいけない
学習・リアルタイム検索・ユーザー起動の取得は、まったく別物です。流量を生むのは二つ目だけです。
robots.txt の User-agent 行を埋め終える前に、一つはっきりさせておいてください。これらの名前は三つの異なる挙動を表していて、あなたにとっての価値がまるで違います。
三つの種類
1. 学習用
GPTBot、ClaudeBot、Google-Extended、CCBot。コンテンツを学習コーパスに取り込み、流量は一切もたらしません。許可するかどうかは事業判断です。あなたの主張をモデルの「常識」の中に置いておきたいか、ただのただ取りだと思うか。
2. リアルタイム検索用
OAI-SearchBot、PerplexityBot、Claude-SearchBot。ユーザーが何か尋ねると、その場で検索し取得し、回答の中にリンク付きで引用します。実際に流量を生むのはこの分類です。これらを遮断するのは、生成検索の結果ページから自ら降りるということです。
3. ユーザーが起動する取得
ChatGPT-User、Perplexity-User。ユーザーが会話にあなたのリンクを貼り、モデルがそのページを取りに行きます。誰かが意図してあなたのコンテンツを見ようとしているので、遮断しても返せるのは「アクセスできません」だけです。
よくある誤解
Disallow が学習利用を防ぐと思っている人が多くいます。実際には:
- robots.txt は任意であり、強制力はありません
- 防げるのはあなたのサイトからの直接取得だけで、誰かが転載した後の収集は防げません
- Common Crawl(
CCBot)のスナップショットはすでに存在し、いま遮断しても影響するのは今後だけです
そのまま使える設定
目的が引用流量なら(ほとんどのコンテンツサイトがそうです)、すべて許可するのが最も簡単です。
User-agent: *
Allow: /
Disallow: /admin
Disallow: /api/
Sitemap: https://your-site.com/sitemap.xml
「流量は欲しいが学習データは提供したくない」なら、分けて書きます。
# 学習用:拒否
User-agent: GPTBot
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: Google-Extended
Disallow: /
# 検索と引用:許可
User-agent: OAI-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: ChatGPT-User
Allow: /
この区別をすべてのベンダーが厳密に守るわけではありませんが、少なくとも意図は明確に伝わります。
確認のしかた
効果があったと仮定しないでください。実際にクローラーとして要求します。
curl -A "OAI-SearchBot" -I https://your-site.com/
curl -s https://your-site.com/robots.txt
見るべきは二点です。ステータスが 200 かどうか、そして CDN がこれらのユーザーエージェントを敵性トラフィックとして扱っていないか。Cloudflare の「AI Scrapers and Crawlers」ブロックは既定で有効です。robots.txt は完璧なのに、その一つ上の層で遮断されているサイトはたくさんあります。
一つずつ見比べるのが面倒なら、AI クローラー許可チェック を回してください。十二のクローラーを順に並べ、どれが許可され、どれがブロックされ、robots.txt のどの行がそう決めているかを示します。