BlognPlus に「人気記事ランキング」を表示できるモジュールです。
Movable Type用プラグイン「MT-MostVisited」のように、人気記事のランキングをブログ内に表示できます。
しかし上述のプラグインと違い、サーバーの環境に依存する事なく簡単に導入する事が出来ます。
また過去1週間分の簡易ログ、および過去1ヶ月分の PV 推移を閲覧する機能も備えています(後述)。
モジュールを導入する前に、どんな風に動作しているかご覧になりたい場合は、以下のサイトを参考にして下さい。
※ トラックバックをいただいたサイト様に無断でリンクさせていただいています。
指定記事ID表示(URIの末尾が「index.php?e=記事ID」)の時だけ、PVとしてカウントされます。
それ以外は一切PVとしてカウントされません。
PVとしてカウントされると、ログに記事IDが記録されます。この記録を元にランキングを割り出します。
指定した日数分の過去ログを元に、よく読まれている記事を「人気記事」としてブログに表示されます。
このランキングは日付が変わると自動的に更新されます。
指定したIPアドレスからのアクセスをカウントしないようにできます。
管理人自身のIPアドレスを指定する事で、管理人が記事のチェック等で記事にアクセスしても、ランキングの結果に反映されなくなります。
ログファイルは日付が変わると新しく作られ、記録は1日単位で管理されます。
ログファイル(YYYYmmdd.log)は約1週間後自動的に消去されます。
ログのサイズは 1000PV あたり約 3kb 程度になると思います。
毎日最低でも1PVないと、古いログファイルが消されずに残ってしまう等の不具合が出ますので注意してください。
(1日に1PVもないという事は通常は考えられないので、普通は問題ないはずです)
BlognPlus v2.5.6(テキスト版およびMySQL版)で動作確認しています。PostgreSQL版での動作は未確認です。
「人気記事ランキング作成モジュール」(poprank.zip, 9kb)
blognplus
+ module
+ poprank
- blank.php
- config.ini (設定ファイル)
- control.php
- function.php
- info.php
- poprank.php
- update.php
+ log(ログ用ディレクトリ)
- bar_b.gif
- bar_r.gif
- YYYYmmdd.log(日別ログファイル・自動的に生成&削除)
- month.cgi(PV推移ログファイル・自動的に生成)
- popular.log(ランキングログ・自動的に生成)
スキンファイル内に {POPRANK} と記述。
{POPRANK} と記述された場所に以下のフォーマットで人気記事ランキングが表示されます。
記事へのリンク後のカッコ内には指定した日数分の総PV数が表示されます(設定により非表示も可能)。
1週間分のログを閲覧する事が出来ます。
ページ上部のラジオボタンで見たい日付のログを選んでください。
スペースの都合上、記事のタイトルは短縮するようにしていますが、ハイパーリンクの上にカーソルをのせると完全な記事タイトルがポップアップで表示されます。
またグラフのバー上にカーソルをのせると、その記事が獲得したPV率(小数点1位まで)がポップアップで表示されます。
過去31日間のPVを集計してグラフ化し、管理画面に表示します。
集計期間内の最高・最低・平均PVも計算します。
PV の推移ログは前日のログからデータを取得します。最初の2日間はデータ数が足りないため、グラフは表示されません。
人気記事ランキングの集計結果が出るのは、モジュールをインストールしてから約1週間後になります(それまでは「集計中」と表示)。
もっと早く集計結果を表示させたい場合は、以下の方法に従ってください。
モジュールをインストールすると、「log」ディレクトリ下にログファイルが作成されます(ファイルの名前は「YYYYmmdd.log」)。
そのログの日付から7日間分さかのぼって空のログファイルを作成してください。
例えば 2005/08/12 にモジュールをインストールすると「20050812.log」というログファイルが自動的に作成されるので、「20050805.log」「20050806.log」・・・「2005.0811.log」を作成し、「log」ディレクトリにアップロードしてください。
日付が変わった時点で「20050812.log」と空ログから集計結果を作成します。
その後も集計の更新の際に必要になるので、空ログは消さずに残しておいてください。
これらの空ログは古くなれば自動的に削除されます。
管理画面、過去ログの下にモジュールの設定画面があります。
「log」ディレクトリと「config.ini」以外を上書きアップロードしてください。
「log」ディレクトリと「config.ini」以外を上書きアップロードしてください。
ログの記録方法が変更されたので「popular.log」を削除してください(日付が変わればこのファイルは自動的に作成されます)。
「log」ディレクトリ以外を上書きアップロードしてください。
ログの記録方法が変更されたので「popular.log」を削除してください(日付が変わればこのファイルは自動的に作成されます)。
「index.php」への記述が不要になったので、poprank_count_entry($blogn_entry_id, $_SERVER["REMOTE_ADDR"]);を削除してください。
「log」ディレクトリ以外を上書きアップロードしてください。
ログの記録方法が変更されたので「popular.log」を削除してください(日付が変わればこのファイルは自動的に作成されます)。
「index.php」への記述が不要になったので、poprank_count_entry($blogn_entry_id);を削除してください。
新たに「config.ini」が追加されました。アップロード後、パーミッションの変更も忘れずに。