サーバー:さくらレンタルサーバー
WordPressバージョン:6.1.1
『サイトの状態は良好に見えますが、パフォーマンスとセキュリティ向上のためにできることがまだ1つあります。』
前回(「[WordPress]サイトヘルスの警告について」)、WordPressのダッシュボードのサイトヘルスステータスの重大な問題の警告について対応しましたが、1点WordPressを動かしているサーバー側の問題で対応を保留していた点が残っていました。
さくらインターネット様のサーバー更新により、対応が可能になりましたので、行った内容について記載します。
残っている警告内容
現在残っている警告(?)内容を確認するために「サイトヘルス画面」を表示してみます。
永続オブジェクトキャッシュを使用してください【パフォーマンス】
前回対応を保留した内容と変わりはないようです。(当然ですが…)
詳細を表示してもわかりにくいのも変わりなしです。
対応内容
概要
この警告についての対応内容の概要は以下の様な感じです。
- ホスティングサーバー提供のキャッシュサービスを有効にする
- PHPをモジュール版へ変更(CGI版を利用している場合)
- キャッシュサービス(APCu)に対応した永続オブジェクトキャッシュの利用
対応詳細
1.ホスティングサーバー提供のキャッシュサービスを有効にする
これについては、さくらのレンタルサーバーでは、サーバー側ですでにAPCuキャッシュ機能は提供されていましたので、特に対応は不要でした。
(さくらのレンタルサーバーのプレスリリースは下記にあります)
さくらのレンタルサーバ/マネージドサーバ PHP7.2とAPCuキャッシュ機能の提供開始
2. PHPをモジュール版へ変更(CGI版を利用している場合)
前回はここで躓きました…。自分のサーバーではPHPのモジュール版が選択できなかったというものです。
さて、サーバー更新でモジュール版が選択できる様になっているかをさくらのレンタルサーバーのコントロールパネルから確認してみます。(「スクリプト設定」メニューの中の「言語バージョン設定」を選択)
PHPのバージョンを確認してみると…
すでに、モジュールモードになっていました。
サーバー更新でデフォルトが「モジュールモード」になったようです。
なので、ここも特に何もしなくて良くなりました。
3.キャッシュサービス(APCu)に対応した永続オブジェクトキャッシュの利用
内容確認
一応サイトヘルスの詳細リンクをもう一度確認してみると…
う~ん…、相変わらず自分には結局何をしろと言われているのか意味不明ですが(ホスティングプロバイダーに丸投げしている様にも見える)、とりあえず「Object Cache」プラグインを導入しろと言っているのと理解しました。
プラグインの検索
WordPressの「プラグイン」メニューの「新規追加」を選択し、検索ウィンドウに「OBJECT CACHE」と入れて検索してみます。
う~ん、前回対応で導入検討したキャッシュプラグインと候補があまり変わりません…。
という事は、前回自分がキャッシュプラグインでインストールした「WP Super cache」もObject cacheに対応しているのかと軽く調べてみましたが、そのものずばりと言うのは出てこず…。
そういえば、自分が使っているサーバーは「APCuキャッシュ機能」が有効になっているので、キーワードとして「APCu」を入力してみます。
名前にはそのものずばりのものが出てきましたが、できたら互換性が確認されていて、かつ、有効インストールが多いプラグインを使いたいと考えると「W3 Total Cache」かな?と。
詳細を確認するとAPCuにも対応しているとの記載がありました。
しかし、これは前回対応した「キャッシュプラグイン」で速度が出なかった記憶が…。
W3 Total Cacheのインストール
まぁ、とりあえず試してみなければわからないという事で「W3 Total Cache」(バージョン 2.3.0)をインストールしてみます。
インストール後「有効化」を実行します。
以下の警告が発生しました。(キャッシュ操作を行うプラグインが2つもあれば当然か…)
仕方なく、「停止」と「はい、削除してください」ボタンを押して、「WP Super Cache」を無効化します。(「停止」を先に押すと、「はい、削除してください」の方も消えますが、先に「はい、削除してください」ボタンを押すことをお勧めします。でないと後でもうひと手間増えるためです。)
W3 Total Cacheの設定
つづいて、「W3 Total Cache」の設定画面を開きます。
以下の様な画面が出ますが、「Cancel」ボタンを押して閉じます。利用規約への同意は…?って感じですが…。
とりあえず、有効にしたいのは「オブジェクトキャッシュ」ですが、「WP Super Cache」も無効化してしまったので、「ページキャッシュ」も併せて有効化しておきます。
※ここまでやって、「そういえば前回W3 Total Cacheを試した時、有効化はしたけど、設定をしていなかった様な…、だから速度が出なかったのかな…」と自分の間抜け加減を反省してたりします。
サイトヘルスの確認
以上で問題を解決したかを確認してみます。
サイトヘルス画面を開いてしばらく待っていると…
「永続オブジェクトキャッシュを使用してください」の警告は消えました!
新しく「停止中のプラグインを削除してください」が出現しましたが、これは「W3 Total Cache」をインストールするために停止した「WP Super Cache」の事ですね…。
プラグインから「WP Super Cache」を削除します。(さよなら「WP Super Cache」!お世話になりました)
停止中のプラグインの削除後、再度サイトヘルス画面を開いてみます。
うぅ、新たな警告(推奨項目)が出現…(これは無間地獄か?)
「サーバーのレスポンスは良好です」ならいいんじゃないの?と思いつつ、内容を確認へ…。
新たな警告内容への対応
ページキャッシュは検出されませんでしたが、サーバーのレスポンスは良好です【パフォーマンス】
警告(推奨)内容の確認
ページキャッシュは「W3 Total Cache」プラグインで有効にしたハズだけど、と思いつつ詳細を確認。
問題(?)としては、
- クライアントキャッシュレスポンスヘッダが検出されない
- ページキャッシュプラグインが検出されない
というような事らしいが、どうしたものか…。
対応内容
おそらくページキャッシュの方法がサイトヘルスとあっていないのではと考えて、「W3 Total Cache」の設定画面を確認します。
デフォルトの「ディスク:拡張」を選択していたが、その他何があるかをリスト表示して確認してみます。
専用/仮想サーバーの項目にさくらのレンタルサーバーで対応されているAPCu向けの方法があるので、これを選択して設定を保存してみます。
サイトヘルス画面の確認
サイトヘルス画面を開いてしばらく待っていると…
おぉ、ようやく警告(推奨)がなくなりました。
よくぞここまで苦しめてくれたもんだと思いつつも、それは自分の知識不足、能力不足、確認不足の面も多分にあるので素直に反省しておきます…。
最後の対応
WP Super Cacheの後始末
サイトヘルスの問題は解決しましたが、しばらく作業をしていると下記の様なメールが届きました…
「WP Super Cache」プラグインを削除しましたが、上記のファイルは手動で削除する必要があるようです。(「W3 Total Cache」インストール時に「はい、削除してください」ボタンは出ましたが、「停止」ボタンを先に押してしまったので、削除はされてなかった様ですね…、普通上からボタンは押しますけど…)
サーバーからの削除
さくらのレンタルサーバーのコントロールパネルからファイルマネージャーを起動します。
メールに記されているパスの「advanced-cache.php」を探して、削除します。
これで、今回の作業は一通り完了です。
まとめ
今回は前回やり残したサイトヘルスの警告(推奨)項目の対応について記載してきましたが、とにも角にも…
疲れました…
WordPressは多機能で利用する分には便利ですが、管理となると専門用語がたくさん出てきて疲れます…。
まぁ、でも解決できてよかった。