2005.12.15

Movable Type : dopvSTAR* で Movable Type のアクセス解析

フリーのアクセス解析スクリプト dopvSTAR* を使うと、Movable Type へのアクセスを詳しく解析することができます。具体的には、どこからどのページにリンクされてるかとか、どんな検索キーワードでどのページがヒットしてるかとかです。

前置きはこれぐらいにしておいて、とりあえず導入方法をさくさくと紹介。

これから紹介する例は、Movable Type 3.2-ja-2 + dopvSTAR* パッケージ 0081 での例です。バージョンが異なるとうまくいかない可能性がありますのでご注意下さい。

まずは、dopvSTAR* をダウンロードし、ふつーに設置します。やり方は dopvSTAR* のサイトの解説のとおりにやればいいですので、ここでは省きます。

次に、dopvSTAR* の設定ファイル dsi.pl をテキストエディタで開き、$INI{'mt_dir'} の値を変更しましょう。これには、Movable Type をインストールしているディレクトリパスを、絶対パスにて記述します。これは、ブログのトップページを置いているディレクトリではなく、mt.cgi 等、Movable Type のスクリプトファイルがあるディレクトリを指定する必要があります。また、URLでは無くサーバー内でのディレクトリパスですので注意しましょう。

さくらインターネットで、あなたのさくらインターネットユーザー名が username で、www ディレクトリ直下の mt というディレクトリに Movable Type を設置している場合は、こんな感じになります。

# ■MovableTypeのEntryIDをページ名に変換するためのmtディレクトリパス
$INI{'mt_dir'} = '/home/username/www/mt/';

dsi.pl への変更はとりあえずこの1ヶ所でOKですので、ファイルを保存し、ウェッブサーバーにアップロードしましょう。

あとは、Movable Type のテンプレート管理画面にて、メインページ、アーカイブページ、エントリー・アーカイブページ、カテゴリー・アーカイブページの各ページに、以下を追加します。日付アーカイブページについては、別途記述します。

<!-- dopvSTAR* -->
<a href="http://www.bayashi.net/">
<script type="text/javascript" language="JavaScript">
<!--

//----- ログ取得CGIへのパス(相対パスもしくはURL)
var pa = "http://yoursite/ds/dsw.cgi";
//----- ページ名(半角英数文字のみ)
var pg = "この部分はページごとに異なる";
//----- 出力タイプ(g=グラフィックカウンタ, m=gifロゴ, n=出力ナシ)
var p = "n";
//----- カウントアップしないなら "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=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='Web解析CGI' border='0' />");
// -->
</script>

<noscript>
<img src="http://yoursite/ds/dsw.cgi?pg=この部分はページごとに異なる&&p=n&&md=nj&&rf=JavaScript_OFF" alt="Web解析CGI" border="0" />
</noscript>
</a>

追加する位置は、各テンプレートの </body> の直前でOKです。document.write(" ~ "); の間は改行不可ですので注意。

緑字の部分は、自分の環境に合わせて変更してください。ここには、インストールした dsw.cgi までのURL書きます。相対URLでもOKですが、http:// ~で始まる絶対URLを書いた方が無難でしょう。2箇所とも変更します。

赤字の「この部分はページごとに異なる」の部分は、ページごとに値を変える必要があります。これも2箇所ありますので、両方変更します。

  • メインページ: blog_main
  • アーカイブページ: blog_archive
  • エントリー・アーカイブ: <$MTBlogID$>_<$MTEntryID pad="1"$>
  • カテゴリー・アーカイブ: blog_category

カテゴリー・アーカイブページに関しては、<$MTBlogID$>_<$MTArchiveTitle$> とすることで、カテゴリ名を解析ログに出力することもできるのですが、これをやる場合、カテゴリ名を半角英字のみにする必要があるという制限がありますので、カテゴリ名を出力しない固定名で妥協しています。

最後に、日付アーカイブのテンプレートに以下を追加します。

<!-- dopvSTAR* -->
<MTEntries lastn="1">
<a href="http://www.bayashi.net/">
<script type="text/javascript" language="JavaScript">
<!--

//----- ログ取得CGIへのパス(相対パスもしくはURL)
var pa = "http://yoursite/ds/dsw.cgi";
//----- ページ名(半角英数文字のみ)
var pg = "blog_date_<$MTEntryDate format="%Y%m%d"$>";
//----- 出力タイプ(g=グラフィックカウンタ, m=gifロゴ, n=出力ナシ)
var p = "n";
//----- カウントアップしないなら "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=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='Web解析CGI' border='0' />");
// -->
</script>

<noscript>
<img src="http://yoursite/ds/dsw.cgi?pg=blog_date_<$MTEntryDate format="%Y%m%d"$>&&p=n&&md=nj&&rf=JavaScript_OFF" alt="Web解析CGI" border="0" /> </noscript>
</a>
</MTEntries>

他のページ用とは異なるのは、太字の部分です。追加する位置は、他のページ同様、テンプレートの </body> の直前でOKです。

以上で設定完了。最後に Movable Type の管理画面で、「サイトを再構築」を実行しておきましょう。

あとは、解析ログを見てにやにやして下さいませ。

[TIP] <noscript> の部分のパラメータに、rf=JavaScript_OFF を追加しているのが dopvSTAR* の デフォルトの貼り付けフォーマットには無いひと工夫。これにより JavaScript が無効なために取得できなかったケースとURL入力などで直接訪れたケースを判別することができるようになっています。

Categories: Movable Type

Category: Movable Type

Trackbacks

Trackback URL:


» blogレイアウトの復旧完了 from Stomach Ache -人生是胃痛-
Movable Typeは設定やら何やらを全てDBに格納しているようで。 DB吹っ飛ばしてしまった私は当然ながら最初からやり直し。 » 続きを読む (Read more)...