最近は、広告ブロックをする人も増えて、Javascriptを使ったアクセス分析もブロックできるようになってきました。閲覧する側は表示速度が大幅によくなり快適です。しかし、運用している側はアクセスの状況の傾向は知りたいもの。そこで一番確実なのは、PHPにアクセス分析を埋め込んでしまうこと。これは絶対にブロックできませんので、正確なアクセス分析が可能になります。
■概略
エントリーのアクセスを記録し、
アクセス数のランキングを表示します。
■注意
○MySQLで動作しているものに限ります。
○PHPで動作している必要があります。
拡張子がHTMLのままPHP化するには以下の説明を参照してください。
http://e.tpot.tk/a/000271.html
○このプログラムでは、直接データベースにアクセスしています。
パーミッション等には気をつけてください。
(mt.cfgから設定を取り出すのが面倒だった)
○データベースのテーブル名のサフィックスは、「mt_」としています。
○MovableType2.661で動作チェックをしています。
3.xxでもアーカイブのファイル形式が2.xxと互換の時(古い形式)は
動作すると思います。
○ファイルは、UTF-8で保存してあるので、EUC-JPの場合は、
テキストエディタ等で変換してください。
○一つのmt.cgiで複数のウェブログを管理していても、
自動的に対応します。
■サンプル
EarlGrey Tearoom Archives
■ダウンロード
■設定
fav_cfg.phpにデータベースの設定を書き込みます。
$DBHost ='host'; // ホスト名
$DBUser ='dbuser'; // ユーザー名
$DBPassword ='password'; // パスワード
$Database = 'database-name'; // データベース名
■アップロード
ローカルサイトパス(index.htmlがある場所)に
fav_countフォルダごとアップロードしてください。
/public/blog/fav_count/fav_xxx.php
って感じになります。
■データベースのテーブル作成
http://www.なんとか.com/blog/fav_count/fav_main.php
みたいな感じで、一度fav_main.phpにアクセスしてください。
アクセス情報を記録するためのテーブル(mt_most_views)が
存在しない場合、テーブルを作成するようになっています。
メッセージは、特にでません。(エラーメッセージが出るかも)
■テンプレートの設定
(1) Individual Entry Archive の任意の場所に
<?php
$itemid = <$MTEntryID$>;
include("<$MTBlogSitePath$>fav_count/fav_count.php");
?>
を記述してください。(そのままコピー)
この記述した場所に、エントリーのアクセス数が表示されます。
(2) Main Index または Master Archive Index などの任意の場所に
<?php
$blogid=<$MTBlogID$>;
include("<$MTBlogSitePath$>fav_count/fav_main.php");
?>
を記述してください。(そのままコピー)
■できあがり
再構築すれば、できあがり!!
表示することが確認できたら、
<?php と ?> の外側にいろいろ装飾してください。
素っ気ない表示しかしませんので。
■今後の予定
予定というか、このリリースは途中経過のつもりです。
各エントリーの一日あたりのアクセス数を
表示させたいと思っています。
■更新履歴
2005/01/08 初版完成
た
こんにちは、いつも参考にさせて頂いてます。突然ですが、アクセスランキングについて2つ程質問させて下さい。
まず、ランキングの表示結果で、エントリータイトルが日本語の場合だと???になってしまいます。一応ファイルはすべてUTF-8で保存してアップロードしたのですが、なにが原因なのでしょう?
あと1つは、アーカイブの出力ファイルが当方では、
yyyy/mm/dd/EntryID.php
にしています。なのでランキングのリンクが貼られてはいますが、エラーになってしまいます。
エントリータイトルに貼るリンクの設定は、どのファイルのどこを変更すればよろしいのでしょうか?
お手数ですが、宜しくお願い致します。