WordPress

【Xserver】「永続オブジェクトキャッシュを使用してください」の対処方法【WordPress】

永続化オブジェクトキャッシュって何?

読者

どうやって対処したらいいの?

読者

今回はこのような疑問にお答えします!

WordPressのサイトヘルス画面におすすめの改善として表示される「永続オブジェクトキャッシュを使用してください」という勧告ですが、
これは適切に対処してあげることでページの表示速度が改善できる可能性があります。

表示速度が向上することはSEOの観点でもプラスに働くので、皆さんのサイトが上位表示される可能性が高まるでしょう。

しかし、対処するには画面操作だけでなくコマンドの実行も必要になってくるので知識があまり無い方にとってはハードルが高いと思います。

本記事では、この勧告の対処方法を初心者でも分かりやすいようにまとめましたので是非参考にしてみて下さい!

この記事で分かること

  • そもそも永続オブジェクトキャッシュとは何か
  • 「永続オブジェクトキャッシュを使用してください」の対処方法

動作環境

  • WordPress : 6.2.2
  • レンタルサーバ : Xserver
  • CentOS : 7.8.2003

永続化オブジェクトキャッシュって何?

簡単に言うと「ページの表示速度を高速化してくれるもの」です。

WordPressではユーザがページにアクセスしたとき、データベースから必要なデータを取得しながら動的にページを作り上げて表示しています。
この取得するデータが多くなるほど、ページの表示までに時間がかかってしまいます

ページを表示するために必要な情報の中には毎回同じものあったりするので、それの何度も使うデータをキャッシュとして保持しておけばデータの取得量が減り表示速度の向上に繋がります

そのデータの保存先に使われるのが「永続化オブジェクトキャッシュ」です。

”永続化”とついているのは、明示的に削除しない限り残り続けるキャッシュだからです。

「永続オブジェクトキャッシュを使用してください」の対処方法

「永続オブジェクトキャッシュを使用してください」を対処するにあたってやることは大きく2つあります。

対処手順

  1. WordPressプラグイン「Redis Object Cache」をインストールする
  2. サーバにRedisをインストール&起動する

1は普通にプラグインをインストールするだけなので簡単です。

2はサーバに入ってコマンドを実行するので若干難しいかもしれませんが、
Xserverをお使いの方であれば真似するだけでできる内容になっていますのでご安心ください!

WordPressプラグイン「Redis Object Cache」をインストールする

プラグイン > 新規追加で「Redis Object Cache」を検索して、「今すぐインストール」をクリックしてインストールします。

Redis Object Cacheプラグインを検索

「Redis Object Cache」を有効化する

インストールが完了すると「有効化」ボタンに変わるので、クリックして有効化します。

Redis Object Cacheプラグインを有効化

すると、プラグインの設定画面に飛ぶので「Enable Object Cache」をクリック。

オブジェクトキャッシュを有効化

これでプラグインの設定は完了ですが、この時点では以下のようにStatusNot connectedになってしまっていると思います。

オブジェクトキャッシュ初回有効化時のステータス

これはWordPressをインストールしているサーバ上でRedisが起動されていないことが原因なので、サーバ上でRedisを起動してしてやる必要があります。

Redisがインストールされていないか確認する

念のため既にサーバにRedisがインストールされていないか確認してみましょう。

まずは下記コマンドでXserverにSSH接続します。
SSH接続の設定ができていない方は、別記事で解説しているのでそちらを参考に設定してみて下さい。

>> 別記事:Xserverに自前の認証キーでSSH接続する方法

ssh <サーバーID>@<サーバーID>.xsrv.jp -p 10022

サーバーIDはサーバーパネルにログインするときのIDです。

接続できたら以下のコマンドでRedisがインストールされているか確認してください。

redis-server -v

実行結果が以下のようにバージョン情報以外の内容だった場合、まだRedisがインストールされていないので次の手順へ進みましょう。

$ redis-server -v                                                                         
zsh: command not found: redis-server

もし以下のようなバージョン情報が表示された場合は既にインストールされているので「Redisを起動する」まで飛んでください!

$ redis-server -v
Redis server v=7.0.5 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=842e53e628b51e4a

XserverにRedisをインストールする

まずは、下記コマンドでRedisのソースコードをダウンロード&解凍します。

wget https://download.redis.io/redis-stable.tar.gz && tar xf redis-stable.tar.gz

解凍すると同階層に「redis-stable」というディレクトリができるので、そのディレクトリ内に移動します

cd redis-stable

そこでコンパイル(make)&インストール(make install)します

make && make PREFIX=~/redis-server install

ここでPREFIXを指定するのは、指定しないと下記のようなエラーが発生するためです。

install: 通常ファイル `/usr/local/bin/redis-server' を作成できません: 許可がありません

デフォルトのインストール先(/usr/local/bin/)には管理者権限が必要となるため、レンタルサーバを利用している場合は難しいと思います。

もしPREFIX無しで問題なくインストールできるなら不要だと思います。

Redisを起動する

あとは下記コマンドを実行してやればRedisを起動できます!

--daemonize yesはバックグラウンドで実行するという意味です。

$ {インストール時にPREFIXに指定したパス}/bin/redis-server --daemonize yes

# 今回の場合
$ ~/redis-server/bin/redis-server --daemonize yes

# PREFIXを指定していない場合
$ /usr/local/bin/redis-server --daemonize yes

起動後、redis-cliを実行して↓のようになれば起動できています。

$ ~/redis-server/bin/redis-server --daemonize yes
$ redis-cli
127.0.0.1:6379>

ちなみにredis-serverが起動していないと↓のようになります。

$ redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected>

Redisの自動起動設定

このままだと何らかの理由でサーバが再起動されたとき、Redisは起動していない状態になってしまいます。

ヒロ

いままでに一度だけいつの間にかRedisが停止していることがありました。

そのため、再起動の設定をCronジョブに追加します。

systemctlを使う方法もありますがこれは管理者権限が必要で、レンタルサーバの場合は無いことが多いので今回はCronジョブを使用しています。

動作確認

この状態で先程のプラグインの設定画面を見ると、StatusConnectedになっていると思います。
これで永続化オブジェクトキャッシュが有効化されました!

対処後のRedisサーバとの接続状況

サイトヘルスを見てみると勧告が消えていることが確認できます。

サイトヘルス画面の勧告

まとめ

今回は永続化オブジェクトキャッシュがそもそも何なのかということと、WordPressのサイトヘルス画面に表示される「永続オブジェクトキャッシュを使用してください」の対処方法について解説してきました。

まず、永続化オブジェクトキャッシュとは「ページの表示速度を高速化してくれるもの」でした。

これをWordPressで有効化するには、

  1. WordPressプラグイン「Redis Object Cache」をインストールする
  2. サーバにRedisをインストール&起動する

といった手順が必要でした。

最後までお読みいただきありがとうございました!

あわせて読みたい

-WordPress