メインコンテンツに移動

ユーザーエージェント文字列を解析する

ユーザーエージェントパーサーは、User-Agentヘッダー内のトークンを読み取り、構造化されたフィールドに変換します。以下では、デスクトップブラウザ、スマートフォン、検索クローラーの3つの固定文字列を、インタラクティブツールと同じパーサーで解析し、続いてパーサーが適用するルールを説明します。

解析例

Windows版Chrome
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
ブラウザ
Chrome 120.0.0.0
エンジン
Blink
オペレーティングシステム
Windows 10/11
デバイス種別
デスクトップ
デバイス
不明
CPUアーキテクチャ
x64
ボット / クローラー
いいえ
iPhoneのSafari
Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1
ブラウザ
Safari 17.0
エンジン
WebKit
オペレーティングシステム
iOS 17.0
デバイス種別
モバイル
デバイス
Apple iPhone
CPUアーキテクチャ
不明
ボット / クローラー
いいえ
Googlebot(スマートフォン用クローラー)
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.216 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
ブラウザ
Chrome 120.0.6099.216
エンジン
Blink
オペレーティングシステム
Android 6.0.1
デバイス種別
ボット
デバイス
Nexus 5X Build/MMB29P
CPUアーキテクチャ
不明
ボット / クローラー
Googlebot

Windows版ChromeはWindows NT 10.0を送信します。これはWindows 10とWindows 11に共通の値なので、OSは10/11と表示されます。iPhoneでは、Version/17.0からSafariのバージョンが、iPhone OS 17_0からiOSのバージョンがわかります。Googlebotの文字列にはAndroid版Chromeの完全なユーザーエージェントが埋め込まれていますが、クローラーのシグネチャが最初にチェックされるため、デバイス種別はbotになります。それでもブラウザとOSのフィールドには、クローラーが名乗っている内容が表示されます。

主なルール

  • 最初にクローラーのシグネチャ(Googlebot、Bingbot、DuckDuckBot、YandexBot、Baiduspider、Slackbot、Twitterbot、facebookexternalhit)をチェックします。一致した場合、ブラウザのトークンが含まれていてもデバイス種別はbotになります。
  • ほとんどの文字列には他のブラウザのトークンも含まれるため、ブラウザは決まった順序で照合します:Edge(Edg/)、Opera(OPR/)、Samsung Internet、Firefox、Chrome、Safari、最後にChromium。エンジンはブラウザに従い、Blink、Gecko、WebKitのいずれかになります。
  • OSは括弧内のプラットフォーム部分から判定します:iPhone、iPad、Android、Windows NT、CrOS、Mac OS X、Linux。Appleのバージョン番号のアンダースコアはドットに変換されます。
  • デバイス種別は、iPad、Tabletトークン、MobileトークンのないAndroidのいずれかならタブレット、iPhoneまたはMobileトークンのあるAndroidならモバイル、Windows、macOS、Linux、ChromeOSならデスクトップです。
  • 文字列に記載されていない情報は推測せず、不明(JSON出力ではnull)のままにします。信頼度が「高」になるのは、ブラウザとOSの両方が一致した場合のみです。
  • どのクライアントでもGooglebotのユーザーエージェントを送信できます。本物のGoogleクローラーかどうかを確認するには、リクエスト元IPの逆引きDNSを行い、ホスト名がgooglebot.comまたはgoogle.comで終わることを確かめてから、正引きで照合します。

その他のユーザーエージェントガイド