User-Agentからボットとクローラーを検出する

User-Agent文字列からボット、クローラー、自動化クライアントを検出する包括的なガイド。検索エンジン、ソーシャルメディア、SEOツール、コマンドラインクライアントをカバー。

Bot Detection

詳細な説明

User-Agent文字列からのボットとクローラー検出

ボットトラフィックはすべてのWebトラフィックの30〜50%を占めることがあります。UA文字列からボットを正確に識別することは、セキュリティ、アナリティクス、パフォーマンスにとって重要です。

ボットのカテゴリ

検索エンジンクローラー:

  • Googlebot — Google検索
  • bingbot — Microsoft Bing
  • DuckDuckBot — DuckDuckGo
  • Baiduspider — Baidu

ソーシャルメディアクローラー:

  • facebookexternalhit — Facebookリンクプレビュー
  • Twitterbot — Twitter/Xカードプレビュー
  • LinkedInBot — LinkedInリンクプレビュー

AIエージェントクローラー:

  • ChatGPT-User — OpenAIのChatGPT
  • GPTBot — OpenAIの汎用クローラー

コマンドラインクライアント:

  • curl/X.Y.Z — curl HTTPクライアント
  • python-requests/X.Y — Python Requestsライブラリ

検出戦略

  1. 完全一致 — 既知のボットトークンをチェック
  2. 汎用パターンbotcrawlerspiderなどのキーワードにマッチ
  3. 非ブラウザUA — 典型的なブラウザトークンを欠くUA
  4. 空のUA — 一部のボットは空またはUA未設定

重要な注意事項

  • ボットは任意のUser-Agentを偽装できる — UA検出はセキュリティ対策ではない
  • 一部の正当な監視サービスはボットに似たUAを使用
  • プログレッシブWebアプリのリクエストは非典型的なUAを持つ可能性がある

ユースケース

セキュリティチームがボットを検出してスクレイピングの防止、自動リクエストのレート制限、アナリティクスからのボットトラフィックのフィルタリングを行います。マーケティングチームは正確なキャンペーン指標を維持するためにコンバージョントラッキングからボットトラフィックを除外します。

試してみる — User-Agent Parser & Analyzer

フルツールを開く