Google AnalyticsからGoogleMobile-botを除外する
数日前に、PHPを使って、携帯電話からのアクセスもGoogle Analyticsで解析できる様にした。そこまでは良かったのだけれど、検索エンジンのモバイル クローラまでアクセス数に入るようになってしまった。
個人のブログでアクセス数を水増ししても、誰に報告する訳でもなく、意味が無いので、Google Analyticsの解析結果から除外する様に設定したい。生ログを見直すと、モバイル部門のクローラは次の2種類が来ていた。
DoCoMo/2.0 N905i(c100;TB;W24H16) (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html) SAMSUNG-SGH-E250/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)
N905iはドコモ、UP.Brwserはauだろう。これを見て、N905iの人が、全ページを見て回るような熱心過ぎるアクセスをしてくる様に見えた理由が分かった。クローラだったんだから。PCサイトのクローラのユーザ エージェントは、
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
とGooglebotが入っていて、モバイルにはGooglebot-Mobileが入っているので、文字列を頼りにして、アクセス解析から外してやれば、Googleのモバイル クローラを外せると考えて、カスタム フィルタを作成した。
が、どうも上手く行かない。カスタム フィルタで指定するフィールドのどこにGooglebot-Mobileが入るのか、試行錯誤したが、判らない。
解析結果を見ても、携帯電話のアクセスは、ブラウザの種別がDocomoやUp.Browserに、OSの所にNTT DocomoやEZweb Deviceが入って、OSのバージョンがN905iやP05A、CA34と機種の型番が入るので、判り難い。
軽く考えて適当に試していたせいもあり、諦めかけていたら、Google モバイルウェブクローラーのIPアドレスがGoogle Japan Blog: Google モバイル検索についてのウェブマスター向け情報で以下の通り、判った。
72.14.199.0/25 (72.14.199.0 - 72.14.199.127) 209.85.238.0/25 (209.85.238.0 - 209.85.238.127)
IPアドレスなら、間違いないだろうと、これを基にIPアドレスでアクセス解析から除外する事にした。フィルタの種類をあらかじめ用意されている「IPアドレスからのトラフィックをすべて除外」にして、次の正規表現を入れたフィルタをそれぞれ作成した。
^72\.14\.199\.([0-9]|[1-9][0-9]|1([0-1][0-9]|2[0-7]))$ ^209\.85\.238\.([0-9]|[1-9][0-9]|1([0-1][0-9]|2[0-7]))$
正規表現に自信が無くても、IPアドレスの範囲指定についてはIPアドレスの範囲を指定して、そこからのトラフィックを除外するにはどうしたらよいですか? – Analyticsヘルプで、IPアドレスを指定すると正規表現を生成してくれる。
一晩、様子を見た所、これで除外されているように見えた。が、その翌日にはまたしても、モバイル クローラが解析結果にガバッと出てきてしまった。本来は、クライアント側で処理されるJavaScriptをサーバ側で処理しているので、必要なパラメータが渡っていないのか。ちゃんと調べないと解決できそうにないですな。
—– 2009.10.05 追記 ——
モバイルクローラの除外に対応したのと、モバイルからアクセスしたページのタイトルも取得できる様にアップデートした記事がありますので、こちらも見てみて下さい。
今度こそ、google-analyticsからgooglemobile-botを除外する/
—– 2009.10.05 追記 ここまで ——
参考:
Google Japan Blog: Google モバイル検索についてのウェブマスター向け情報
Google Japan Blog: Google モバイル検索についてのウェブマスター向け情報 (2)