PHPでアクセスカウンタ

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を使っているんですが、これについてはまた回を改めてのお話にしましょう。


投稿日

カテゴリー:

投稿者:



コメント

コメントを残す

1回のみ
毎月

記事を気に入っていただけましたか?よろしければ、今後のSSK Worldの活動に向けてご支援をお願いいたします。

SSK Worldを「面白い!」と思っていただける方がありましたら、今後の当サイトの活動継続に向けて、ご支援をお願いいたします。

金額を選択

¥100
¥500
¥1,000
¥500
¥1,000
¥2,000

またはカスタム金額を入力

¥

ご協力いただき、ありがとうございます。

ご協力いただき、ありがとうございます。

送金送金

タグクラウド

2年縛り Amazon Android BESS Bluetooth CF-B5 CF-R2 CF-R4 CF-RZ4 CF-SV8 DIY iPhone LTE Movable Type Nintendo Switch NuAns NEO Reloaded SNS SSD USB PD Webサイト Webブラウザー Windows 10 Windows XP カメラ カーナビ クルマ ショップ ステップワゴンスパーダ スマートフォン バージョンアップ ブログ マラソン レッツノート ログハウス 中日ドラゴンズ 伊豆 倉庫 健康 写真 合唱 塗装 家族 携帯電話 旅行 日本プロ野球 映画 暮らし 東京 槇原敬之 浜松 無線LAN 自作PC 芝生 花壇 薪ストーブ 薪割り 記念日 野球 音楽 食べる