無料ブログ「rentafree.net」の管理人ブログ

アクセス解析のUserAgentグループ化処理を変更しました

MSIEの11以降のUserAgent表記変更に伴い、アクセス解析のUserAgentグループ化処理を変更しました。
MSIE以外の抽出処理も見直しています。


主要ブラウザをChrome、Firefox、Trident、MSIE、Safariの順で判別するようにしました。

MSIE11以降はUserAgentのバージョン表記が気に入らないので、Tridentを名乗るブラウザは今後MSIEではなくTridentとして分類されます。
MSIE11以前もMSIE8以降はTridentに分類されると思われます。

ChromeはこれまでGoogle Chromeと表記していましたが、Chromeと表記するようにしました。

Chrome、Firefox、Trident、MSIEについてはバージョン分けを行いますが、
SafariはUserAgentのバージョン表記が気に入らないのでバージョン分けは行わないようにしました。


主要ブラウザの判別後は主要BOTの判別を行います。
Googlebot、Yahoo! Slurp、Baiduspider、bingbot、NaverBot、LWP
がグループ化されます。
バージョン分けは行われません。


主要BOT判別の後は携帯等の組み込み機器等の判別を行いますが、
DoCoMo、SoftBank、UP.Browser(au)、jig browser、NetFront、Nintendo、PlayStation
の順で行われます。
以前はバージョンで分類していましたが、数も少ないと思いますのでバージョン分けはしないようにしました。
スマホ等にはChrome等の主要ブラウザが搭載されていますので主要ブラウザとして分類されます。


組み込み機器等の判別の後は、「bot」が含まれるUserAgentは「BOT」とグループ化されます。


BOT判別後は、
Opera、Netscape、KHTML、Gecko
の順で判別されます。
主要ブラウザに分類されている場合はそちらに分類されます。
バージョン分けは行いません。
Operaは以前は主要ブラウザとしていましたが、バージョン12.x系列を最後にPrestoではなくなったため現在は主要ブラウザとは認識していません。
最新のOperaはChromeを名乗るのでChromeに分類されると思われます。(現在のOperaの中身はChromeです)


残りのブラウザは「undefined」としてグループ化されます。

MSIE 11.0 のUserAgentについて

先ほど気づいたのですが、MicrosoftのInternet Explorer 11でUserAgentの表記が大きく変わっているようで、

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)
↑10まではこんな感じだったのが、

Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
↑11はこんな感じで、

MSIEを名乗らずにGeckoを名乗るように変わっており、現在アクセス解析でMSIEと認識できずGeckoに分類されています。

後ほど対応させようと思いますが、IE11の表記からIEのバージョンを抽出してしまうと互換ブラウザで問題が生じそうな気もするので、
IE11ではなくTrident7としてグループ化しようかと思います。
その場合IE8がTrident4となりますが、IE7以前はTridentではなくMSIEとして分類されるようになると思います。