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

少し前まで仕事で毎日アクセス解析をしていた。
何のためにアクセス解析なんてのをするのかというと、ユーザーの興味はどこにあるのか、ユーザーをうまく誘導できているか、ユーザーが困っているのはどこか、を調べて、地道に地味にサイトを改修、リピータを増やしてひとの集まるサイトにするため。
apacheの生ログが原典。
1
apacheのアクセスログを見ればスグにわかる。
・どのページに着地したのか。
・どこから来ているのか。
・ブラウザはなにを使っているのか。
2
apacheのアクセスログをもとに加工・小細工が必要。
・何ページ見ているのか。
・滞在時間。
・離脱したページ。
3
サイトの構成と合わせて見るべきこと。
・ページ遷移の関連性
・ページの最後まで見てるかどうか。
アクセスログ解析で把握するのは、大雑把にこの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*?))?" (.*?) .*? "(.*?)" "(.*?)"/;
『入門 ウェブ分析論――アクセス解析を成果につなげるための新・基礎知識 増補改訂版』
小川 卓
ネットの広告屋は「こちら、アクセスがこんなにあって、ページビューはすごいですよ、なのでひとついかがですか」なんてことを言ってるけど、そのアクセス、本当に人間がページを見てるアクセスなのか、また別の話なんだろうな。

WEBって、ほんと基準になるものがなさすぎ。
[更新]2026-02-02 15:07:30
| << | 2026/6 | >> | ||||
|---|---|---|---|---|---|---|
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | ||||
【最近の10件】


