【サイトヘルス】永続オブジェクトキャッシュを使用してくださいの対応について

永続オブジェクトキャッシュについて WordPress

「永続オブジェクトキャッシュを使用してください」ってサイトヘルスに表示されますが、どうしたらいいですか?

WordPress6.1に更新してから、サイトヘルスに「永続オブジェクトキャッシュを使用してください」と表示されるようになりました。

このページでは「永続オブジェクトキャッシュ」について、今の私の知識で分かることや調べたことをまとめています。

結論は永続オブジェクトキャッシュとは、サイトの表示スピードをあげるためにレンタルサーバーで保存するキャッシュで、対応としてはプラグインをいれるか放置するのが現状です。

新規に記事を書いた時はエックスサーバー、更新時にはロリポップ!を利用しています。また、WordPressテーマはCocoonです。何かの参考になれば幸いなので、最後までお付き合いくださいね。

「永続オブジェクトキャッシュ」ってなに?

サイトヘルスの説明


WordPress6.1に更新してからサイトヘルスで「永続オブジェクトキャッシュを使用してください」と表示されるようになりました。

サイトヘルスには永続オブジェクトキャッシュについて以下のように書かれています。

永続オブジェクトキャッシュは、サイトのデータベースの効率を上げます。その結果、WordPress がサイトのコンテンツや設定を迅速に取得できるようになるため、読み込み時間を短縮できます。

ホスティングサービスに問い合わせれば、サイトで永続オブジェクトキャッシュを有効化できるかどうかがわかります。 お使いのホスティングサービスでは、次のオブジェクトキャッシュサービスをサポートしているようです: APCu。

サイトヘルス

WordPressサポートページ(https://ja.wordpress.org/support/article/optimization/#persistent-object-cache)には、永続オブジェクトキャッシュの仕組みについて説明が載っています。

永続オブジェクトキャッシュは、Web サーバーからデータベースへの移動時間を短縮することでページの読み込み時間を短縮する手助けをします。たとえば、サイトのオプションデータは各ページビューで利用可能でなければなりません。永続オブジェクトキャッシュがない場合、Web サーバーはページビューごとにデータベースからこれらのオプションを読み込む必要があります。このようなデータベースへの余分なアクセスは、Web サーバーの応答時間 (TTFB) を遅くし、トラフィック急増時にはデータベースサーバーをすぐに圧迫する可能性があります。

サイトで永続オブジェクトキャッシュを使用するには、ホスティングプロバイダーが特定のタイプのサーバー (キャッシュサーバー) を提供する必要があります。人気のキャッシュサーバー は Redis と Memcached です。ホスティングプロバイダーに、永続オブジェクトキャッシュのインストールと設定を手伝ってくれるよう依頼すれば、次のような適切なプラグインをすすめてくれるはずです。

  • Memcached Object Cache – WordPress のオブジェクトキャッシュのための永続的なバックエンドを提供します。memcached サーバと PECL memcached 拡張が必要です。
  • Redis Object Cache – 様々な Redis クライアントで動作する、WordPress 用の一貫した Redis オブジェクトキャッシュバックエンドを提供します。Redis サーバーが必要です。
WordPressサポート、永続オブジェクトキャッシュより

これらから分かることは、

「永続オブジェクトキャッシュ」というのは、ウェブサイトの効率を上げるための仕組みの一つです。具体的には、ウェブサイトにアクセスするたびに、サイトのデータベースから必要な情報を取得するのではなく、一度取得した情報を一時的に保存しておくことで、読み込み速度を上げることができます。

WordPressでは、この「永続オブジェクトキャッシュ」を使いウェブサイトの読み込み時間を短縮することができます。

ただし、永続オブジェクトキャッシュはを利用するにはホスティングサービス(レンタルサーバー)次第です。レンタルサーバーがキャッシュサーバーを提供していれば、プラグインを利用することでサイト表示のスピードがあがります。

人気のキャッシュサーバーは「Redis」「Memcached」があり、エックスサーバーならば「APCu」が使えます。エックスサーバーの「APCu」(https://www.xserver.ne.jp/manual/man_server_php_apc.php)の解説ページより。

ちなみに、キャッシュとクッキーの違いは保存するデータの違いです。クッキーは主にユーザーの情報で、キャッシュはWebページです。

ユーザーの反応や対応

Cocoonのサポートページである「[解決済] 永続オブジェクトキャッシュを使用してください。とは?」フォーラムを見ると、質問者さんは様子見を選びました。

Cocoonの作成者わいひらさんのコメントだけをみても、違いが分からないのならば何か対応をしてもしなくても同じに感じます。

わいひらさんのコメントその1「永続オブジェクトキャッシュは初めて聞いた」
わいひらさんのコメントその2「永続というのが怖い」
わいひらさんのコメントその3「おいそれとお勧めができない」

どうしてもサイトヘルスの表示を消したい場合

WordPressサポート側を読むとキャッシュサーバーを入れた上でプラグインをインストールすることを推奨していますが、実際はプラグインのインストールだけでサイトヘルスの勧告表示が消えたとあります。

それって本当にサイトヘルスはチェックしてるの?って思いますが、とりあえずサイトヘルスの表示を消したい場合はAkiraさんのコメントのように子テーマのfunctions.phpに書き込む方法があります。

add_filter( 'site_status_should_suggest_persistent_object_cache', '__return_false' );

「W3 Total Cashe」ブログインをインストールする

「W3 total Cashe」プラグインをインストールします。

インストールされると、サイドバーに加え上のメニューバーにも「パフォーマンス」と表示されます。

パフォーマンスという言葉がキャッシュに合わない気がしますけどもね?

ちょっと「Premium support」と表示されジャマな感じです。

赤文字で「Premium Support」で主張が強いW3 Total Cashe

インストールすれば特に設定はいりません。これでサイトヘルスが良好になりますよ。お試しくださいね。