ジャンクワードの森

「Access Counter」で人気記事をサイドバーに表示(MovableType)

2011-07-26[Movable Typeプラグイン

当サイトではアフィリエイト広告を利用しています。

先日行ったサイトリニューアルではデザイン面以外はほとんど手を入れていないと書きましたが、実は1つだけ追加したものがあって、それが人気記事をサイドバーに表示したことです。
人気記事をサイドバーに表示

個人的には人気記事ね、、、とは思っていたのですが、リサーチしたところ何気に需要が結構高かったのでリニューアルのタイミングで導入してみました。


このエントリーをはてなブックマークに追加

<要注意>
タイトルにもいれていますが、ジャンクワードの森で使っているCMS プラットフォームはMovableType(Ver.4.24-ja)なので、今回の人気記事導入もMovableTypeのプラグインを使って実装しています。

WordPressのほうがプラグインの数が多いように感じましたけど、まあここでは変更なしで^^

※MT5.xでAccess Counterを使う場合も少し設定変更が必要です

プラグインは「Access Counter」を使用

人気記事を出すことのできるプラグインはいくつかありましたが、Apacheのログを参照するとか何とか難しそうなのを避けていった中見つかったのがホームページメーカーさんの「Access Counter」です。

<参照>
ホームページメーカー:Access Counter

Access Counterはデータベースやログを必要としないで、プラグイン単体で簡単に動作するため設置も容易にできるのが魅力です。

しかし、シンプルな分、週間・月間のような期間限定の集計ができない、カウンターのリセットができないため、古株の記事が有利になってしまうというデメリットがあります。

※リセットは強制的に行なうこともできますが、季節限定等で盛り上がった記事が消えてしまうことにもなります。

AccessCounterのインストール手順

AccessCounterのインストール手順は以下の通り

1、ホームページメーカーさんから、最新のバージョンをダウンロード
2、ダウンロードしたデータを解凍
3、解凍した「AccessCounter フォルダ」をMTのプラグインディレクトリにアップロード
4、AccessCounter.cgiの権限を、755 に設定

ここまでが外部の作業、ここからMTの管理画面にアクセス

5、プログを選択
6、[ツール]→[プラグイン]を選択
7、AccessCounterをクリック
8、[設定]をクリック
9、[このブログのトラッキングを開始します]にチェックをいれて変更を保存をクリック
10、[再構築]を実行

以上で設定完了。

と思ったのですが、このままではなぜかトラッキングを開始しないため、色々と見たところトラッキングコードのパスが違っていました。

そこで、AccessCounterのトラッキングを正常稼動させるためには、トラッキングコードのパスが書かれている[AccessCounter.pl]を編集する必要があります。

[AccessCounter.pl]の書き換え

トラッキングに関わる所は、解凍されたフォルダ内にある[AccessCounter.pl]に記載されています。
この[AccessCounter.pl]をテキストエディタ(秀丸)等で開き、136行あたりを見ると次のようにトラッキングコードのパスが書かれています(実際にはJavaScriptとして吐き出しています)。

my $path = MT::ConfigMgr->instance->CGIPath;

$path .= ‘/’ unless $path =~ m!/$!;

$path =~ s!^https?://[^/]+(/.*)$!$1!;

my $track = ‘<script type=”text/javascript” src=”‘.$path.’plugins/AccessCounter/AccessCounter.cgi?mode=tracking&blog_id=’.$args{blog}->id.’&id=’.$args{entry}->id.'”></script>’;

記述的には編じゃないので、普通ならMTのCGIパス(要はMTがインストールされたURL)が出るはずなんですけどね、、、、

ここをシンプルに絶対パスに変更したところ、トラッキングが開始しました。

<参考>

my $path = MT::ConfigMgr->instance->CGIPath;

$path .= ‘/’ unless $path =~ m!/$!;

$path =~ s!^https?://[^/]+(/.*)$!$1!;

my $track = ‘<script type=”text/javascript” src=”http://秘密ですが絶対パス/plugins/AccessCounter/AccessCounter.cgi?mode=tracking&blog_id=’.$args{blog}->id.’&id=’.$args{entry}->id.'”></script>’;

絶対パスが「?」っていう人は、単純にMTの管理画面に入るURLの「mt.cgiの前」を入れれば問題ないと思います(セキュリティ的に公開したくないので、言葉にしています)。

なんかゴチャゴチャしてますが、これでトラッキングが開始して、各記事にアクセスカウントが表示されるようなりました。

人気記事のサイドバーへの組み込み

トラッキングが確認できたところで、サイドバーに組み込むのですが、ウィジェットとか面倒なので次の手順で組み込んでいます。

1、インデックステンプレートにテンプレート名「人気記事」
  出力ファイル名「popularity.html」でファイルを作成

2、上記ファイルに以下のタグを挿入

<h3>人気記事</h3>

  <ul class=”popularity”><mt:If tag=”BlogEntryCount”>

  <mt:Entries sort_by=”accessed_count” sort_order=”descend” limit=”10″>

  <li><a href=”<$mt:EntryPermalink$>”><$MTEntryTitle$></a></li>

  </mt:Entries></mt:If>

  </ul>

3、テンプレートモジュールのサイドバーにpopularity.htmlを
  php readfileで読み込んで完成

かな~り端折っていますね^^
この辺がイマイチ理解できていない場合はいない人は[サイトリニューアル]PHPモジュール化を読んでもらえるとなんとなく理解できると思います。

それでも、、、って場合は別途ご連絡ください。

MTの再構築

実はAccessCounterのカウンター情報を反映させるためには、MTを再構築してあげないといけないという欠点があります。

ただMTは勝手には再構築しないので、「cron」などを使って自動的に再構築できるように設定してあげないといけません。しかし、、、、ジャンクワードの森はまだチカッパで運用しているためcronが使えないんですよね。。。

ただ、チカッパが終了してロリポップに統合されることが決まっていて、ロリポップならcronが使えることがわかっているので、矯正引越までは時間を見て手動で再構築するようにしています。

なんか、予想外に長いエントリーになってしまいましたが、MTユーザーで人気記事を出したいと思っているのであれば、AccessCounterは比較的使いやすいと思いますので、是非トライしてみてください。

Sponsored Links

同じカテゴリの最新記事

運営者情報など

運営サポート

35-45 WOMAN

35-45WOMAN(サンゴーヨンゴーウーマン)は、「カッコいいけど身近」な女性向けWEBマガジン。

デザインとかコーディングとか、WordPressの構築とか裏側の部分を一通りやらせていただいています。

ブログ更新のアイテムとかスキルとか