TOP > dopvSTAR* > ログの取得

≫ログの取得形式


転送設置とパーミッションの設定が済んだら、いよいよログを取得しましょう。

アクセスログを取得する方法は以下の3つです。

  • JavaScript + IMG式
    最も多くの情報を取得できる

  • IMG式
    ログ取得タグが簡易でIPがわかれば良いという方にオススメ

  • SSI式
    ログの取得を訪問者に気づかれません。
    (サーバディレクティブや.htaccessにより、SSIを有効にする設定が必要です)
以下の表のように、各方式によって取得の可不可があります。
ログ項目名JS+IMG式IMG式SSI式
年月日時刻
ユーザID
プラットフォーム××
ホスト名
IPアドレス
プロクシ
プロクシ経由前IP
ユーザエージェント値
ブラウザ使用言語××
画面サイズ××
表示可能色数××
ディスプレイ深度××
アクセスページ
前アクセスページ×
ページ滞在時間×
訪問回数×
リンク元URL×
( ○:取得可能  ×:取得不可能  △クッキーON  ▲:クッキーがONで複数ページの閲覧 )

≫ログ取得タグの基本

アクセスログは、各HTMLファイルの <body>〜</body> の間に、以下のタグを追加することで取得します。

*赤字部分を環境に合わせて変更します。

*下線の部分(document〜)は1行です。

JavaScript+IMG式
<a href="http://tech.bayashi.net/" title="CGI">
<script type="text/javascript" language="JavaScript">
<!--

//----- ログ取得CGIへのパス(相対パスもしくはURL)
var pa = "パス/dsw.cgi";
//----- ページ名(半角英数文字のみ)
var pg = "ページ名";
//----- 出力タイプ(g=gifカウンタ, p=pngカウンタ, m=gifロゴ, n=出力ナシ)
var p = "g";
//----- カウントアップしないなら "no"
var cnt = "";

var a="&&"; var pf=navigator.platform; var lng=navigator.language;
var swh=screen.width+"x"+screen.height;
var cd=screen.colorDepth; var pd=screen.pixelDepth; var rf=encodeURIComponent(document.referrer);

document.write("<img src='"+pa+"?xx=",new Date().getSeconds(),a+"pg="+pg+a+"p="+p+a+"md=j"+a+"cnt="+cnt+a+"pf="+pf+a+ "lng="+lng+a+"swh="+swh+a+"cd="+cd+a+"pd="+pd+a+"rf="+rf+"' alt='アクセス解析' border='0' />");
// -->
</script>

<noscript>
<img src="パス/dsw.cgi?pg=ページ名&&p=g&&md=nj" alt="アクセス解析" border="0" />
</noscript>
</a>
▼コピー&ペースト用
IMG式
<a href="http://tech.bayashi.net/" title="CGI">
<img src="パス/dsw.cgi?pg=ページ名&&p=g&&md=i" alt="アクセス解析" border="0" />
</a>
▼コピー&ペースト用
SSI式
<a href="http://tech.bayashi.net/" title="CGI">
<!--#include virtual="パス/dsw.cgi?pg=ページ名&&p=g&&md=s"-->
</a>
▼コピー&ペースト用

パスは、JS+IMG式、または IMG式の場合は
HTMLページから dsw.cgi への相対パス指定でも、http:// ではじまる URL指定でもOKです。

SSI式の場合は、URL指定や/usr/などではじまるサーバ内の絶対パスもサーバによってはエラーになります。
おおむね相対パスを用いるとうまくいくようです。

パスがわからない場合は → FAQ : パスってなに?

ページ名は、任意の文字列で、半角英数字とハイフン(-)アンダーバー(_)が使用できます。

≫引数オプションとは

dsw.cgi を呼び出すときに、振る舞いを制御する引数オプションがあります。

?以降の部分、以下の例で太字部分が引数です。

<!--#include virtual="パス/dsw.cgi?pg=INDEX&&p=g&&md=s"-->

引数オプションは、JavaScript+IMG式の時こそ直接は設定しないかもしれませんが、IMG式やSSI式では、手動設定になります。

よく理解してカスタマイズに取り組みましょう。

引数は、以下のような構造になっています。

pg=INDEX&&p=g&&md=s

さらに分解すると、

pg=INDEX

となり、「 pg は INDEX 」と指定していることになります。

p=g なら、「 p は g 」、md=s なら、「 md は s 」を指定しています。

これらのオプション指定を && でつなげることで引数を形成しています。

引数の中で、オプションの順番は問いません。

?pg=INDEX&&p=g&&md=s でも ?md=s&&p=g&&pg=INDEX でもOKです。

≫引数オプション一覧

pg オプション(必須)
pg=ページ名ログ取得時に記録するページ名を設定します。
英数字とハイフン、アンダーバーが使用できます。

p オプション
p=gグラフィックカウンタ(サイト全体合計)を出力します。
アクセス解析のカウンタ出力例
p=mグラフィックロゴを出力します
アクセス解析のロゴ出力例
p=n何も出力しません
p=tSSI式のみ有効なテキストカウンタの出力オプション。
アクセス解析のテキストカウンタ出力例
p=t を指定した場合は、HTMLの文字コードも明示する char オプションの指定も必要です。
char=eucEUCで出力します
*デフォルト
char=sjisShiftJISで出力します
char=jisJISで出力します

md オプション(必須)
md=jJavaScript+IMG式のログ取得タグであることを明示します。
md=njnoscript時のIMG式
md=iIMG式
md=sSSI式

cnt オプション
cnt=noログは記録しますがカウンタ値は増やしません。

bot オプション(SSI式のみ)
bot=1ロボットからのアクセスのみを取得
ex. <!--#include virtual="パス/dsw.cgi?pg=INDEX&&p=n&&md=s&&bot=1"-->

nobot オプション(SSI式のみ)
nobot=1ロボットからのアクセスは取得しません。
ex. <!--#include virtual="パス/dsw.cgi?pg=INDEX&&p=n&&md=s&&nobot=1"-->

オプションを組み合わせて、例えば以下の様な引数を設定します。

<!--#include virtual="パス/dsw.cgi?pg=INDEX&&p=n&&md=s&&bot=1&&cnt=no"-->

カウンタ値を増やさずに検索ロボットログのみを取得する、SSI式タグになります。

≫ログ取得時のトラブル

フレームを使用したページでリンク元が正常に取得できないという方は、こちらのフレームを利用したページにアクセス解析を設置するを参照願います。

FAQ : ログが取得できない

FAQ : リンク元に ' シングルクオートが入る