開発のページ
=======================================
アクセスカウンタ&アクセス解析モジュール(もどき)
ver 1.41
Last UpDated 2010.2.11
bv SAKI
URL http://bv.saki-net.com
=======================================
for BlognPlus (tested ver 2.5.6)
機能と説明
このモジュールは、拙作である「sxCnt」をBlognPlusでも使用できるように、タイトルやログインモードの取得を行って「sxCnt」に渡したり、結果であるカウンタ等をスキン内に置換挿入するだけのいわゆるインターフェース部分に過ぎません。
主な機能等は、readme_sxcnt.txtを参照してください。
インストール
[LINK]
BlognPlus用に調整した設定ファイル、スキンファイルを用意したSxCntをそのまま格納しています。
解凍してできた[sxcnt]ディレクトリをそのままモジュールディレクトリにアップロードしてください。
カウンタ機能を使う場合、スキンファイルにカウンタ関係のタグを追加してください。
※便宜上「{ }」などを全角文字で表示させていますが、実際は半角です。
{sxCntTotal}
……トータルのアクセス数(通常アクセス)
{sxCntTday}
……今日のアクセス数(通常アクセス)
{sxCntYday}
……昨日のアクセス数(通常アクセス)
{sxCntETotal}
……トータルのアクセス数(BOT等
{sxCntETday}
……今日のアクセス数(BOT等)
{sxCntEYday}
……昨日のアクセス数(BOT等)
必要であれば、管理画面へのURLタグをスキンファイルに追加してください
{sxCntAdmin}
……管理画面へのURL
ただし、これは純粋にURLだけを置換します。実際の使用ではスキン中で以下のように記述してください
<a href="{sxCntAdmin}">アクセスレポート</a>
(ver 1.3~)
{sxCntCCode}…アクセス元の国コード(JP:日本 XX:不明 US:アメリカ
……)
{sxCntCName}…アクセス元の国名
{sxCntIp}…現在アクセスのIP
{sxCntUa}…現在アクセスのユーザーエージェント
{sxCntPre}…直前のURL(空白の場合あり)
{sxCntHost}…現在アクセスのリモートホスト
{sxCntBotStr}…BOTらしき判定結果の全てとProxyおよびHost
(アクセスログに記録したものと同じ)
{IFBOT}~{IFNBOT}~{/IFBOT}…BOT判定結果に基づくスキン分岐
{IFJP}~{IFNJP}~{/IFJP}…アクセス元が日本(および不明)か否かに基づくスキン分岐
{IFCOOKIE}~{IFNCOOKIE}~{/IFCOOKIE}…クッキーを保存するか否かに基づくスキン分岐 (初回およびDoCoMoの場合は不明なので「保存」扱い)
おまけ1
SxCntの機能として、BOTと判定された場合に、表示されるスキンから画像や書庫、スタイルシートに関わる記述を削除または代替文字列に置換することができます。
このモジュールでその機能を使用する場合はsxcnt.php内でその機能を有効にしてあげることで可能です。初期設定では使用しない(=0)になっています。
(sxcnt.php)
$sxCntIsSkinChForBot = 1;
これによって通常よりも遥かに多くアクセスのある各種検索ロボットやクローラーなどのアクセス時において不要な画像等のデータの転送を控えさせ、Webサーバーの負担を軽減させることが見込まれます。
検索結果やrssなどによる情報の取得においても、必要とされるのはテキスト情報である場合がほとんどなので、実質上の問題は少ないかと思われますが、アクセス元の環境によっては不都合が生じることがあるかもしれません。
ご使用においては自己責任でお願いいたします。
おまけ2
スキン中に使用できる各種タグ({sxCntAdmin}を除く)を記事中にも使用するためには、index.phpの中で一部追加することで可能になります。
(ver2.5.6の場合index.php 1187行目付近)
}
$tmpbuf = str_replace ("{LOGTRACKBACK}", $logtrackback, $tmpbuf);
// add sxCnt by SAKI start
@include(BLOGN_MODDIR."/sxcnt/sxcntadd.php");
// add sxCnt by SAKI end
if ($val["trackback_ok"] == "1") {
(ver2.6.2の場合 index.php 1585行目付近)
header("Content-Type: text/html; charset=Shift_JIS"); 
}
// add sxCnt by SAKI start
@include(BLOGN_MODDIR."/sxcnt/sxcntadd.php");
// add sxCnt by SAKI end
echo $skin;
}
また、これにより、スキンだけでなく、記事内においても$sxCntIsSkinChForBotの設定に従って画像等の削除も行われます。ご使用においては【おまけ1】と同様自己責任でお願いいたします。
おまけ3
[PIC]
Blognの画面に、アクセスランキングをグラフ付きで表示することができます。
各記事等に対するアクセス数を多いものから順に表示します。同様の機能はnJOYさんのところの「人気記事ランキング作成モジュール」が既に実現しており、あえてこのモジュールのランキングを使用する必要はありませんが、若干異なる仕様もあるので以下に示します。
1 BOTではない(と判定された)アクセスのみを対象とします。
2 ランキング対象を各記事個別表示(?e=**でアクセス)に限らず、カテゴリ表示や月、あるいは日別表示といったアクセスに対しても行うことができる。(オプションで変更可)
3 グラフ表示ができます。
4 ランキング表示に関わる細かい表示設定が可能です。(逆に設置に手間がかかるように
……汗)
ランキングの設置はスキンに以下のタグを追加することで行います。(以下は私のブログの例です)
{SXRANK}
<dl class="sxCntRank">
{SXRANKLOOP}
<dt>{no}.</dt><dd class="sxCntRankDD"><a href="{addr}">{title}</a>({sub})</dd>
<dd><img src="{GrImg}"  />{%}%</dd>
{/SXRANKLOOP}
</dl>
{/SXRANK}
なお、スタイルクラスの定義は以下のとおりです。
.sxCntRank{
font-size:10px;
line-height:12px;
}
.sxCntRankDD{
margin-top:-12px;
margin-left:25px;
}
仕様できるタグ
{SXRANK}~{/SXRANK}
……ランキング表示エリアの始点と終点です。
{SXRANKLOOP}~{/SXRANKLOOP}
……1件のランキングのスキンを定義します
{no}
……ランキングの順位(連番)
{rank}
……ランキングの順位(連番ではなく、たとえば同じカウントの2位が2件のときは1、2、2、4…となります)
{addr}
……その記事(あるいはアクセス)のURL
{title}
……その記事(あるいはアクセス)のタイトル
{sub}
……カウント数
{GrImg}
……sxcnt.phpで指定されたグラフ画像のURL。(スキンで直接指定できるから必要なかったかも)
{GrWidth}
……グラフの横幅(sxcnt.phpで最大横幅を指定)
{%}
……対象期間内でのその記事(あるいはアクセス)の割合(%表示、小数点2位まで)
なお、ランキングタグ関係の各種オプションはsxcnt.php内で指定します。
(sxcnt.php)