WordPressのページキャッシュは、一度作ったページを保存して再利用する仕組みです。アクセスのたびにPHPやデータベースでページを組み立てる処理を減らすため、表示速度やアクセス集中時の負荷を改善できます。
設定方法は、レンタルサーバーの機能を使う方法と、プラグインを使う方法があります。すでに同じ役割の機能が動いている場合は重ねず、まず現在の設定を確認します。
キャッシュを入れる前に測るページを決める
設定前の状態を残さずにキャッシュを有効にすると、速くなったのか、体感だけが変わったのかを判断できません。例えば、トップページ、通常の記事、問い合わせフォームを選ぶと、異なる種類のページを確認できます。設定前後で同じページを確認します。
測定にはPageSpeed Insightsを使います。ただし、表示される点数だけで結論を出さない方が良いです。Googleの公式説明では、PageSpeed Insightsには実際の利用データと検証用のラボデータがあり、対象期間や測定条件が異なります。ラボデータは実行時の条件でも変わるため、同じURLと端末区分で複数回測り、傾向を見ます。
この段階で画像の読み込みが大半を占めているなら、キャッシュより画像の見直しを先に行う場合があります。原因を分けて考える方法は「Webサイトの表示速度に影響するサーバー設定とスペックの関係」も参考にしてください。
キャッシュは一つの機能ではない
WordPressのキャッシュには役割の違う層があります。ここを分けておくと、プラグインを増やす前に、現在どこまで設定されているかを確認しやすくなります。
会社サイトで最初に検討するのは、完成したHTMLを再利用するページキャッシュです。通常はアクセスのたびにPHPが動き、データベースから情報を取得してページを組み立てます。ページキャッシュが使えると、この処理を省いて保存済みのHTMLを返せるため、サーバーの負荷と応答時間を抑えられます。
ブラウザキャッシュは画像やCSSなどを閲覧者の端末へ保存し、再訪時のダウンロードを減らす仕組みです。オブジェクトキャッシュはデータベースから取得した結果をRedisやMemcachedなどへ保持します。後者はサーバー側の対応が前提になるため、一般的な会社サイトで自己判断のまま追加するより、まずページキャッシュの効果を確認した方が進めやすいです。
WordPress公式のキャッシュ解説でも、役割ごとに分けて説明しています。対象はキャッシュプラグイン・ブラウザ・オブジェクト・サーバーの4種類です。名称よりも、どの層が何を保存しているかを整理することが大切です。
サーバー機能かプラグインかを選ぶ
最初にレンタルサーバーの管理画面と公式マニュアルを確認します。「高速化」「ページキャッシュ」「サーバーキャッシュ」などの機能が有効なら、いったんその機能だけで効果を測ります。管理画面に機能が見つからない場合も、契約プランによって利用条件が異なることがあるため、プラグインを追加する前にサーバー会社へ確認した方が確実です。
サーバー側にページキャッシュがなく、WordPress内で補う場合は、目的をページキャッシュに絞ってプラグインを選びます。WP Super Cacheは、WordPressが生成したページを静的なHTMLとして保存する選択肢です。知名度だけで決めず、現在の提供元と更新履歴を公式ディレクトリで確認します。利用中のWordPressへ対応しているかも確認が必要です。
LiteSpeed Cacheは、ページキャッシュを使う場合にLiteSpeed系サーバーまたは対応するCDNが必要です。画像最適化など一部の機能は別のWebサーバーでも使えますが、プラグインを入れただけでページキャッシュが動くとは限りません。利用中のサーバーが対応しているかを先に確認します。
複数のフルページキャッシュを同時に動かすと、どの層に古いページが残っているか分かりにくくなります。最初は一つに絞り、必要性を説明できない機能は追加しません。
キャッシュを安全に有効化する手順
キャッシュは有効化した後に、速度だけでなく表示内容とフォームの動作も確かめます。次は一般的な手順です。除外URLなどの初期設定は、利用する機能の公式案内に合わせます。
- WordPressとデータベースのバックアップを取得し、現在のキャッシュ設定を画面またはメモで残す
- 更新作業中のページがある場合は公開を終え、代表URLの表示とフォーム送信を記録する
- ログイン後の個人ページやカートなどの除外設定を確認し、ページキャッシュを有効にする
- キャッシュを一度削除し、ログアウトした状態でトップページと代表ページを開く
- 記事の一部を安全な範囲で更新し、公開側へ反映されることを確認する
- 問い合わせフォームを実際に送信した後、設定前と同じ条件で速度を測る
シークレットモードは、普段のログイン情報やCookieから分けて訪問者向け表示を確認するために使えます。「キャッシュがない状態」になるわけではなく、サーバー側のページキャッシュはシークレットモードでも適用されます。表示確認では、通常のブラウザで管理者側を見ながら、別のウィンドウで訪問者側を見ると違いを追いやすくなります。
CSSやJavaScriptの圧縮・結合と読み込み順の変更は、ページキャッシュとは別の調整です。最初から同時に有効にすると、表示崩れが起きたときに原因を切り分けられません。ページキャッシュの動作を確認してから、一項目ずつ検討します。
更新ページと動的な機能を確認する
キャッシュには、更新前のページが残ることがあります。トップページが速くなっても、お知らせが古いままになったり、フォームの認証情報が期限切れになったりする場合があるためです。
特に確認したいのは、問い合わせフォーム・サイト内検索・ログイン後だけ表示が変わるページです。ECサイトや会員サイトでは、カートやマイページも対象になります。これらは訪問者や操作によって内容が変わるため、通常の固定ページと同じ条件でキャッシュしない設定が必要になる場合があります。
多くのキャッシュ機能には、ログイン中の利用者や特定URLを対象外にする仕組みがあります。ただし、自動的に適切な除外が行われるかは、使っているプラグインやサーバー機能で異なります。「一般的には除外される」と考えて確認を省かず、自社サイトのフォームや会員機能を実際に操作して判断します。
キャッシュで速くならない原因を分ける
ページキャッシュを有効にしても変化が小さい場合は、設定を強くする前に別の原因を疑います。画像ファイルが大きければ、転送に時間がかかります。外部の計測タグやテーマのJavaScript処理が重い場合も、保存済みHTMLを返すだけでは解消しません。
管理画面だけが遅い場合も、公開ページのキャッシュでは改善しにくいです。ログイン後の処理はページキャッシュの対象外になることが多く、データベース・PHP・プラグインの処理を分けて調べる必要があります。画像が主な原因なら「Webサイトの画像最適化:ファイル形式・圧縮・遅延読み込みの基礎」へ進む方が効果的です。
PageSpeed Insightsの点数が上がっても、フォームが動かなくなれば会社サイトとしては改善とは言えません。速さ、更新の反映、業務機能の動作を同じ確認項目として扱います。
更新が反映されないときは
更新した記事が管理画面では新しく、訪問者向けの画面では古いままなら、キャッシュが残っている可能性があります。使っているサーバー機能やプラグインで、該当ページのキャッシュを削除すると反映されることがあります。
CDNも利用している場合は、WordPress側だけ削除しても古い表示が続く場合があります。サーバー、WordPress、CDNのどれを使っているかが分かれば、削除する場所を絞れます。
キャッシュの削除はコンテンツを削除する操作とは異なります。ただし、一度に全件削除すると再生成で負荷が増える場合があるため、混雑時は対象ページを絞れる方法が便利です。設定自体を無効にする場合は、プラグインをただ削除するのではなく、その機能の停止手順に従います。