ユーザーエージェント解析ツール
どんなユーザーエージェント文字列からもブラウザー、OS、デバイスを読み取り、自分のUAを確認し、検索エンジンやAIのクローラーを識別できます。
ユーザーエージェント解析ツール — どんなUA文字列も読み解く
ブラウザー、クローラー、スクリプトは、リクエストのたびにユーザーエージェント文字列を送信します。このツールはその文字列を具体的な情報に変換します。ブラウザーとそのバージョン、レンダリングエンジン、OS、デバイスの種類です。ページを開くとすぐに自分のユーザーエージェントを表示し、検索エンジンのクローラー、AIクローラー、リンクプレビュー用のボット、コマンドラインツールも識別します。
ユーザーエージェントからもう読み取れない情報についても説明します。現在のブラウザーはプライバシー保護のため文字列の一部を固定したり省略したりしています。そのため、Windowsのバージョン、macOSのバージョン、スマートフォンの機種が読み取れない場合は注記で説明し、代わりにブラウザーが報告する情報をClient Hintsの表に表示します。
使い方
- 自分のユーザーエージェントがあらかじめ入力されています。テキストを変更した後は自分のユーザーエージェントを使うで元に戻せます。
- サーバーログの1行など、ほかの文字列を貼り付けるか、サンプルから選びます。
- ブラウザー、エンジン、OS、デバイス、そしてクローラーやツールであればその名前を確認します。
- 結果の下の注記を読みます。Chromium系のブラウザーならClient Hintsの表も確認します。
ユーザーエージェント文字列の構造
Windows版Chromeの典型的な文字列はMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36です。意味のある情報を含むのは一部だけです。
| 部分 | 意味 |
|---|---|
Mozilla/5.0 | 現在は意味なし。歴史的な互換性のためにすべてのブラウザーが送信する |
Windows NT 10.0; Win64; x64 | OSとプロセッサーのアーキテクチャ |
AppleWebKit/537.36 (KHTML, like Gecko) | エンジンの系譜。これも互換性のために残されている |
Chrome/129.0.0.0 | ブラウザーとそのメジャーバージョン |
Safari/537.36 | これも互換性のためのトークンで、Safariを意味しない |
このように名前が重なっているため、判定の順序が重要です。EdgeはChromeとSafariも名乗り、ChromeはSafariも名乗ります。このツールは最も具体的な名前から順に判定します。
文字列からもうわからないこと
- Windows 11:Windows 10と同じ
Windows NT 10.0を送信します。 - macOS:Safari、Chrome、Firefoxはバージョンを
10_15_7に固定しています。 - Android:Chromeは実際のバージョンや機種にかかわらず
Android 10; Kを送信します。 - ブラウザーのバージョン:Chromium系のブラウザーはメジャーバージョンだけを送信し、その後に
.0.0.0が続きます。 - iPad:デスクトップモードではMacと同じ文字列を送信します。
これらの詳細に代わるのがUser-Agent Client Hintsです。サイトが要求すると、ブラウザーはプラットフォームのバージョン、機種、ブラウザーの完全なバージョンを返します。このページの表がWindows 11とWindows 10を区別できるのはそのためです。SafariとFirefoxはClient Hintsに対応していません。
クローラーとAIボット
主要な検索エンジンのクローラー(Googlebot、Bingbot、YandexBot、Baiduspider、DuckDuckBot、Applebot)、AIクローラー、SNSやメッセージアプリのリンクプレビュー用ボット、SEOクローラー、そしてcurl、Wget、Python Requestsなどのツールを識別します。AIクローラーは3つのグループに分かれ、ツールはそれぞれにラベルを付けます。
| グループ | 例 | 役割 |
|---|---|---|
| 学習用 | GPTBot, ClaudeBot, CCBot, Bytespider, Meta-ExternalAgent | AIモデルの学習用にページを収集する |
| AI検索 | OAI-SearchBot, Claude-SearchBot, PerplexityBot | AI検索エンジンが引用できるようにページをインデックスする |
| ユーザー起点 | ChatGPT-User, Claude-User, Perplexity-User | 人がアシスタントに質問したときに、そのページを1つ取得する |
Google-ExtendedとApplebot-Extendedは別物です。これらはrobots.txtのルールで使う名前にすぎず、リクエストには現れません。クロールするのはGooglebotとApplebotで、これらのルールはページをAIの学習にも使ってよいかどうかを決めるものです。
ユーザーエージェントは誰でも偽装できます。名前でクローラーを信頼したりブロックしたりする前に、IPアドレスを確認してください。検索エンジンなら逆引きDNS、それ以外は運営者が公開しているIP範囲で確認します。robots.txtのルールもこの名前で指定します。たとえばUser-agent: GPTBotです。
関連ツール
クローラーのネットワークを確認するには、サブネット計算ツールでその範囲を調べます。ログにURLエンコードされた状態で記録されたユーザーエージェントは、まずURLデコードツールでデコードしてください。自分のブラウザーだけを表示するタスクページユーザーエージェント確認もあります。