Amazon などで『この商品を買った人はこんな商品も買っています』という案内をご覧になったことがあると思います。ユーザの購買動向を分析することで関連商品を推薦(リコメンド)してくれる機能で、その絶妙なチョイス(?)に釣られて他の商品ページに寄り道してしまう方も多いのではないでしょうか?
そこで、ブログなどでもこれを真似て『この記事を読んだ人はこんな記事も読んでいます』なんてナビゲーションが作れると面白いかもしれません。RecommendedEntry は、過去の訪問者が辿った記事の傾向を集計して,簡易的な記事リコメンデーション機能を実現するためのMovableTypeプラグインです。
|
RecommendedEntry
ファイルのMD5ハッシュ値: 15936af0022a8c1e3135ceb93eefe985 ver.1.00, '07/02/12, 2508 bytes, MovableType 3.33 で動作確認、PHP 必須
|
最新版のダウンロードやバグレポートはRecommendedEntry の trac レポジトリでも行っています。
ビジタの動向データの集積と集計に PHP を使用しています。 ご利用のサーバで PHP が使用でき、 かつ RecommendedEntry をご利用の予定のブログの個別記事ページで PHP が動作する必要があります。
RecommendedEntry プラグインは、個別記事ページにユーザ追跡のためのコード片を埋め込みます。
ユーザが個別記事ページを閲覧する度に、ユーザがどのような順番でページを渡り歩いたのかを集積し、
このデータを集計することで記事間のユーザの移動状況を求めることができます。
ユーザ追跡にはブラウザの Cookie を使用していますが、
あくまで任意のユーザの記事間の移動を追跡することが重要であって、
ユーザを個々に限定・追跡することが目的でがありません。
また、記事リコメンデーションの精度についてですが、
ユーザ嗜好や記事内容の関連性のクラスタリングと云ったリコメンデーションで多用される技術は全く使われていません。
個々のユーザが現在閲覧している記事を基点としたユーザの移動をデータとして集計し、
多いものから順に表示するだけの非常に好い加減かつお遊び的なものであることを了承ください。
少し手順が複雑ですが、気合で(ぇー
ダウンロードしたアーカイブを展開します。 MTRecommendedEntry.pl というファイルが一つだけ現れるので、 MovableType のインストールフォルダにある plugins にコピーしてください。 その後、MovableType の管理画面から[プラグイン]と移り、 RecommendeEntry プラグインが表示されていることを確認します。
RecommendeEntry プラグインはエントリの一覧を記述した PHP ファイルを要求します。
以下の内容でインデックステンプレートを新規作成してください。
インデックステンプレートの名前とファイルの出力先はどこでも構いませんが、どちらか一方を控えておいてください。
このインデックステンプレートは、後述の $MTRecommendedEntryParam$ タグで必要とするパラメータに応じて編集してください。
下の挙げた例では記事タイトル(title)と記事のパーマリンク URL (permalink)が記述されています。
記事 ID (eid) の項は RecommendeEntry プラグインが使用するため変更しないでください。
次に、RecommendeEntry プラグインが集計したユーザ動向のデータファイルを保存するためのディレクトリを作成してください。 データファイルには個人情報が含まれるわけではありませんが、気になる人はドキュメントルート以外に作成されることをオススメします。 作成したディレクトリの絶対パスを控えておいてください。
RecommendeEntry プラグインを用いて、ユーザ動向の集計と記事リコメンデーションを行うために、 個別アーカイブテンプレートを修正します。 最も小さな個別アーカイブテンプレートは次のようになります。
<$MTUseRecommendedEntry$> タグには、
先ほど準備したエントリ一覧用インデックステンプレートの名前と
データフォルダのディレクトリパスを指定する必要があります。
また <$MTUseRecommendedEntry$> タグはあらゆる文字出力が行われる前に記述されるよう、
必ずファイルの先頭に置いてください。
$MTUseRecommendedEntry$ タグtemplate [必須*]indexが必須です。
両方の指定がある場合、indexによる指定が優先されます。index [必須*]templateが必須です。
両方の指定がある場合、templateによる指定を上書きします。datapath [必須]cookie_expirecookie_namemtrcmnd_eid です。
既存の Cookie と名前が衝突する場合には変更してください。MTRecommendedEntries コンテナタグmodeoffsetoffset 位を表示しません。デフォルト値は 0 です。
countoffset で指定された順位から count 件だけ表示します。デフォルト値は 10 です。$MTRecommendedEntryParam$ タグMTRecommendedEntries コンテナタグの中で使用します。
name [必須]name で指定されたパラメータを表示します。
MovableType のテンプレートタグのようですが、実際には小さな PHP コード片を生成します。
そのため、テンプレートタグで有効なグローバルフィルタなどは使用できません。
name に指定できるパラメータには、エントリ一覧用インデックステンプレートで記述されたパラメータに加えて、
流入数または流出数を示す count が常に使用できます。name パラメータには title と permalink を指定することができます。
例えばあなたが記事の作成された日付と投稿者名も表示したいと思うならば、
エントリ一覧用インデックステンプレートを以下のように修正し(一部抜粋)、
name="date"やname="author"とすることで実現できるでしょう。
RecommendedEntry プラグインが利用するユーザ動向が集積されたデータファイルについて説明します。
MTUseRecommendedEntry タグの datapath
パラメータによって指定されたディレクトリ以下に、
<記事 IDα>.txt というファイル名で記事毎にテキスト形式のデータファイルが生成されます。
<記事IDα> の記事には <記事IDβ> から <流入カウントβ> の訪問があり、
<記事IDα> の記事からは <記事IDβ> に <流出カウントβ> だけユーザが移動したことを示します。
初めてサイトを訪問するユーザや、Cookie の有効期限が切れたユーザが <記事IDα> を訪問した場合、
同じ <記事IDα> の <流入カウントα> として記録されます。
寄せられたコメント (全 6 件中、最新 5 件まで表示しています)
記事を読んでいただいて、ありがとうございました。
ぴろりさんに記事を読んでいただけるとは、かなり嬉しいです!
このほかにもプラグインをいくつか導入予定なので、これからも
よろしくおねがいします。ありがとうございました!
こんにちは。
記事拝読させていただきました。画像付きで詳細な手順を解説されていて,非常に読みやすく,理解もしやすかったです。
プラグインの導入の際には皆様に是非読んで頂きたいですね。
ありがとうございました!
始めまして、WEBデザインストックを運営している、buntaと申します。
今回RecommendedEntryプラグインについてブログを書かせていただき、
勝手ながらトラックバックさせていただきました。
RecommendedEntryプラグインのような機能のプラグインを毎晩暇があったら
検索で探していました、発見したときは本当に嬉しかったです。
しかし導入が難しそうなのとバージョンが3.33で動作とありましたので
4.1では、動作しないかも、と思い導入しないでいました。
あきらめきれず、思い切って導入をしてみると意外と簡単でMovableType 4.1
でもスムーズに導入することができました。
すばらしいプラグインを制作していただきありがとうございます。
勝手ながらOpen MagicVox.netさんのサイトを当ブログにリンクさせて
いただきました。これからもよろしくおねがいいたします。
無事に設置することができました!ありがとうございます!
こんにちは。
データファイルの保存先に指定したディレクトリ(datapath)にCGI/PHPのための書き込み権限を与えて試してみて頂けますか?
それが原因で1行目で警告されていて,その警告が原因で(?)2行目の警告が発生しているようです。