関連記事を表示する。Similar Posts プラグイン -WordPress-

いままでは、「パンくずリスト」にてサイト内の関連記事を案内させてもらっていた。「パンくずリスト」は大切(これも最近になって、やっと設置したのだが)。だが、これだけで関連記事を案内するには力不足だと思った。関連記事を簡単に表示できないか調べたら、ぴったりのプラグインを見つけた。これの導入方法をまとめた。

プラグインの出力フォーマットの調整については「Similar Postsから出力される関連記事にサムネイル画像を表示させる。」を参照していただきたい。

Similar Posts

見つけたプラグインは「Similar Posts」。このプラグインを使うとかんたんに関連記事を表示できる。このサイトの「おすすめ記事」にも使っている。

このプラグインの特徴は表示速度が速いことだ。前もって関連記事データベースを作成しているため、記事呼び出し時に負担が生じない。プラグイン導入時にはデータベースを手動で更新できる。またそれ以降は記事の作成・更新時に、データベースを書き換えるので、メンテナンスが不要なのも助かる。

このSimilar Postsが動くには「Post-Plugin Library」プラグインが必要になる。そのため、これら2つのプラグインをインストールする必要がある。

参考サイト

インストール

  1. Post-Plugin Library
  2. Similar Posts

この順でインストールする。

Post-Plugin Library インストール

 「プラグイン」ー「新規追加」から「プラグインのインストール」画面へ。検索窓へ「Post-Plugin Library」と入力すれば、リストのトップにプラグインが表示される。

「いますぐインストール」をクリック。

「プラグインを有効化」をクリック。

Post-Plugin Libraryの設定項目はないため、インストール・有効化の完了で、インストール終了だ。
引き続き、 Similar Postsのインストール作業をおこなう。

Similar Posts インストール

 「プラグイン」ー「新規追加」から「プラグインのインストール」画面へ。検索窓へ「Similar Posts」と入力すれば、リストのトップにプラグインが表示される。

「いますぐインストール」をクリック。

「プラグインを有効化」をクリック。

ここからプラグインの設定を行う。英語で書かれているから戸惑うし 、設定項目も多い、一つずつ設定すればそれほど難しくないので、がんばって設定した。

Similar Posts 設定

「設定」ー「Similar Posts」をクリックし、設定画面に入る。

 

General タブ

設定のポイントを上の図に示した。ここで設定する項目は以下の通り。

Number of posts to show (記事の表示数):
 >「3から5」がおすすめ。あとは好みに合わせて設定する。

Omit the current post?(表示しているその記事を検索結果に含めるか?):
 > 含めない場合が「Yes」。含めるなら「No」。「Yes」の設定がおすすめ。

以下の3つは「No」に設定する。

  • Match the current post’s category? (同一カテゴリーのみを検索する)
  • Match the current post’s tags? (同一タグのみを検索する)
  • Match the current post’s author?  (同一作者のみを検索する)

「No」に設定しないと、同一カテゴリ・タグのみから関連記事を検索する。タグやカテゴリを越えた横断検索ができなくなるので、このプラグインの良いところを活かせない場合が多いから注意が必要だ。

設定後、”Save General Settings”をクリックして保存する。

 

Output タグ

ここは関連記事の検索結果をどのような形式で、サイトに表示するかを設定する。プラグインの動作が確認できるまでは初期設定のままが良い。プラグインが動かないときに、検索機能設定が間違っているのか?表示設定(Output タグ)が間違っているのか?問題を切り離しにくくなる。ここが初期設定のままならば、検索設定の間違いとわかる。設定の見直しが楽だ。

このOutput タグの詳しい設定は、こちらの記事にまとめた。参照してもらいたい。

 

Filter Settings タグ

ここでは、各カテゴリーごとを検索に含むか含まないか、作者ごとに含むか含まないか、を細かく設定できる。自分はすべての記事を検索に含めたかったので、”Filter Settings”はなにも変更しなかった(初期設定のまま)。

 

Placement Settings タグ

  • Output after post (記事の後ろに関連記事を出力するか?)
  • Output in RSS feeds (RSSに関連記事を出力するか?)
当サイトは、両方「Yes」にし、記事へもRSSへも出力する設定にした。「Parameters」の項目で”見出しを”変更できる”。初期設定では「Similar Posts:」になっている所を自由に変更できる。日本語も大丈夫だ。下のように設定を変えて、”おすすめ記事:”に変更した。

 Output in content:(記事 本文中の出力を利用するか?)
“Activate”を”Yes”にすると記事 本文中の好きな(任意な)ところに下のタグを書くことで出力可能になる。

出力指示タグ:<!–SimilarPosts–>

いまのところ、使わないので”No”にした。

設定後、”Save Placement Settings”をクリックして保存する。

Other Settings タグ

 

 上の図の通りに設定した。ほかの項目は初期設定のままにした。

Relative importance of: (関連性の重み付け設定)

3つの合計を100%に設定する。“content:”(記事の内容)・”title:”(記事のタイトル)・”tags:”(記事のタグ)の割合を変化させることで、検索結果をコントロールできる。当サイトは下の通り、50/25/25%の設定にした。しばらく様子をみて再設定する予定。

Maximum number of words to use for match:
(関連性を決定するために、記事から抽出する単語数。)

初期設定は20。これも検索結果をコントロールできる。初期設定のままにした。しばらく様子をみて再設定する予定。

Extract terms to match by:(関連性決定の単語抽出方法 選択)

検索に使う単語の抽出方法を決めるオプション。単語抽出アルゴリズムを変更できる。

  • “Word Frequency”(記事内に使われている単語頻度)
  • ”TextRank Algorithm”(文章の位置づけアルゴリズム)

上の2つから選べる。これも検索結果が変わる設定。初期設定の“Word Frequency”のままにした。しばらく様子をみて再設定する予定。

下の3つは初期設定のままで使った。

  • Look for manual links in custom field?
  • Add Similar Posts to feeds?
  • Other plugins’ tags to remove from snippet:
設定後、”Save Other Settings”をクリックして保存する。

Similar Posts

ここでは日本語を扱うためのオプションを設定する。日本語記事を扱うためには、正しく設定を行う必要がある。

Handle extended characters?(拡張文字を取り扱うか?)
日本語を使用するために”Yes”を選択する。

Treat as Chinese, Korean, or Japanese?(中国語、韓国語または日本語を使うか?)
日本語を使用するために”Yes”を選択する。

 

Treat Related Word Variations:
単語抽出の方法を設定するオプション。抽出方法を”Strictly (厳密)”、”By Stem (そのまま)”、”Fuzzily (あいまいに)”から選択する。関連記事の検索結果が予想と異なるときは、変更すれば検索結果が変わり、予想通りに調節可能かもしれないオプション。今は初期設定の”Strictly”のままにした。

 

Batch size
バッチ処理される記事数の設定。サーバーに負荷をかけるので大きな値を設定しない方がいい。どのくらいが最適なのかわからないので、初期設定の”100″にした。

 

設定後、”Recreate Index”をクリックして保存する。すると、今までの記事から関連データベースが作成される。はじめてプラグインを使う時はこの作業を終わらないと、データベースがないから、関連記事が表示されないから気をつける。

上の図のように、ここでは1223項目を検索してデータベースに登録したメッセージが表示される。
これで投稿した記事の下に、関連記事リストが表示される。ここまでの設定だと以下のような表示になる。
このリストのカスタマイズ方法については別記事にまとめた。参照してもらいたい。

 

プラグインのすばらしいところ:

  • 記事表示が遅くならない。
  • メンテナンスが容易。
  • 記事作成の時に関連性を指定しなくてよい。

はじめでもすこし書いたが、このプラグインは前もってデータベースを作る点が特徴だ。自動で記事からキーワードを検索し関連性を抽出したデーターベースを持っている。記事を呼び出したときには、データベースから抽出済みのデータを呼び出すだけなので、プラグインの負担が少なく、動作が軽い。これはサイトのアクセシビリティに重要な表示速度が遅くならないので大きな意味がある。

記事作成時に関連性をコントロールする作業を行う必要も無く、記事内容の検討だけでよい点は、記事を書く時に手間が増えずに助かる。良いことずくめのプラグインだ。初期設定が英語なのでちょっと大変だが、一度設定すれば後の設定はそれほど必要でない。設定項目が多いので検索された関連記事の結果がふさわしいかは時々確認しないと行けないが、必要なメンテナンスはそれぐらいだ。

サイト内の記事紹介が大きく良くなり、いろいろな記事を多くの人に見てもらえるプラグイン。ぜひ活用してほしい。

補足:検索・関連マッチング アルゴリズム

参考サイト:

 

記事からの単語抽出はN-gram法を使っている。詳しくは下に説明したが、この方式のため関連性の抽出設定の項目をプラグインが多く用意している。設定次第で関連する記事の出力結果が変わるので、いろいろと調整するのがよいと思う。

N-gram法は、ただ単純に一定の文字数で機械に切り出した語を検索キーワードとして扱う。”N”-gramのNが示す通り、抽出文字の単位は複数つかう。検索エンジンスクリプトが理解できる文字エンコードならどの言語でも使える手法だ。単純に文字を切り出すだけだからだ。デメリットもある単に文字数だけで抽出しているので、「意味」は解釈しない。東京都のある文章が「京都」でヒットしてしまうのがその例だ。

参考までにもう一つの検索エンジン方式も書き留める(個人的な趣味で申し訳ない)。

それは形態素解析だ。この手法は辞書や文法に基づいて分ける方式。Google, Yahoo!, MSN等、の検索エンジンは形態素解析をさらにおのおの改良して精度を上げたものを使っている。また、日本には「Chasen」・「Mecab」という素晴らしいフリーの形態素解析ライブラリが公開されている。このため形態素解析が広く使われている。その成果の一つが全文検索システム Namazuだろう。すばらしい全文検索システムだ。

講座 開催予定

この記事を書いた人