クローラーからのアクセスが除外されない?

Added by Anonymous 1195 days ago

表題の通り、ver1.1.0でもクローラーからのアクセスが集計されているように思います。
ソースコードを追ってみましたが、モバイルのクローラーは

DoCoMo/2.0 SH902i (compatible; Y!J-SRD/1.0; http://help.yahoo.co.jp/help/jp/search/indexing/indexing-27.html)

のようにDoCoMo端末のUAを詐称します。
GoogleAnalytics/Service/analytics.php L36あたりで

        //モバイル判定
        $send_flg = isMobile($_SERVER['HTTP_USER_AGENT']);

となっていますが、isMobile()の中の処理を見てみると
function isMobile($user_agent){

    $mobile_flg = false;

    if(eregi(USER_AGENT_PATTERN_DOCOMO, $user_agent)){
        //echo("ドコモ");
        $mobile_flg = true;
    }else if(eregi(USER_AGENT_PATTERN_SOFTBANK, $user_agent)){
    ...

となっています。つまり"DoCoMo"という文字列が UserAgent に存在すると、
それがクローラーでも集計されてしまうというシナリオのようです。

パッチを添付したのでご確認ください。
またこのパッチは下記ページでも公開しております。
http://tech.lampetty.net/tech/index.php/archives/260


Replies

RE: クローラーからのアクセスが除外されない? - Added by exbridge 1190 days ago

エクスブリッジ担当者です。

貴重なバグ報告ありがとうございます。
モバイルクローラの対応パッチも拝見させて頂きました。
現在、対応を実施し確認を行っております。
確認が取れ次第、対応版のリリースを予定しています。

よろしくお願いします。

RE: クローラーからのアクセスが除外されない? - Added by exbridge 1186 days ago

エクスブリッジ担当者です。

今回『selene_ga4k_1.1.1』をリリースいたしました。

【クローラ除外対応】として指摘していただいたクローラ以外にも、
除外対象のクローラを追加して対応を実施し、
弊社の確認サイトにて、以下の解析方法で確認を行いました。
a)_Apacheのアクセスログ
b)_GA4K(GoogleAnarytics)
c)_i2i(モバイル対応アクセス解析)

a)_Apacheのアクセスログ と b)_GA4K(GoogleAnarytics) の件数は、
ほぼ同数の結果が得られました。
(※誤差は各サイトの集計タイムラグの差と考えられます。)
a)_Apacheのアクセスログ と c)_i2i では、c)_i2iの件数が多く計上されていました。
(※なおi2iの件数計上方法は不明です。)

なお指摘の点以外にも、以下の対応を行っていますのでよろしくお願いします。
【性能改善対応】
【既存バグ対応】
【導入時のバグ防止対応】