WordPress 6.1でページキャッシュの問題が発生したら
WordPress 6.1「MISHA(ミーシャ)」が2022年11月1日にリリースされました。2022年第3弾のリリースであり、新テンプレートの追加やデザインツールの操作性やアクセシビリティが改善されました。
また、WordPress 6.1では、パフォーマンス向上のための改善が行われました。これにより、パフォーマンスのチェックが強化されたらしく、当方のサイトでも、ダッシュボードのサイトヘルスステータスに致命的な問題として「ページキャッシュが検出されず、サーバのレスポンスが遅くなっています。」が表示されるようになりました。
ページの表示速度がある基準値を満たしていないことが原因のようです。このままでは、SEOの観点からも問題があるため、速やかに対策を講じる必要があります。
この記事では、WordPressでページ表示速度を改善する方法について説明しています。
目次
WordPress 6.1でページキャッシュの問題が発生したら
WordPressで構築したWebページの表示速度の改善策としては、以下の方法が考えられます。
- WordPressの処理を高速にする。
- ブラウザのページキャッシュを利用する。
これらの改善策について、具体的な方法を解説していきます。
OPcacheを利用してPHPの処理速度を改善する。
WordPressは、PHP(Hypertext Preprocessor)というサーバサイドで動作するスクリプト言語で構成されています。
プログラム言語は、Java、C言語やFortranのようにプログラムをコンパイルして動作させるコンパイル言語と、PHP、Perlやシェルのように実行されるたびにスクリプトの内容を解釈して処理するスクリプト言語に大別されます。
一般的にスクリプト言語はコンパイル言語と比べて「実行されるたびに解釈して処理」するため動作が遅いと言われています。
WordPressは、複数のPHPスクリプトで記述されたスクリプト言語の集合体であるため、Webページの内容の複雑さ、利用しているテーマやプラグインの数が増加するほど、処理速度や表示速度が低下するといわれています。
PHPは、OPcacheというアクセラレータ機能を利用して処理を高速化することが可能です。OPchacheは、PHP 5.5.0以降で標準機能となりました。
PHPのアクセラレータ機能は、初回起動されたスクリプトを最適化してキャッシュしておき、実行されたスクリプトに変更がない場合は、キャッシュした内容で処理させることにより、PHPの処理を高速化することが可能な拡張モジュールの機能です。
OPcacheは、WordPressを動作させているサーバにインストールされている必要があります。OPcacheをサーバにインストールするか、レンタルサーバを利用している場合は、phpinfo()を使用してOPcacheが利用可能であるか確認することができます。
以下のようなPHPスクリプトをwp-contentと同じディレクトリに配置し、このPHPスクリプトにブラウザからアクセスすることで、PHPの詳細設定情報を確認することができます。
<?php
phpinfo();
?>
OPcacheが利用可能な場合は、以下のような表示内容が確認できるはずです。
「WP OPcache」プラグインを利用することで、WordPressからOPcacheの動作状況を確認することができます。
プラグインを有効化すると、ダッシュボードのメニュー領域(左ペイン)に「WP OPcache」が追加されます。また、上部のメニューバーには、「PHP OPcache クリア」も追加され、クリックするとPHPのアクセラレータ機能にキャシュされた情報をクリアすることが可能です。
OPcacheの動作状況は、以下のように画面上で確認することができます。
WP Fastest Cacheを利用してブラウザキャッシュを活用する。
ブラウザキャッシュは、一度表示した内容をブラウザに一時保存しておき、同じページを再度表示する場合に、ブラウザに保存した内容を優先的に読み込んで表示する機能で、これによりWebページの表示時間を短縮することが可能となる機能です。
WordPressでは、ブラウザキャッシュに関するプラグインが複数提供されています。今回は、設定方法が比較的簡単で日本語にも対応している「WP Faster Cache」を利用していきます。
プラグインを有効化すると、ダッシュボードのメニュー領域(左ペイン)に「WP Fastest Cache」が追加されます。また、上部のメニューバーには、「キャッシュを削除する」も追加され、クリックするとブラウザキャシュを簡単に削除することができます。
「WP Fastest Cache」の設定は、基本的に以下の6つの項目にチェックを付けるだけでOKです。
言語は「日本語」を選択します。項目の中には、チェックを付けると詳細設定の子画面が表示されるものがありますが、基本的にデフォルトのままで問題ありません。
また、JavascriptやCSSの統合に関する設定もあります。これらについては、利用しているテーマやプラグインに影響する可能性を考慮して設定していませんが、必要に応じて設定してみるとよいでしょう。
設定を保存したら、「キャッシュを削除する」タブを開いて、「すべてのキャッシュを削除」と「キャッシュと縮小したCSS/JSを削除」をクリックして、キャッシュを削除します。
また、上部のメニューバー追加された「キャッシュを削除する」をクリックすることで、同様の操作が可能です。
サイトヘルスステータスを確認する。
WordPressに「OPcache(WP OPcache)」と「WP Fastest Cache」を適用すると「ページキャッシュが検出されず、サーバのレスポンスが遅くなっています。」といった表示は消えて、ステータスが「good」になっているはずです。
「テスト通過」をクリックして、「ページキャッシュが検出され、サーバのレスポンスは良好です」の内容を確認すると、現在のサーバレスポンスの状態を確認することができます。
以下の例では、推奨されているサーバレスポンス(600ミリ秒)に対して、現在の平均値が35ミリ秒であることが確認できます。
永続オブジェクトキャッシュについて
WordPress 6.1では、サイトヘルスステータスの推奨項目に「永続オブジェクトキャッシュを使用してください」が表示がされます。この表示は、本記事で紹介した対策を行っても消えることはありません。
永続的オブジェクトキャッシュは、Web サーバーがページビューごとに行うデータベースクエリ(問い合わせ)結果をキャッシュして、Webサーバの応答時間を向上させるキャッシュサーバ機能を指しているようです。
WordPressのサポートによると、「Redis」と「Memcached」の2つのキャッシュサーバが挙げられています。これらは、バックエンドの機能であるため、サーバ側にインストールされている必要があります。
これらが利用可能であるかはサーバ環境によるため、サーバ管理者もしくはホスティングプロバイダーに確認する必要があります。
また、「Redis」と「Memcached」をWordPressで利用するためのプラグインも紹介されていますが、2022年12月の段階ではバックエンドが「Redis」と「Memcached」に対応していなかったり、一部PHPのスクリプトを直接編集する作業が必要だったりします。
現時点(2022年12月時点)では「OPcache(WP OPcache)」と「WP Fastest Cache」で十分なので、永続オブジェクトキャッシュの対策について、しばらく様子見で問題ないとおもいます。
まとめ
この記事では、WordPress 6.1でパフォーマンスチェックが強化されたためにサイトヘルスステータスに致命的な問題「ページキャッシュが検出されず、サーバのレスポンスが遅くなっています。」が表示されるようになった事象について、「OPcache(WP OPcache)」と「WP Fastest Cache」を利用した対策方法を紹介しました。
Googleもページ表示速度に関する研究を通じて、直帰率・離脱率を考慮した最適なページ表示速度は3秒以内と結論しています。
また、Googleは2018年7月に「ページの読み込み速度をモバイル検索のランキング要素に使用します」という内容を発表しており、ページ表示が遅い場合は評価に影響することが示唆されており、SEOの観点から無視することはできません。
ただし、ページ速度が速いから評価が上がるといったことはありませんので、この点には十分注意してください。
参考になれば幸いです。
ホームページやWordPressに関するお問い合わについて
どんな内容でも構いませんので、気兼ねなくご相談ください。
システムエンジニアリングの経験を持つスタッフが、ボランティアでご相談に応じさせていただきます。