wordPressのアクセス計測を行うプラグインで「statpress」は定番のようですが、数値がどうもうさんくさい。
GoogleAnalyticsとの数値の差が違いすぎる。
どちらを信用していいかわからないので、真実を知るために、自分で計測システムを組んでみることにしました。
要件定義
ページ記事にアクセスした際に、ユーザーログを書き込み、後から、ログを使ってレポート集計を行う一般的な、
ロギング→集計→レポート
という方式を採用
あえてwordpressから切り離したシステムにすることで、複数のサイト対応ができるようにしてみる。
システム構成
1.ログを取得して、データを貯めこむサーバーを用意(wordpressと同じサーバーでもいいが、別エリアにapacheアクセスできる領域を使用する)
2.データ量が読めないので、簡易的にデータベースを使わない方式を採用
3.計測したい内容は「PV」「UU」「ユーザーエージェント」「IPアドレス」とする。
GitHub
https://github.com/yugeta/sitemate
設置方法
1. 任意の箇所にGit cloneします
$ git clone https://github.com/yugeta/sitemate.git
2. 計測したいWEBページに以下のJSタグを貼り付ける
* %my-site%は、任意の設置したアドレスを入力してください。
<script type="text/javascript" src="//%my-site%/sitemate/access.php?user=test"></script>
3. 計測結果を見るには、以下のようにアクセスする。
http://%my-site%/sitemate/
今後の展開
今は日別のPVとUUが表示されるだけですが、GoogleAnalyticsと同じぐらいの数値であることが確認できると思います。
GoogleAnalyticsで計測できない、時間別の計測を行い、どの時間にアクセスが集中しているのかを計測し、アクセスが無い時間は、サイトメンテナンスなどを行いたいし、
BLOGページなどであれば、アクセスが多い時間の少し前に、予約投稿し、Tweetするような事ができるようになると思います。
あとは、UserAgentを細かく計測してアクセスOS、や端末、ブラウザなどの解析もできるようになると便利ですね。
地域アクセスや、トラッキング計測などは、GoogleAnalyticsで行ったほうが、他DBとのヒモ付もできるので、こういった簡易計測を追求していきたいですね。
余談
ちなみに、今回のバージョンでは、ビーコン形式を採用していて、JavaScriptタグを使っているが、計測は、サーバーサイドのPHPでほぼ行っている。
JSタグはPHPを指定しているだけなので、IMGタグで貼り付けてもOKという事だが、HEADタグ内でも動作できるようにと考えてSCRIPTタグにしてある。
このビーコンタグで困ったことがひとつだけ発生していて、計測するWEBページのURL情報を取得するのが、サーバーサイド計測では、refererを使わないと取得できない。
何が問題かというと、このままでは、このURLに紐付いている本来のreferar情報が取得できないのだ。
これは、ページ内でJavaScriptでrefererを取得してサーバーに受け渡すしかないので、今後のバージョンアップで検討する事にしよう。
0 件のコメント:
コメントを投稿