サイトヘルス画面で「永続オブジェクトキャッシュを使用してくださいパフォーマンス」が表示されている
上記の画面の通りに、サイトヘルス画面で永続オブジェクトキャッシュを使用してくださいと表示されています。
サイトヘルス画面でをクリックすると、下記の通り詳細が表示されます。
詳細を読んでも、どのように解決すれば良いかが載っていません。
そこで、この問題についての解決方法を紹介します!
サイトヘルス画面について詳しく知りたい方は合わせてこちら↓も読んでみてください。
そもそも永続オブジェクトキャッシュとは…?
永続オブジェクトキャッシュとはどういう意味なのでしょうか?
永続オブジェクトキャッシュというのは、Webサーバーからデータベースへの移動時間を短縮することにより、ページの読み込み時間を短縮する手助けのことです。
たとえば、サイトのオプションデータは各ページビューで利用可能でなければなりません。
永続オブジェクトキャッシュがない場合、Web サーバーはページビューごとにデータベースからこれらのオプションを読み込む必要があります。このようなデータベースへの余分なアクセスは、Web サーバーの応答時間 (TTFB) を遅くし、トラフィック急増時にはデータベースサーバーをすぐに圧迫する可能性があります。
ちなみに、サイトヘルス画面に記載されているAPCuとは、PHPにより動的に生成されるページデータを指定時間キャッシュし、PHPページの表示を高速化する機能のことです。
難しい話かもしれないですが、簡単な話、読み込み時間が早くなりますよということです。
永続オブジェクトキャッシュ解決方法
では、今回のこの問題をどのように解決すればいいかをご紹介します。
WordPressの公式には下記のように記載されていますが、今回はW3 Total Cacheプラグインとを利用する方法を紹介します。
サイトで永続オブジェクトキャッシュを使用するには、ホスティングプロバイダーが特定のタイプのサーバー (キャッシュサーバー) を提供する必要があります。
人気のキャッシュサーバー は Redis と Memcached です。ホスティングプロバイダーに、永続オブジェクトキャッシュのインストールと設定を手伝ってくれるよう依頼すれば、次のような適切なプラグインをすすめてくれるはずです。
- Memcached Object Cache – WordPress のオブジェクトキャッシュのための永続的なバックエンドを提供します。memcached サーバと PECL memcached 拡張が必要です。
- Redis Object Cache – 様々な Redis クライアントで動作する、WordPress 用の一貫した Redis オブジェクトキャッシュバックエンドを提供します。Redis サーバーが必要です。
W3 Total Cacheのプラグイン追加と設定
WordPressのプラグイン画面からW3と検索すると下記の画面の通り、W3 Total Cacheプラグインが出てきますので、こちらをインストールし有効化します。
インストール後のW3 Total Cacheの設定画面への進み方ですがプラグイン画面でインストール済みのW3 Total Cacheを検索し、設定という項目から進んでください。
設定画面に移行後、初めてインストールした後は最初にセットアップが始まりますが、案内に従って進めてください!
セットアップ完了後、早速設定していきます!
パフォーマンス配下に一般設定という項目がありますので、そちらに移動します。
一般設定画面にオブジェクトキャッシュを設定する箇所があります。(下記、参照)
オブジェクトキャッシュの「有効化」にチェックを入れます。
オブジェクトキャッシュの方法については、「オペコード: Alternative PHP Cache (APC/APCu)」を選択します。
【全ての設定を保存】ボタンを押すと警告は消えます!
WP Super Cacheプラグインを利用して、永続オブジェクトキャッシュを解決する方法
WP Super Cacheプラグインを利用している場合は、このプラグインだけでは現状は解決できないので、Memcached Object Cacheのプラグインを利用する必要があります。
他にもRedis Object Cache、XCache、eAccceleratorなどのプラグインがありますが、今回は紹介を省きます。
また、WP Super Cacheプラグインの設定や詳細については、気になれば読んでみてください!
それでは、WordPressのプラグイン画面から「Redis Object Cache」を検索し、下記の画面に表示されているプラグインをインストールし、有効化します。
プラグイン画面からRedis Object Cacheの設定画面に移動します。
移動すると下記の画面が表示されますので、Enable Object Cacheを押下します。
そうすると、この設定が有効化されますので、無事に解決となります。
Redis Object Cacheを更新した際にエラーが発生してしまった場合の対処方法
上記のRedis Object Cacheのプラグインの設定を有効化する際に、「このサイトで重大なエラーが発生しました。」のメッセージが表示されている。
サイトはおろかログインができなくなってしまいます。焦らずとも解決できますので、安心してください!
実際に画面に表示されるエラーです
Fatal error: Uncaught Predis\Connection\ConnectionException: Connection refused [tcp://127.0.0.1:6379] …………………………………………………
wp-content/plugins/redis-cache/dependencies/predis/predis/src/Connection/AbstractConnection.php on line 131
このサイトで重大なエラーが発生しました。
解決方法
WordPressをインストールした自身のサーバの wp-content フォルダ配下にある object-cache.phpを削除する。
そもそも、下記の参考サイトにもあるようにRedis Object Cacheは上級者向けのプラグインみたいです。ファイル object-cache.phpを削除後、WordPressのエラーが消えたのを確認した後でこのRadius Object Cacheプラグインを削除した方がいいです。
https://wp-cocoon.com/community/blog-manages/「重大なエラー」による管理画面アクセス不能/
本記事のまとめ
今回は、永続オブジェクトキャッシュについての詳細とWordPressプラグインでの解決方法について、まとめました。
ポイントをまとめると、
・永続オブジェクトキャッシュはページの読み込み時間を短縮する手助けのこと。
・解決方法としてW3 Total CacheやRedis Object Cacheなどのプラグインを用いると解決できる(おすすめはW3 Total Cache)。
コメント