WordPressはページを表示するたびにPHPがデータベースに問い合わせてHTMLを生成します。アクセスが多いサイトや処理が重いサイトでは、この処理が表示速度のボトルネックになります。キャッシュを設定することで、一度生成したページを再利用し、表示速度を大幅に改善できます。
この記事では、WordPressのキャッシュの仕組みと、プラグインを使った設定方法を整理します。
キャッシュとは何か
キャッシュとは、一度処理した結果を保存しておき、次に同じリクエストが来たときに保存済みの結果を返す仕組みです。
WordPressの場合、キャッシュなしでは「訪問者がアクセス → PHPがデータベースにクエリを実行 → HTMLを生成 → 表示」という処理が毎回発生します。キャッシュありでは「最初の訪問者がアクセスしたときに生成したHTMLを保存 → 次からはそのファイルを直接返す」という流れになり、PHPとデータベースの処理が不要になります。
キャッシュの種類
WordPressで使われるキャッシュには複数の種類があります。
ページキャッシュ(ブラウザキャッシュ・サーバーキャッシュ)
生成済みのHTMLページをファイルとして保存しておくキャッシュです。最も効果が大きく、表示速度の改善を実感しやすい種類です。同じURLへのアクセスが来たときに、PHPやデータベースを経由せずに保存済みHTMLを返します。
ブラウザキャッシュ
CSS・JavaScript・画像などの静的ファイルを訪問者のブラウザに保存しておく仕組みです。同じユーザーが再訪したときに、サーバーから再ダウンロードせずブラウザのキャッシュを使うことで読み込み時間を短縮します。
オブジェクトキャッシュ
データベースのクエリ結果をメモリ(RedisやMemcachedなど)に保存する仕組みです。高負荷なサイトで効果を発揮しますが、設定にサーバーの専門知識が必要なため、通常の法人サイトではページキャッシュで十分です。
レンタルサーバー付属のキャッシュ機能を確認する
プラグインを追加する前に、使っているレンタルサーバーが独自のキャッシュ機能を提供していないかを確認しましょう。
エックスサーバーの「高速化設定」やConoHa WINGの「コントロールパネル内のキャッシュ設定」など、サーバー側でキャッシュを提供しているサービスがあります。サーバー側のキャッシュはプラグインより効果が高い場合があり、設定も管理画面からワンクリックで行えます。
サーバーのキャッシュとWordPressのキャッシュプラグインを重複して設定すると、コンテンツが古いキャッシュから配信され続けたり、設定が競合したりすることがあります。どちらか一方に統一するか、併用する場合は設定の競合がないかを確認してください。
WordPressキャッシュプラグインの選び方
サーバー側のキャッシュがない、または不足している場合はプラグインで補います。代表的なキャッシュプラグインを紹介します。
WP Super Cache
WordPressを開発したAutomatic公式のキャッシュプラグインです。設定がシンプルで、基本的なページキャッシュとブラウザキャッシュを手軽に有効化できます。初めてキャッシュプラグインを導入する場合に向いています。
W3 Total Cache
高機能なキャッシュプラグインです。ページキャッシュ・ブラウザキャッシュ・オブジェクトキャッシュ・CDN連携まで細かく設定できます。設定項目が多いため、基本的な設定のみ使う使い方と、詳細設定まで活用する使い方があります。
LiteSpeed Cache
LiteSpeed Webサーバーを使っているサービス(ConoHa WINGなど)に特化した高機能プラグインです。対応サーバーでは他のプラグインより高い効果が得られることがあります。使用しているサーバーがLiteSpeed対応かどうかを確認してから導入してください。
WP Super Cacheの基本設定手順
WP Super Cacheを例に、基本的な設定方法を説明します。
インストールと有効化
WordPress管理画面の「プラグイン → 新規追加」から「WP Super Cache」を検索してインストール・有効化します。
キャッシュの有効化
「設定 → WP Super Cache」を開き、「キャッシュ機能 ON」を選択して「ステータスを更新」をクリックします。これでページキャッシュが有効になります。
詳細設定の確認
「詳細」タブで次の項目を確認・設定します。
- 「圧縮されたページをキャッシュ」を有効にすると、gzip圧縮したページが配信され転送量が減ります
- 「モバイルデバイスのサポート」は、モバイルとPCで別のキャッシュを使う設定です(レスポンシブデザインのみなら不要)
- 「キャッシュの有効期限」はデフォルトの3600秒(1時間)で始めて、問題なければ延ばしてもよいです
キャッシュの動作確認
設定後、ブラウザのシークレットモード(キャッシュなし)でサイトを開き、ページの読み込み速度が改善されているかを確認します。Google PageSpeed Insightsでスコアの変化を確認するとより分かりやすいです。
キャッシュ使用時の注意点
キャッシュを有効にすると、意図しない問題が発生することがあります。
コンテンツ更新が反映されない
記事を更新してもキャッシュが残っていると、訪問者に古いページが表示されることがあります。ほとんどのキャッシュプラグインは記事更新時に自動でキャッシュを削除しますが、問題が起きた場合は手動でキャッシュをクリアしてください。
ログイン中のユーザーに別のページが表示される
WordPressのログイン中ユーザーとログアウト中のユーザーで表示が異なるページ(会員向けコンテンツ・カートページなど)では、キャッシュに注意が必要です。ほとんどのキャッシュプラグインはログイン中ユーザーへのキャッシュ配信を除外する設定があります。
フォームが正しく動作しない
お問い合わせフォームなど動的なページをキャッシュすると、nonce(セキュリティトークン)が古くなってフォームの送信が失敗することがあります。フォームページをキャッシュの除外リストに追加することで対処できます。
まとめ
WordPressのキャッシュ設定は、表示速度改善の中でも最も効果が高い対策の一つです。まずレンタルサーバー付属のキャッシュ機能を確認し、なければWP Super Cacheなどのプラグインを導入することをおすすめします。
設定後はコンテンツ更新の反映やフォームの動作を確認し、問題があればキャッシュの除外設定を行ってください。