WordPress には、数多くの関連投稿表示をしてくれるプラグインが存在します。しかし日本語サイトで使用するには、不十分なものがほとんどでした。単語の間にスペースがない日本語サイトでは、英文の様な簡単な判別が不可能なので難しいです。しかし WordPress Related Post for Japanese は、日本語に特化しているので最高の働きをしてくれました。日本語サイトの場合、おそらくベストの関連投稿表示プラグインだと思います。
導入は非常に簡単ですが、このプラグインは Yahoo! JAPAN Web サービス(日本語形態素解析)を利用しているので、Yahoo! Japan からアプリケーション ID を取得する必要があります。
導入手順
先ずこちらから、アプリケーション ID を取得して下さい。
Yahoo!デベロッパーネットワーク
こちらからファイルをダウンロードします。
WordPress Plugins/JSeries » WordPress Related Post for Japanese (関連投稿表示プラグイン)
/wp-content/plugins/ に wp-jrelated ディレクトリをアップロードし、プラグインの管理からアクティブにします。
Yahoo!デベロッパーネットワークから得たアプリケーション ID を記述してから保存します。

Yahoo! のアプリケーションIDを記述
デフォルトの設定では、投稿記事内の最後に自動で表示するようになっています。何もしなくて良いので簡単です。

シングルページ表示例
任意の場所に表示したい場合は、以下の二ヶ所のチェックを外してから保存します。

チェックを外す
任意の場所に、以下の様に追加すれば良いと思います。
<?php $jrelateds = jrelated_get_array(get_the_ID()); ?>
<div id="related_post">
<h3 id="related_posth">関連記事</h3>
<ul>
<?php foreach($jrelateds as $post_id=>$jrelate) { ?>
<li>
<a href="<?php echo $jrelate['link']; ?>"><?php echo $jrelate['title']; ?></a>
</li>
<?php } ?>
</ul>
<div class="yahoologo">
<!-- Begin Yahoo! JAPAN Web Services Attribution Snippet -->
<a href="http://developer.yahoo.co.jp/about">
<img src="http://i.yimg.jp/images/yjdn/yjdn_attbtn1_125_17.gif" title="Webサービス by Yahoo! JAPAN" alt="Web Services by Yahoo! JAPAN" width="125" height="17" border="0" style="margin:15px 15px 15px 15px" /></a>
<!-- End Yahoo! JAPAN Web Services Attribution Snippet -->
</div>
</div>
関連出力記事数は、表示記事数の制御です。
ストップワード指定に除外したい単語を登録する事により、ある程度の制御が可能です。御自身の環境により、追加していくと良いと思います。
検索単語数で、その記事の特徴を示す単語の頻出制御ができます。関連記事があまり出ないようなら増やし、関係ないものが多い場合は減らすと良いかと思います。これは環境により色々と弄ってみると面白いです。
出力単語数は、これを表示する場合に出力する単語数です。

その他の設定
以下で出力単語を表示できます。
<?php echo $jrelate['text']; ?>
導入後
辞書が作成されるまで、関連記事は表示されません。アクセスがあると辞書を作成するので、記事数が少ない場合は自らアクセスして作成しても良いと思います。その後は投稿時に作成されます。
インデックス作成後、以下の「閲覧時」のチェックを外しても良いと思われます。

インデックス作成契機
作者様によると
尚、過去ログの関連がすべて取り終えている方は、ここのチェックをハズしておいた方がいいです。 処理的に 1 クエリー得します。
当サイトでの表示例
ポイントはログインユーザーの時だけ、出力単語をソースで確認できる様にしています。これでメンテナンスが楽になります。コメントアウトしているのでログインユーザー指定しなくても良いと思いますが、何となく見られると恥ずかしいので・・・。
<?php $jrelateds = jrelated_get_array(get_the_ID()); ?>
<div id="related_post">
<h3 id="related_posth">See Also</h3>
<ul>
<?php foreach($jrelateds as $post_id=>$jrelate) { ?>
<li>
<a href="<?php echo $jrelate['link']; ?>"><?php echo $jrelate['title']; ?></a>
<?php if (is_user_logged_in()) { ?><!-- <br /><?php echo $jrelate['text']; ?> --><?php } ?>
</li>
<?php } ?>
</ul>
</div>
当サイトでは Yahoo! ショッピングの広告が配信されているので、混同を避ける意味でクレジットを近くに表示したくないです。
Yahoo! デベロッパーネットワーク – クレジットの表示 によると、以下の様に書かれている。
クレジットをアプリケーション表示領域のそばに配置できない場合には、クレジットのまわりに15ピクセルの余白を設けてください。
と言う事で、以下をシングルページの下の方に表示しました。
<div class="yahoologo">
<!-- Begin Yahoo! JAPAN Web Services Attribution Snippet -->
<a href="http://developer.yahoo.co.jp/about">
<img src="http://i.yimg.jp/images/yjdn/yjdn_attbtn1_125_17.gif" title="Webサービス by Yahoo! JAPAN" alt="Web Services by Yahoo! JAPAN" width="125" height="17" border="0" style="margin:15px 15px 15px 15px" /></a>
<!-- End Yahoo! JAPAN Web Services Attribution Snippet -->
</div>
こんな感じにしています。

当サイトクレジット表示
最後に
作成された辞書のメンテナンスをしていけば、サイト独自に適したものになっていくと思われます。頻出単語を分析しながら、その後の投稿文も工夫してみると面白いです。



