AIクローラー検知の3つのアプローチ
AIクローラーを検知する方法は主に3つあります。精度と実装コストのトレードオフを理解して使い分けましょう。
①User-Agentによる検知(最も簡単)
主要AIクローラーの完全なUser-Agent一覧:
| クローラー | User-Agent文字列 |
|---|---|
| GPTBot | GPTBot/1.1 |
| OAI-SearchBot | OAI-SearchBot/1.0 |
| ChatGPT-User | ChatGPT-User/1.0 |
| ClaudeBot | ClaudeBot/0.5 |
| anthropic-ai | anthropic-ai/1.0 |
| PerplexityBot | PerplexityBot/1.0 |
| Google-Extended | Google-Extended |
| Bytespider | Bytespider (+https://zhanzhang.toutiao.com/) |
| CCBot | CCBot/2.0 |
| cohere-ai | cohere-ai/1.0 |
| YouBot | YouBot |
| Diffbot | Diffbot/0.1 |
| Amazonbot | Amazonbot/0.1 |
| MistralBot | MistralBot |
限界:User-Agentは偽装可能です。悪意あるクローラーには通用しません。
②IPアドレス・ASNによる検知
主要AI企業のASN(自律システム番号):
- OpenAI:AS396982(Google Cloud経由)
- Anthropic:逆引きDNSで
*.anthropic.comを確認 - Perplexity:AS16509(AWS)
# 逆引きDNSでの確認例(Python)
import socket
ip = "20.171.207.214"
try:
hostname = socket.gethostbyaddr(ip)[0]
is_ai_bot = "openai.com" in hostname or "anthropic.com" in hostname
except:
is_ai_bot = False
③行動パターンによる検知
AIクローラーに特有の行動パターン:
- 短時間に大量のページをクロール(秒間5〜20リクエスト)
- JavaScriptを実行しない(Headlessでない)
- Cookieを保持しない
- 画像・CSS・JSファイルをリクエストしない
- User-Agentに明示的にbot名を含む
AI Access Monitorで自動検知
AI Access Monitorは上記3つの方法を組み合わせ、28種のAIクローラーをリアルタイムで自動検知します。1行のコードを追加するだけで即日計測開始できます。