Perl/CGI研究室 'PERL-LABO'

Perl/CGI研究室 'PERL-LABO' TOPへ
戻る(History.Back)

リピーターさんを数える

研究内容

サイトに再訪問してくれた方(リピーターさん)をカウントしましょう。

詳細

再訪問してくれている人がいるのかな

このサイトは管理人が趣味と実益(CGIプログラムの実験)をかねて細々と運営しています。 特に宣伝とかしているわけでもありませんし、アクセスは少ないです (^^; でも検索エンジンからの訪問者様が毎日おられます。 そこで気になったのは、その中には当サイトを気に入ってくれて、 時々再訪問してくれたりする方もおられるんだろうか?ということです。

ブックマークからの訪問を検出する方法

よく使われる手法は、リファラーを使うというものです、 ブックマークからサイトにアクセスした場合、リファラーが空になります。 そこで、リファラーが空の場合はブックマークからのアクセス、リピーターさんだと判断して、 カウントするっていう方法です。 このやり方は、再訪問かどうかというよりもブックマークからのアクセスかどうかという判断をするには いい方法です。というより他に方法がありません。 問題は、URLを直接打ち込んだ場合や、メールに書かれたURLをクリックした場合、 あるいはセキュリティソフトやブラウザの設定でリファラーがカットされていた場合に、 それをブックマークからのアクセスだと間違えてしまうことです。 また、リファラーをCGIプログラムに渡すためにJavaスクリプトを使用している場合は、 JavaスクリプトがOFFになっているとカウントができません。 でも、ブックマークからのアクセスは確実にカウントされるので、 実際よりも少なくカウントされてしまうことはありません。 多い分には嬉しいので、問題ないかも知れませんね。

クッキーを使って再訪問を検出する方法

クッキーを使う場合は、最初に訪問したときになんでもいいので なにか「訪問したよ」という印を書き込んでおきます。 次にアクセスがあったときは、この「訪問したよ」という印があるかどうかで、 初めての訪問ではなくて再訪問なんだっていうことが分かりますね。 クッキーを使う方法の問題点は、クッキーがOFFになっていると、 再訪問であることが認識できないことです。 ですから、実際の再訪問者さんの人数よりも少なくカウントされる可能性があります。 リファラーを使う方法と逆ですね。 でも、クッキーはセキュリティの設定でOFFにすることもできますが、 クッキーって便利だし、クッキーがONになっていたからって別に 個人情報が盗まれるわけでもありませんから、OFFにしている人は少ないのではないでしょうか。 クッキーにもいろいろありますが、Windowsのセキュリティの規定値の「中」なら、 自サイト内においたアクセスカウンターのクッキーは受け入れてくれます。 ということで、たぶんクッキーを使ったやり方も充分精度のいいカウントができると思います。

アクセスカウンターならクッキーを使うのが妥当ですね

再訪問者さんの数は、アクセス履歴画面でアクセス数と一緒に見れた方がいいですよね。 ですから、アクセスカウンターにこの機能を付けたいと思います。 でもアクセスカウンターはもともと、呼び出すだけで、リファラーを渡したりしていません。 リファラーでブックマークからの訪問をチェックするのなら、 CGIプログラムにリファラーを渡す必要があります。それは面倒ですね。 ということで、クッキーを使って再訪問を検出することにしました。

アクセスカウンターで再訪問を検出する具体的な方法

具体的には、次のようにしてアクセスカウンターを修正しました。

カウントするときに「acfirst」という名前のクッキーを調べます。 もし無ければ、初めての訪問です。この場合は「acfirst」という名前のクッキーを 書き込んで、次のアクセスに備えます。「acfirst」の値はなんでもいいのですが、 その時の日付を書き込むことにしました。この値はなにも利用していないのですが、 初めて自分のサイトに訪問してくれた日という意味になりますね。

そして、「acfirst」が既にあった場合ですが、その場合は再訪問ですのでカウントします。 カウントは、その日の1日の再訪問の数、という形で記録していきます。

カウントの値の保存方法ですが、カウンターのデータファイルの仕様を少し変更しました。 データファイルは <> で区切って複数のデータを1行に記録していますが、 末尾に1つデータを加えた感じです。そこに、その日の再訪問の数を書き込んでおきます。

で、あとはそれを画面に表示するんですが、 アクセスカウンターは数字とグラフを画面に表示していました。 数字は、アクセス数の横に括弧して、再訪問の数を表示するようにしました。 あと、グラフでも再訪問の人数が分かるように、再訪問と、初めてのアクセスを 色分けして表示するようにしました。これで、グラフを見れば 「全体のアクセス数の推移」「リピーターさんのアクセス数の推移」が 分かります。全体のアクセスの増減は、サイトの内容ももちろんありますが 宣伝方法に影響されますよね。 リピーターさんのアクセス数の増減は、サイトの内容の充実度とかに影響されると思います。 ですから、単なる興味から作成した「再訪問カウント機能」ですが、 サイト運営を行っていくうえでも、良いヒントになるのではないでしょうか。

作成したプログラム

略。難しくないです。新しい技術も使っていません。

実行結果

このサイトのアクセスカウンターです。 括弧内が再訪問の方の数、 グラフは、赤いところが再訪問の方の分になります。 2005/2/2にこの機能を付けましたので、それ以前は全てゼロになってます。 さて、予想では、このサイトにはほとんどリピーターさんはおられないと思いますが、どうでしょうか…

[ 当サイトのアクセス履歴 ]
Perl/CGI研究室 'PERL-LABO' TOPへ
戻る(History.Back)

Copyright (c) 'PERL-LABO' All Rights Reserved.  リンクフリーです。