キャッシュ
キャッシュとは、一度表示したページのデータを一時的に保存しておき、次回の表示を高速化する仕組みです。WordPressサイトでは、ページを表示するたびにデータベースから情報を取得しHTMLを生成しますが、キャッシュを利用することで、この処理をスキップし、保存済みのHTMLを直接表示できます。これにより、ページの読み込み速度が大幅に向上します。
キャッシュとは
キャッシュは、Webサイトのパフォーマンスを向上させるための重要な技術です。訪問者が同じページを再度訪れたときや、他の訪問者が同じページを見るときに、既に生成されたデータを再利用することで、サーバーの負荷を減らし、表示速度を劇的に改善します。
キャッシュなしの場合
1. 訪問者がページをリクエスト
2. WordPressがデータベースから記事データを取得
3. PHPでHTMLを生成
4. テーマのテンプレートを適用
5. プラグインの処理を実行
6. 完成したHTMLをブラウザに送信
処理時間:1〜3秒
キャッシュありの場合
1. 訪問者がページをリクエスト
2. キャッシュから保存済みのHTMLを取得
3. ブラウザに送信
処理時間:0.1〜0.3秒(10倍速い!)
キャッシュのメリット
- 表示速度の向上 - ページの読み込み時間が大幅に短縮される
- サーバー負荷の軽減 - データベースへのアクセスが減り、サーバーの負担が軽くなる
- SEO効果 - Googleはページ速度を評価要素としているため、検索順位向上につながる
- コスト削減 - サーバーリソースの使用量が減り、より多くのアクセスに対応できる
- ユーザー体験向上 - 快適な閲覧体験により、離脱率が低下する
キャッシュの種類
WordPressには、複数のレベルでキャッシュが存在します。それぞれ異なる役割を持ち、組み合わせることでより高速なサイトを実現できます。
1. ブラウザキャッシュ
訪問者のブラウザ(Chrome、Safari、Firefoxなど)に、画像、CSS、JavaScriptファイルを保存します。
初回訪問時:すべてのファイルをダウンロード
2回目以降:保存済みファイルを使用(サーバーからダウンロード不要)
効果:画像やCSSの読み込みが高速化
ブラウザキャッシュの設定方法
.htaccessファイルに以下のコードを追加します:
# ブラウザキャッシュの設定
<IfModule mod_expires.c>
ExpiresActive On
# 画像ファイル(1年間)
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
# CSS・JavaScript(1ヶ月)
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
# フォント(1年間)
ExpiresByType font/woff "access plus 1 year"
ExpiresByType font/woff2 "access plus 1 year"
</IfModule>
2. ページキャッシュ
生成されたHTMLページ全体をファイルとして保存します。最も効果的なキャッシュ方式です。
| 項目 | 説明 |
|---|---|
| 保存場所 | サーバーのストレージ(ファイルシステム) |
| 効果 | 最大90%の高速化 |
| 対象 | 静的ページ(投稿、固定ページなど) |
| 設定方法 | キャッシュプラグインを使用 |
3. データベースキャッシュ
データベースのクエリ結果を保存し、同じクエリが実行されたときに結果を再利用します。
例:「最新の10件の投稿を取得」というクエリの結果を保存
→ 次回は保存された結果を使用(データベースへの問い合わせ不要)
4. オブジェクトキャッシュ
WordPressの内部で使用されるデータ(投稿、ユーザー情報など)をメモリに保存します。
- Redis - 高速なインメモリデータストア
- Memcached - 分散メモリキャッシュシステム
オブジェクトキャッシュは、サーバー側の設定が必要です。共用レンタルサーバーでは利用できないことがあります。VPSや専用サーバーでの利用をおすすめします。
5. CDNキャッシュ
CDN(Content Delivery Network)は、世界中のサーバーにコンテンツをキャッシュし、訪問者に最も近いサーバーから配信します。
- グローバルな高速配信
- サーバー負荷の分散
- DDoS攻撃からの保護
- 帯域幅の節約
主要なCDNサービス:
- Cloudflare - 無料プランあり、簡単設定
- Amazon CloudFront - AWS統合、従量課金
- Fastly - 高性能、エッジコンピューティング
おすすめキャッシュプラグイン
1. WP Super Cache
WordPressの公式チームが開発する、シンプルで使いやすいキャッシュプラグインです。
- 初心者にも使いやすい
- 無料で利用可能
- 設定が簡単
- 安定性が高い
WP Super Cacheの設定方法
-
プラグインをインストール
プラグイン検索で「WP Super Cache」を見つけてインストール・有効化します。 -
設定画面を開く
「設定」→「WP Super Cache」を選択します。 -
キャッシュを有効化
「キャッシング利用(推奨)」を選択し、「ステータスを更新」をクリックします。 -
推奨設定を適用
「推奨」タブで推奨設定を確認し、適用します。
2. W3 Total Cache
高機能で詳細な設定が可能なプロフェッショナル向けキャッシュプラグインです。
・ページキャッシュ
・ブラウザキャッシュ
・データベースキャッシュ
・オブジェクトキャッシュ
・CDN統合
・ミニファイ(CSS/JS圧縮)
3. WP Rocket(有料)
プレミアムキャッシュプラグインで、最も高性能かつ使いやすいと評価されています。
| 機能 | 説明 |
|---|---|
| 価格 | $59/年〜(1サイト) |
| ページキャッシュ | 自動で最適化 |
| 遅延読み込み | 画像の遅延読み込み自動設定 |
| データベース最適化 | 不要なデータの自動削除 |
| サポート | メールサポートあり |
4. LiteSpeed Cache
LiteSpeedサーバー専用の超高速キャッシュプラグインです。
- LiteSpeedサーバーで最高のパフォーマンス
- 完全無料
- 画像最適化機能内蔵
- クリティカルCSS自動生成
LiteSpeed Cacheは、LiteSpeedサーバーでのみ最大の効果を発揮します。Apacheやnginxサーバーでは一部機能が制限されます。
プラグイン比較表
| プラグイン | 価格 | 難易度 | おすすめ対象 |
|---|---|---|---|
| WP Super Cache | 無料 | 初級 | 初心者 |
| W3 Total Cache | 無料 | 中級 | 中級者 |
| WP Rocket | 有料 | 初級 | 全レベル |
| LiteSpeed Cache | 無料 | 中級 | LiteSpeedユーザー |
キャッシュのクリア(削除)
キャッシュをクリアすべきタイミング
キャッシュは便利ですが、以下の場合はクリアする必要があります:
- 記事を更新した後 - 最新の内容を表示するため
- テーマを変更した後 - デザイン変更を反映させるため
- プラグインを更新した後 - 新機能や修正を適用するため
- CSSやJavaScriptを変更した後 - スタイルやスクリプトの変更を反映させるため
- ページが正しく表示されない場合 - キャッシュの問題をトラブルシューティング
キャッシュクリアの方法
方法1:プラグインから
-
管理画面を開く
WordPressダッシュボードにログインします。 -
キャッシュプラグインの設定へ
「設定」または上部のツールバーからプラグイン名を選択します。 -
「キャッシュをクリア」をクリック
ボタン名は「Delete Cache」「Clear Cache」「Purge Cache」などプラグインによって異なります。
方法2:ブラウザキャッシュのクリア
訪問者側のブラウザキャッシュをクリアする方法:
- Chrome: Ctrl+Shift+Delete → 「閲覧履歴データの削除」
- Safari: Command+Option+E → 「キャッシュを空にする」
- Firefox: Ctrl+Shift+Delete → 「キャッシュ」を選択
方法3:スーパーリロード
特定のページだけキャッシュを無視して再読み込み:
- Windows: Ctrl+F5 または Ctrl+Shift+R
- Mac: Command+Shift+R
多くのキャッシュプラグインは、記事を公開・更新した際に自動的に該当ページのキャッシュをクリアします。そのため、通常は手動でクリアする必要はありません。
キャッシュ設定の注意点
1. 動的コンテンツはキャッシュしない
以下のようなページは、キャッシュすると問題が生じます:
- ログインページ - ユーザーごとに異なる内容
- カート・チェックアウトページ - ECサイトの決済ページ
- マイページ - ユーザー専用ページ
- 検索結果ページ - クエリごとに異なる結果
- フォーム送信ページ - お問い合わせフォームなど
これらのページは、キャッシュプラグインの設定で「除外URL」として登録しましょう。例:
/cart/, /checkout/, /my-account/
2. モバイルとデスクトップで別キャッシュ
レスポンシブデザインでない場合は、デバイスごとに別のキャッシュを作成する必要があります。
3. 会員制サイトでの注意
ログインユーザーと非ログインユーザーで異なるコンテンツを表示する場合:
- ログインユーザーのページはキャッシュしない
- またはユーザーごとに別のキャッシュを生成する
4. キャッシュの有効期限
キャッシュの保存期間を適切に設定しましょう:
| コンテンツタイプ | 推奨期限 | 理由 |
|---|---|---|
| ブログ記事 | 1週間〜1ヶ月 | 更新頻度が低い |
| ニュースサイト | 1時間〜1日 | 更新頻度が高い |
| 画像ファイル | 1年 | 変更がほとんどない |
| CSS/JS | 1ヶ月 | バージョン管理で対応 |
5. キャッシュとセキュリティ
・ログインページは絶対にキャッシュしない
・個人情報を含むページはキャッシュ除外
・管理画面(/wp-admin/)はキャッシュ対象外
・HTTPSページとHTTPページは別々にキャッシュ
キャッシュのパフォーマンス測定
ページ速度測定ツール
1. Google PageSpeed Insights
Googleが提供する無料の速度測定ツールです。
- URL:https://pagespeed.web.dev/
- モバイル・デスクトップ両方を測定
- 改善提案を表示
- 0〜100のスコアで評価
2. GTmetrix
詳細なパフォーマンス分析を提供します。
- URL:https://gtmetrix.com/
- ウォーターフォール表示
- 履歴管理機能
- 複数地点からの測定
3. WebPageTest
プロフェッショナル向けの高度な測定ツールです。
- URL:https://www.webpagetest.org/
- 世界中の拠点から測定
- 動画で読み込み過程を記録
- 複数回測定して平均値を算出
測定の目安
- PageSpeed Insights: 90点以上
- 読み込み時間: 2秒以内
- First Contentful Paint (FCP): 1.8秒以内
- Largest Contentful Paint (LCP): 2.5秒以内
- Time to Interactive (TTI): 3.8秒以内
改善の確認方法
-
キャッシュ導入前に測定
現在のスコアと読み込み時間を記録します。 -
キャッシュプラグインを導入
適切な設定を行います。 -
導入後に再測定
同じツールで測定し、改善度を確認します。 -
継続的にモニタリング
週1回程度、定期的に測定します。
よくある質問(FAQ)
まとめ
キャッシュは、WordPressサイトの表示速度を劇的に改善する強力な技術です。適切に設定することで、訪問者の体験が向上し、SEO効果も高まります。
- 自分のサイトに適したキャッシュプラグインを選ぶ
- 基本設定を行い、キャッシュを有効化する
- 動的ページ(ログイン、カートなど)は除外設定する
- 導入前後でページ速度を測定し、効果を確認する
- ブラウザキャッシュも設定する
- 記事更新時は自動クリアされることを確認する
- CDNの導入も検討する(グローバル対応の場合)
- 定期的にパフォーマンスを測定し、最適化を続ける
まずは無料のキャッシュプラグイン(WP Super CacheやW3 Total Cache)から始めて、効果を実感してみましょう。サイトの成長に応じて、より高度な設定やCDNの導入を検討してください。