SSK WorldをMovable Typeのシステムに移行して、いろいろなところが変わったんですが、アクセスカウンタも変わったものの一つです。とは言っても、ページの右上にオレンジ色の文字で通算のアクセス数と当日、前日のアクセス数が並んでテキスト表示される…という体裁は全く変わっていません。この部分は、デザインにもこだわるSSK Worldですから、あえてそのままにしてあります。違うのは、トップページだけではなく全てのページにこれが表示されるようになったこと。SSK World内の全ての記事を対象に、アクセスしているユーザーを数えているんです。
SSK Worldのアクセスログを調べてみると、トップページを入り口として訪問していただくよりも、サーチエンジンで個別の記事を見つけて訪問していただく方がずっと多いことがわかりました。また、個別の記事からSSK Worldにアクセスしていただいた中では、その記事だけを見て他のサイトに移動してしまう場合がほとんどであることもわかってきました。つまり、トップページへのアクセス数を数えているだけでは、SSK Worldの記事に興味を持って読んでいただいた方の数を数えるには全く不十分ということになります。そこで、全てのページへのアクセスを見ることにしたわけです。
ただ、単純に読み込まれたページを数えるだけでは、複数のページを渡り読んでいただく方を多重に数えていることになり、これはこれで数え方としては不適切な気がします。そこで、「同じ端末からの連続したアクセス」と思われるものについては、重複カウントをしないようにしています。複数の記事を渡り歩いていくと、アクセスカウンタの数字がしばらくの間は変わらなかったのに、気が付くとカウントアップしていることがあるかと思います。これは、閲覧中に他の端末からアクセスがあったことが原因で、あなたのアクセスを重複カウントしているわけではないはずです。
ただ、この数え方だと、アクセスカウンタの数字を自分がアップさせたのかどうかが、カウンタを見ただけではわからないんですよね。普段はそれほど問題にならないんですが、これが例えば「キリ番Getは誰なのか?」という話になると大問題。そこで、アクセスカウンタの反対側、ページの左上のところにちょっと仕掛けをしました。あなたがカウントをアップさせたときには「Welcome!」とメッセージが出てきます。ページを再読込すると、「Welcome!」が消えます。メッセージは場合によってときどき変わります。注意してみてください。
この動作を実現するために、アクセスカウンタは新しく自分でプログラムすることにしました。最初は、Movable Typeのプラグインとして組み込めないか検討しましたが、プラグインの流儀に則って作るのもかなり大変そうだったので、結局PHPスクリプトとして作成することにしました。
PHPは、CGIのプログラムに使われるPerlと比べると、HTMLファイルにインラインで書き込めるなど、小回りの利くスクリプト言語です。ブラウザから読み込み要求がある度にサーバー側でスクリプトが実行されるので、アクセスカウンタのようにリアルタイムで更新したい処理に適しています。また、アクセスログの管理がちょっと面倒になるので、Movable Typeにも使っているデータベースであるMySQLを活用しています。データベース操作が充実しているのもPHPの強みなんですよね。
せっかく勉強した言語なので、アクセスカウンタ以外にもSSK World内の各所でPHPスクリプトを利用しています。さらにこだわっていけば、Movable Typeのようなブログ管理システムもPHPだけで作れてしまうはず(実際にWordPressなどPHPで作られたブログ管理システムもありますし)なんですが、さすがにそこまでの根性はありませんね。出来る範囲で、小技を利かせるために使っていきたいところです。…と、言いつつも、実は既にもっとシステムの根幹に関わるところでもPHPを使っているんですが、これについてはまた回を改めてのお話にしましょう。
コメントを残す