WordPressの管理画面のサイトヘルスステータスで、「永続オブジェクトキャッシュを使用してください」と表示されました。推奨項目であって、「パフォーマンスやユーザー体験の改良など、サイトにとっては有益と思われるものの、致命的な問題ほど高い優先順位ではない項目です。」ということなので、そのままでもよさそうですが、気になりましたので、ググッてプラグインをインストールして対処しましたのでメモしておきます。WordPress V6.1から永続オブジェクトキャッシュの使用が推奨となったようです。
[ 改定履歴 ]
2022.11.23
2次不具合が発生した為、インストールしていたプラグインを削除して、元の状態に戻しました。
(但し、サイトステータスは「永続オブジェクトキャッシュ」のメッセージは非表示としました)
2022.11.08
プラグイン(Redis Object Cache)をインストールして、解決しました。
現象
WordPress V6.1にバージョンアップして、サイトヘルスステータスに勧告が表示されていたので確認すると、「停止中のテーマを削除してください」と「永続オブジェクトキャッシュを使用してください」の2つのおすすめ改善項目となっていました。
前者は、バージョンアップするといつも表示されます(テーマはcocoonを使っています)ので、使っていないテーマを削除するだけですが、後者の方は初めて見る勧告です。
原因
エラーではないので、「原因」という表現は正しくありません。「改善」というのが正しい表現となりますが、永続オブジェクトキャッシュは、サイトのデータベースの効率を上げ、その結果、WordPress がサイトのコンテンツや設定を迅速に取得できるようになるため、読み込み時間を短縮できるということです。
そして、レンタルサーバーの会社へ、永続オブジェクトキャッシュのインストール等を依頼すればプラグインをすすめてくれるはずとの事です。
対処
記載されているRedis Object Cacheというプラグインをインストールします。
Redis Object Cacheのインストール
プラグインの選択
インストール
「今すぐインストール」をクリックして、「有効化」をクリックします。
設定
設定画面が表示されますので、「Enable Object Cache」をクリックします。
文字が反転して、「Disable Object Cache」となれば完了です。
結果
サイトヘルスのステータスが消えました。
その後(二次不具合発生)
現象
Redis Object Cacheのインストールして、サイトステータスは消えて「すばらしい」と表示されていたのですが、1日から2日位経って以降は、いつまで経っても「まだ情報がありません」と表示されたままの状態が直りません。
サイトヘルス画面にアクセスすると、常に「予約したイベントの実行に失敗しました」と表示されます。
どうもRedis Object Cacheのステータスが「Not connected」のまま変わらないことに原因があるようです。
原因
WordPressにプラグインとしてRedis Object Cacheをインストールしましたが、Redis Object CacheのStatusは「Not connected」のままとなっていると思います。これはWordPressをインストールしているサーバ(今回はXserver)でRedisが起動されていないことが原因です。つまり、XserverへRedisをインストールして起動することが必要なのです。
では、インストールすれば良いのですが、これがとても難しいことなのです。
通常、レンタルサーバーではユーザーにroot権限はありませんので、簡単にはインストールできません。ソースコードからインストールしてコンパイルするという方法をとらなければならず、とても知識のない者にはできません。
結果、インストールしたRedis Object Cacheは、削除することとしました。
対策
Redis Object Cacheのインストールして、「永続オブジェクトキャッシュ」の表示はなくなったものの、新たな現象が発生するのではあまり意味はありません。ならば、プラグインはインストールせずに、「永続オブジェクトキャッシュ」が表示されたままの方が良いように思います。
Cocoonのフォーラムで、「永続オブジェクトキャッシュ」に関する記事があがっていて、プラグインをインストールしても違うエラーが発生したという事例や、xserverに問い合わせをするも「サポート対象外」との回答だったという対策の事例が掲載されていました。
その中で、「永続オブジェクトキャッシュを使用してください」という表示自体を停止する方法が記載されていましたので、これを実施することとしました。
つまり、プラグインを削除すると、元の「永続オブジェクトキャッシュを使用してください」というメッセージ勧告が表示されますので、このメッセージ表示を止めるのです。
cocoonフォーラムで、表示を消す方法を公開して頂きましたAkiraさん、ありがとうございました。また、cocoonフォーラムの皆さん、わいひらさん、ありがとうございました。
add_filter( 'site_status_should_suggest_persistent_object_cache', '__return_false' );
Cocoonフォーラム
私は、以下のようにfunction.phpに追記しました。
//--------------------------------------------------
//オブジェクトキャッシュのチェックを無効にする。
//--------------------------------------------------
function disable_object_cache_check( $tests ) {
unset( $tests['direct']['persistent_object_cache'] );
return $tests;
}
add_filter( 'site_status_tests', 'disable_object_cache_check' );
//--------------------------------------------------
//ページキャッシュのチェックを無効にする。2022.12.27
//--------------------------------------------------
function disable_full_page_cache_check( $tests ) {
unset( $tests['async']['page_cache'] );
return $tests;
}
add_filter( 'site_status_tests', 'disable_full_page_cache_check' );
結果
メッセージは消えて、二次不具合も解消しました。
コメント
初めまして。個人自営業のサイトをWord Pressを用いて運営しているものです。
今回のWord Press 6.1のアップデートでは、Event Organizerとの相性が悪く四苦八苦しました。結論としては、元のバージョンにダウングレードする事で解決しました。
今後もし Event Organizer が修正され6.1にも対応できるようになった場合には、改めてWord Pressも最新バージョンにしようと思っております。
当時、直し方を調べる過程で私も Redis Object Cache をインストールし、永続オブジェクトキャッシュのエラーを解決しましたが・・・、ここで質問です。
Redis Object Cacheのインストール後、管理画面での動きがそこそこ重く感じたのですが、この現象は私の環境固有の物なのでしょうか。他の方も仕様でこうなるものでしょうか。
いずれ Word Press を最新バージョンにした際、Redis Object Cache を再インストールして永続オブジェクトキャッシュのエラー表示を消す予定なのですが、もしも管理画面が重かったのがプラグインの影響であれば、見送ろうか迷っております。
プログ記事をご覧頂き、ありがとうございます。Redis Object Cacheをインストール後の管理画面の動きですが、重く感じることは特にありませんでした。また、サイト自体の動きもPageSpeedInsightで計測しても、遅かったり重かったりはありませんでした。