Yet Another Related Posts Plugin(YARPP)で関連スコア設定が選択できない時の直し方

このブログのそれぞれのページの本文下には、関連した内容のページを表示する欄がある。
関連するページの一覧
これはWordPressのプラグイン・Yet Another Related Posts Plugin(以下YARPP)というものを使用して表示させている。
YARPPはもう4年近く使用しており、過去に何度かこのブログで書いたこともあります。

  1. 関連記事を表示させるプラグインYet Another Related Posts Plugin (YARPP)とWordPress Related Postsの比較
  2. Yet Another Related Posts Plugin (YARPP)で自動挿入されるコードを削除する方法

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です。
wp_postsテーブルのストレージエンジン

YARPPの設定画面で「Create fulltext indexes」のボタンを押す

ストレージエンジンの変更が完了したら、YARPP設定画面に戻り、警告文を展開した中にある「Create fulltext indexes」のボタンを押す。
「Create fulltext indexes」ボタン

すると「MyISAM専用機能を強制的に有効にしました。「タイトルを検討」と「内容を検討」機能が使えるようになりました。」と表示され、
MyISAM専用機能を有効

「タイトル」と「内容」のプルダウンメニューから「検討する(重要視)」と「検討する」が選択できるようになる。
タイトルと内容を検討する

MyISAMに変更して問題ないか?

このページで解説したようにデータベースのストレージエンジンをMyISAMに変更すると、変更前まで表示されなかった関連ページが一気に表示されるようになりました。

そして、このページを書いている時点ですでに半年近く経ちますが、WordPressを使用する上で特に問題は起きていません。