先日Movable Type 4.2のバグで、カスタムフィールドの情報をロストしてしまった。そのせいで、エントリーの最後に表示される「関連エントリー」や「関連サイト」が消えてしまったのだ。再入力するにも多大な時間と労力を要するため、そのまま放置していたが、SEO対策も含め、なんとか関連エントリーだけでも復旧させようと、前々から手を出そうとしていたプラグインを使い自動的に表示させることにした。
Related Entries
それにしても、この手のプラグインは需要が多いのだろうか。ザクザク検索に引っかかる。これでは導入プラグインを決めるまでに時間がかかりすぎる!と思い、プラグインの大御所、H.Fujimotoさんのサイトにアクセスして探してみる。すると、あるではないか!自分にドンピシャなプラグインが!
今回導入したプラグインは「RelatedEntries」という、細かいところまで設定できる、かなり気の利いたプラグイン。自動的にエントリー間にリンクを張ってくれるのではなく、一つ一つ設定しなければならないが、完成度が高いUIを搭載しているので、サクサクと設定作業が進むので、それほど面倒な作業ではない。また、プログラム任せの作業ではないので、自分の思惑にあったリンクを張ることができるので、マニュアル派の人なら「RelatedEntries」は絶対にお勧めだ!
- The blog of H.Fujimoto
- http://www.h-fj.com/blog/
- Related Entries
- http://www.h-fj.com/blog/archives/2007/08/03-092701.php
設置
H.Fujimotoさんのサイトの「エントリーの関連づけを行うプラグイン(MT4専用版・その1)」にアクセスして、プラグインをダウンロードしよう。zip形式のファイルを解凍したら「RelatedEntries」というフォルダができるので、Movable Type インストールディレクトリの「plugins」にフォルダごとアップロードする。
設定
Movable Typeのブログ管理画面に移動し、メニューの「ツール」から「プラグイン」に移動する。するとプラグイン一覧の中に「Related Entries 1.20」という項目が追加されているので、項目をクリックして展開して出てきた「設定」をクリックする。
「関連付けるブログの初期値」には、後ほど説明する「関連付けの画面」に表示するエントリーは、どのブログのエントリーを表示させるか。を選択できる。要は他のブログからエントリーを引っ張ってきてくるかの設定なので、同一ブログのエントリー間でしかリンクさせない人は、普段エントリーを書いているブログ名を選択しておこう。
次の項目の「エントリー一覧の1ページあたり表示件数」は、「関連付けの画面」に表示するエントリーを何件まで表示させるかの設定だ。これは後ほど「関連付け画面」が使いにくい場合は変更すればいい。
設定が完了したら、変更を保存を押す。

テンプレートの修正
関連づけを行う前に、テンプレートを修正して表示の仕方を設定する。このプラグインはエントリーページに関連エントリーのリンクを設置するのが目的なので、ブログ記事に設定しなければならない。Movable Type 4.2のテンプレートの場合は、ブログ記事のテンプレートに各モジュールを組み込んでページを表示させる仕組み。その中で一番適当なモジュールは恐らく「ブログ記事の詳細」だろう。早速編集して設置してみよう。
<div id="entry-<$mt:EntryID$>" class="entry-asset asset hentry"> <div class="asset-header"> <h1 id="page-title" class="asset-name entry-title"><$mt:EntryTitle$></h1> <$mt:Include module="ブログ記事のメタデータ"$> </div> <div class="asset-content entry-content"><mt:If tag="EntryBody"> <div class="asset-body"> <$mt:EntryBody$> </div></mt:If><mt:If tag="EntryMore" convert_breaks="0"> <div id="more" class="asset-more"> <$mt:EntryMore$> </div></mt:If><mt:EntryCustomFields> <$mt:CustomFieldValue$></mt:EntryCustomFields> </div> <div class="asset-footer"> <$mt:Include module="カテゴリ"$> <$mt:Include module="タグ"$>
<!-- タグの追加 --> <MTEntryIfRelatedEntries> <div class="related-entries"> <h4 class="related-entries-header">関連エントリー<span class="delimiter">:</span></h4> <ul class="related-entries-list"> <MTEntryRelatedEntries> <li class="related-entry"><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li> </MTEntryRelatedEntries> </ul> </div> </MTEntryIfRelatedEntries> <!-- タグの追加、ここまで --> </div></div>
<MTEntryIfRelatedEntries>から</MTEntryIfRelatedEntries>の間は、関連エントリーが設定されていたときのみ表示させるタグ。
<MTEntryRelatedEntries>から</MTEntryRelatedEntries>の間に、関連エントリーのリンクが表示される仕組み。今回はシンプルに、リンク付きタイトルのみが表示されるようにしたが、日付タグを書いたりと、通常のMTタグを使ってカスタマイズができる。
エントリーの関連付け

タグの設置が完了したら、いよいよエントリー間のリンクをセットする作業に入る。まずは関連付けたいブログ記事の編集画面に移動する。その後、少々わかりづらいところにあるが、ページ下部の「保存」「確認」「削除」の右に、プルダウンで「アクション…」と表示されている部分があり、そこを「エントリーの関連付け」に設定して、右の「Go」ボタンをクリックしよう。
すると、ようやく設定画面らしい画面が現れる。ここでは、エントリーの一覧が表示され、それぞれ横にある「なし」「リンク」「被リンク」「両方向」のチェックボックスをチェックすることにより、各エントリーとの関連付けを行うことができる。(通常はなしにチェックが入っている)
「リンク」の場合は、ただ単に一方通行にチェックしたエントリーのリンクを張る。「被リンク」はその逆で、「両方向」はお互いにリンクを張ることができ、手間を省いてくれる。

インポート、エクスポート
「Related Entries」には、関連付け情報のインポート、エクスポート機能がある。これはブログを引っ越しする際や、各ページのファイル名を変更(お勧めはできないが!)した際に真価を発揮する。
Movable Typeの管理画面のメニュー「ツール」の「プラグイン」から、「Related Entries 1.20」をクリックし、「設定」をクリックしてみよう。一番始めに表示した設定項目が現れるが、今度は「関連付け情報をエクスポートする」のテキストリンクをクリックだ。
次に開く画面で、今まで関連付けた情報が数字で表示されるはず。よくよく観ると、記事の作成日でひも付けされている。なるほど、これならばIDが変更になったり、ファイル名が変わっても関連づけが崩れることがない。よく考えられているプラグインだ。
このテキストをコピーして保存しておけば、万が一の時にでも安心だろう。関連づけを復活させたい場合は、「設定」のインポートをクリックして、表示されるテキストボックスにペーストしてやるだけでいい。とてもシンプルで簡単だ。
自分で何でも制御したい人にお勧めです
このプラグインの長所は、冒頭で述べたとおり自動的にリンクさせるのではなく、意図したリンクが簡単に張れるという点だ。多少の手間はかかるが、完成されたUIによりいちいちソースコードを書くことなく、マウス操作だけで設定できるのは工数の削減だけではなく、後々の管理を容易にしてくれる。(ただし、テンプレートの追記は事前に必要だが)
その他、関連づけを行った後に自動的に該当する記事を再生成してくれたり、記事一覧画面からも関連付けを行えるなど、細かな配慮が施されている点が素晴らしい。
上記の点で、総合的にバランスの良い機能構成で、テンプレートの修正も比較的簡単でわかりやすいため、万人にお勧めできるプラグインだ。関連記事リンクの設置、もしくは生成の方法を再検討している人は、1度検討してみてはいかがだろうか。
