かんたんアクセス解析〔自作CGI/Perlによるアクセス解析方法〕

JavaScriptで取得できる情報

●リンク元URL

document.referrer
〔リンク元URLから得られる情報〕
リンク元サイト・検索エンジン・検索キーワード

●画面解像度

screen.width
screen.height
モニター画面の縦横のサイズ

●画面の色数

screen.colorDepth
何色表示できるか

●滞在時間

Loadされた時間とUnloadされた時間から計算
※サンプルでは取得していません

CGI(Perl)で取得できる情報

●ユーザーエージェント

$ENV{'HTTP_USER_AGENT'}
〔ユーザーエージェントから得られる情報〕
OS・ブラウザ・携帯電話の機種名

●ドメイン名

$ENV{'REMOTE_HOST'}
〔ドメイン名から得られる情報〕
プロバイダ・組織(会社・学校・等)・接続元の国
※サンプルでは集計していません

●IPアドレス

$ENV{'REMOTE_ADDR'}
※サンプルでは集計していません

●言語

$ENV{'HTTP_ACCEPT_LANGUAGE'}
〔言語から得られる情報〕
何語が読めるか

●訪問者数

CGIが実行されるごとにカウント(+1)することで訪問者数を計算(アクセスカウンター)

●訪問日時

年・月・日・分・秒・曜日
〔訪問日時から得られる情報〕
時間帯アクセス数・曜日別アクセス数

クッキーで取得できる情報

●訪問回数

クッキーから訪問回数を読み取り、1を加え、またクッキーに保存
〔訪問回数から得られる情報〕
訪問回数・初訪問者数

●前回訪問日時

クッキーに訪問日時を保存し、次回訪問の際に取得
〔前回訪問日時から得られる情報〕
再訪問の期間・重複除外アクセス数

●初回訪問日時

クッキーに初回訪問の日時を保存
〔初回訪問日時から得られる情報〕
初回訪問からの期間

@アクセス解析するページに画像を表示するジャバスクリプトを追加

		<script language="JavaScript">
		<!--
			url	= "Aで作成するCGI(URL)";
			url	+= "?w=" + screen.width + "&h=" + screen.height;
			url	+= "&color=" + screen.colorDepth;
			url	+= "&referer=" + document.referrer;
			document.write('<img src="', url, '">');
		//-->
		</script>
		<noscript><img src="Aで作成するCGI(URL)"></noscript>
このジャバスクリプトは次のことを行います。
リンク元URL解像度色数・等を取得。
取得した情報をAで作成するCGIのURLにつなぎ合わせます。
■<img>タグを書き出す。
この<img>タグは、Aで作成するCGIを実行し、画像を表示します。 その際、CGIに取得したリンク元URL・解像度・色数を送ります。
<img src="URL?w=解像度(横)&h=解像度(縦)&color=色数&referer=リンク元">の形式で書き出されます。

※JavaScriptに対応していないブラウザでの訪問の場合、リンク元URL・解像度・色数は取得できません。 この場合<noscript>タグ中の<img>タグによってCGIが実行されます。
※リンク元URL・解像度・色数・等を必要としない場合、このJavaScriptは必要ありません。 <img src="Aで作成するCGI(URL)">のみ追加します。

Aアクセスログを保存するCGIを作成

このCGIは次のことを行います。
■@のジャバスクリプトで取得したリンク元URL・解像度・色数の情報を受け取る。
送られてきた情報(フォームデータ)を分割します。
■クッキーから訪問回数前回訪問日時初回訪問日時・等を取得。
前回訪問時に保存したクッキーデータを取得します。 訪問回数には1を加えます。
※クッキーに対応していないブラウザでの訪問の場合、クッキーデータは取得できません。 クッキーの有効期限を過ぎてしまった場合やユーザーによって削除された場合もクッキーデータは取得できません。
■クッキーに訪問回数・訪問日時・初回訪問日時・等を保存。
次回訪問時に利用するクッキーデータを保存します。
■アクセスログ保存ファイルから訪問者数を取得。
訪問者数(アクセスカウンター)に1を加えます。
※訪問者数を別ファイルに保存の場合は、訪問者数を読み込み、1を加え保存します。

日付時刻を取得。
timeを取得し、年・月・日・時・分・秒に変換します。
※サンプルでは秒数のまま(timeのまま)保存し、集計時に変換してます。

ユーザーエージェントドメイン名IPアドレス言語・等を取得。
環境変数%ENVから取得します。
■Bで作成するファイルに取得した情報を保存。
取得した情報を集計・解析しやすい形式に加工し保存します。
■Cで作成する画像を表示。
<img>によって実行されたので画像を出力します。

Bアクセスログを保存するファイルを作成

アクセスログ保存用の空のファイルを作成。(サンプルはlog.dat)
※訪問者数(アクセスカウンター)を別ファイルに保存する場合、別にカウント用のファイルを作成します。

Cアクセスログ取得後に表示する画像を作成

この画像はAのCGIがアクセスログ取得後に表示します。(サンプルはanalyzer.jpg)
※目立たない1px×1pxの画像や透明の画像等でも可能。
※ホームページ内に使用中の画像(タイトル画像等)でも可能です。 この場合、画像を表示している位置に@のジャバスクリプトを追加します。

Dアクセスログを集計・解析するCGIを作成

このCGIでアクセスログを集計・解析します。
■日別訪問者数
日付(月と日)を集計。
■月別訪問者数
月を集計。
※サンプルでは集計していません。
※長期間の月別の訪問者数を集計したい場合、アクセスログとは別ファイルに保存することで 長期間の訪問者数を保存できます。

■曜日別訪問者数
曜日を集計。
■時間帯訪問者数
時間のみを集計。
※日付ごとの時間帯訪問者数を集計する場合は、月・日・時間を合わせて集計。

■重複除外訪問者数
訪問日時と前回訪問日時の日付が異なるログのみを集計。
■初訪問者数
前回訪問日時のないログのみを集計。
■最訪問までの期間
訪問日時と前回訪問日時の差を集計。
■平均滞在時間
滞在時間を集計し平均を計算。
※サンプルでは取得・集計していません。

■OS
ユーザーエージェントに含まれるOSの情報を抜き出し集計。
■ブラウザ
ユーザーエージェントに含まれるブラウザの情報を抜き出し集計。
■リンク元サイト別訪問者数
リンク元URLを集計。
■お気に入り(ブックマーク)からの訪問者数
リンク元URLがない場合のみを集計。
※この集計結果にはリンク元不明も含まれてしまいます。

■検索エンジンからの訪問者数
リンク元URLに検索エンジンのURLが含まれる場合のみを集計。
■使用された検索エンジン(登録されている検索エンジン)
リンク元URLに検索エンジンのURLが含まれる場合、抜き出す。
■検索に使用されたキーワード
検索エンジンからのリンク元URLに含まれるキーワードを抜き出す。
■接続元の国
ドメイン名から抜き出す。
※他にもさまざまな集計・解析をすることができます。 それぞれのホームページに必要な情報を集計するCGIを作成しましょう。

E作成したファイルをアップロード

@〜Dで作成したファイルをアップロードします
アップロードが完了するとアクセスログの取得が開始されます。 アクセスログ保存件数がある程度になったらDで作成したCGIでアクセス解析しましょう。

おすすめアクセス解析サービス

1800カウンター
日本最大級のカウンター数 なんと 1800種類以上! お気に入りのカウンターが必ずみつかるはず!アクセス解析もできちゃう
リンクフリー かんたん作成.com