Yet Another Related Posts Plugin(YARPP)で関連スコア設定が選択できない時の直し方
- 公開日 : 2016年2月11日
- カテゴリ : WordPress
このブログのそれぞれのページの本文下には、関連した内容のページを表示する欄がある。
これはWordPressのプラグイン・Yet Another Related Posts Plugin(以下YARPP)というものを使用して表示させている。
YARPPはもう4年近く使用しており、過去に何度かこのブログで書いたこともあります。
- 関連記事を表示させるプラグインYet Another Related Posts Plugin (YARPP)とWordPress Related Postsの比較
- Yet Another Related Posts Plugin (YARPP)で自動挿入されるコードを削除する方法
YARPPの設定の中の「関連スコア設定」が選択できない場合がある
さて今回問題にするのは、このYARPPの設定の中の「関連スコア設定」の中の「タイトル」と「内容」のプルダウンメニューが選択できないことである。
「検討する(重要視)」と「検討する」の文字がグレーアウトしていて選択できない。
この選択肢を変更しないと、明らかに関連した内容のページがサイト内に存在するのに、最初にお見せした画像の「関連ページ表示欄」に出てこない場合がある。
よく見ると確かにYARPP設定ページの上のほうには以下のようなメッセージが出ており、
「Show Details [+]」をクリックすると、以下のような詳細な警告文が表れる。
この件についていろいろ調べてみると、どうもデータベースのストレージエンジンの種類には「MyISAM」と「InnoDB」という有名な2種類があり、それが「InnoDB」になっていることが原因らしい。
参考ページ:MyISAMとInnoDB [ThinkIT]
私はさくらインターネットのサーバーを使用していますが、今までストレージエンジンについて操作することなくWordPressを使用しているので、おそらくデフォルトでは「InnoDB」になるのではないでしょうか。
しかし「MyISAM」のほうが「シンプルで高速に動作する」とさくらインターネット公式ページにも書いてある。
参考ページ:MySQL | 機能・オプション紹介 | さくらインターネット
ここに書かれてある「フルテキスト検索に対応」がYARPPの関連ページ検索機能に関わるのかな。
データベースのストレージエンジンを変更する方法
では、これを機にデータベースのストレージエンジンを「MyISAM」に変更してみます。
変更してみて動作に問題があるようなら戻せばいいだけである。
変更する前にデータベースのバックアップも取っておくと安心でしょう。
ちなみに、「MyISAM」に変更するのはデータベース内の「wp_posts」テーブルだけで良いようである。(上記警告文を参照)
まず、データベース管理画面にログインしてテーブル一覧を見てみると、確かに「wp_posts」テーブルは「InnoDB」になっている。
先にデータベースのバックアップを取っておく場合は、テーブル一覧表の上にある「エクスポート」をクリックしてsqlファイルをダウンロード保存してください。
変更する場合は、テーブルの内容を「表示」させるアイコンを押します。
「テーブルオプション」の欄に「ストレージエンジン」の選択肢があるのでこれを「MyISAM」に変更し、「実行する」のボタンを押す。
先ほどのテーブル一覧画面に戻り、「wp_posts」のところが「MyISAM」に変更されていればOKです。
YARPPの設定画面で「Create fulltext indexes」のボタンを押す
ストレージエンジンの変更が完了したら、YARPP設定画面に戻り、警告文を展開した中にある「Create fulltext indexes」のボタンを押す。
すると「MyISAM専用機能を強制的に有効にしました。「タイトルを検討」と「内容を検討」機能が使えるようになりました。」と表示され、
「タイトル」と「内容」のプルダウンメニューから「検討する(重要視)」と「検討する」が選択できるようになる。
MyISAMに変更して問題ないか?
このページで解説したようにデータベースのストレージエンジンをMyISAMに変更すると、変更前まで表示されなかった関連ページが一気に表示されるようになりました。
そして、このページを書いている時点ですでに半年近く経ちますが、WordPressを使用する上で特に問題は起きていません。