PVなんてアテにしちゃいけない

2012/6/23 [13:04:47] (土) 天気

少し前まで仕事で毎日アクセス解析をしていた。

何のためにアクセス解析なんてのをするのかというと、ユーザーの興味はどこにあるのか、ユーザーをうまく誘導できているか、ユーザーが困っているのはどこか、を調べて、地道に地味にサイトを改修、リピータを増やしてひとの集まるサイトにするため。


apacheの生ログが原典。

apacheのアクセスログを見ればスグにわかる。

・どのページに着地したのか。

・どこから来ているのか。

・ブラウザはなにを使っているのか。

apacheのアクセスログをもとに加工・小細工が必要。

・何ページ見ているのか。

・滞在時間。

・離脱したページ。

サイトの構成と合わせて見るべきこと。

・ページ遷移の関連性

・ページの最後まで見てるかどうか。


アクセスログ解析で把握するのは、大雑把にこの3つ。


1と2は単純に集計すれば出てくる。

概略を知るには、google analyticsなどアクセス解析サービスを使えばいい。ただ、この手のサービスは、サイト規模が大きくなると=アクセス数が多いと、数字を足切りされたり丸め込まれたりすることがあるので、注意が必要。


3はページのURLを分類したりそれをもとに集計したり。

サイトの意図を強く反映した解析が必要なもので、市販のアプリやWEBサービスでは痒いところに手が届かない。サイト構成に現物合わせでスクリプトなりを作ることになる。さらに、特集企画などのページを作ってそこから購入に繋げる、なんてことはしょっちゅうあるので、その場その時に合わせて作らなきゃいけない。


てなことをやるにあたって、問題なのが、クローラとかロボットとか言われるアクセス。

googleやbingなどの検索エンジンがページをインデックスするためにアクセスしてくるんだけど、人間じゃないアクセスは、アクセス解析の邪魔。


通常、クローラはユーザーエージェントに bot や crawlerなどが含まれるので、Useragentを見て分別、クローラのアクセスを集計から外すことができる。

ところが、msnbotというマイクロソフト、bingのクローラは、ユーザーエージェントにクローラであることを示す単語が含まれない。ブラウザを使ってアクセスしている人間と区別がつかない。ipアドレスからホストをひけば、msnbot という文字がホスト名入ってるのでそこで初めてクローラだと判断できる。けど、ipアドレスからホスト名を取得する gethostbyaddr は、処理が重い場合がある。ウチみたいな辺境ならともかく、巨大なECサイトなど、アクセスログが膨大な場合、処理するのに時間がかかるのは困る。


たとえば一日あたり。ユニークユーザーが6000とかページビューが50万とかあるうち、雑音として入り込んでもしょうがないよね、という範囲ならいいけど。クローラ・ロボットはいろんな名前、カタチでやってくる。毎日アクセスログをチェックして新たなクローラがすり抜けて混じってないか見なきゃいけない。消耗戦。


ちなみに、apacheのログ解析の定番正規表現。これが最速らしい。


my $cols = [’host’,’time’,’method’,’req’,’http’,’res’,’ref’,’agent’];
my %h;
@h{ @{$cols} } = 
$line =~ m/^(.*?) .*? .*? \[(.*?)\] "(\S+?)(?: +(.*?) +(\S*?))?" (.*?) .*? "(.*?)" "(.*?)"/;

入門 ウェブ分析論――アクセス解析を成果につなげるための新・基礎知識 増補改訂版

『入門 ウェブ分析論――アクセス解析を成果につなげるための新・基礎知識 増補改訂版』

小川 卓

ネットの広告屋は「こちら、アクセスがこんなにあって、ページビューはすごいですよ、なのでひとついかがですか」なんてことを言ってるけど、そのアクセス、本当に人間がページを見てるアクセスなのか、また別の話なんだろうな。


image

WEBって、ほんと基準になるものがなさすぎ。

<<2026/1>>
    123
45678910
11121314151617
18192021222324
25262728293031
検索:

【最近の20件】