User-Agentからボットとクローラーを検出する
User-Agent文字列からボット、クローラー、自動化クライアントを検出する包括的なガイド。検索エンジン、ソーシャルメディア、SEOツール、コマンドラインクライアントをカバー。
Bot Detection
詳細な説明
User-Agent文字列からのボットとクローラー検出
ボットトラフィックはすべてのWebトラフィックの30〜50%を占めることがあります。UA文字列からボットを正確に識別することは、セキュリティ、アナリティクス、パフォーマンスにとって重要です。
ボットのカテゴリ
検索エンジンクローラー:
Googlebot— Google検索bingbot— Microsoft BingDuckDuckBot— DuckDuckGoBaiduspider— Baidu
ソーシャルメディアクローラー:
facebookexternalhit— FacebookリンクプレビューTwitterbot— Twitter/XカードプレビューLinkedInBot— LinkedInリンクプレビュー
AIエージェントクローラー:
ChatGPT-User— OpenAIのChatGPTGPTBot— OpenAIの汎用クローラー
コマンドラインクライアント:
curl/X.Y.Z— curl HTTPクライアントpython-requests/X.Y— Python Requestsライブラリ
検出戦略
- 完全一致 — 既知のボットトークンをチェック
- 汎用パターン —
bot、crawler、spiderなどのキーワードにマッチ - 非ブラウザUA — 典型的なブラウザトークンを欠くUA
- 空のUA — 一部のボットは空またはUA未設定
重要な注意事項
- ボットは任意のUser-Agentを偽装できる — UA検出はセキュリティ対策ではない
- 一部の正当な監視サービスはボットに似たUAを使用
- プログレッシブWebアプリのリクエストは非典型的なUAを持つ可能性がある
ユースケース
セキュリティチームがボットを検出してスクレイピングの防止、自動リクエストのレート制限、アナリティクスからのボットトラフィックのフィルタリングを行います。マーケティングチームは正確なキャンペーン指標を維持するためにコンバージョントラッキングからボットトラフィックを除外します。