プラグインで超簡単!WordPressをキャッシュで高速化しよう

WordPressはPHPで構築されており、ユーザーのリクエストに応じて動的にページを生成しています。そのため、静的なHTMLに比べてレスポンスは遅くなりがちですが、キャッシュ系のプラグインを使用することで簡単に高速化を計ることができます。今回は、kudox.jpの高速化を目指して導入したキャッシュ系のプラグインとその設定をご紹介したいと思います。

速度計測サービス GTmetrix

まず、キャッシュ系プラグインを何も使用していない状態でGTmetrixで計測してみました。GTmetrixは、単純に速度を計測するだけでなく、どこに最適化の余地があるかのレポートも表示してくれるため、高速化の参考になります。結果を見てみるとページのロードに3.74秒かかっており、あまり早いとは言えなさそうです。そこでキャッシュ系のプラグインを使って高速化を目指します。

GTmetrixの計測結果:キャッシュ使用前

使用したキャッシュ系プラグイン

下記が、今回使用したプラグインです。ダウンロードしたzipファイルを解凍して、WordPressディレクトリ/wp-content/plugins/にアップロードしたら、WordPressの管理画面でプラグインを有効化します。

W3 Total Cacheの設定

W3 Total Cacheは、非常に多機能なキャッシュプラグインで様々なオプションが用意されています。しかし、環境や設定によっては逆に遅くなってしまうケースもあるようなので、私はPage cacheとBrowser Cacheだけを有効にしました。管理画面サイドメニューのPerformance > General Settingsで「Page cache」と「Browser Cache」のEnableにチェックを入れ、「Save all settings」ボタンをクリックするとキャッシュが有効になります。

Page Cacheの設定

Page Cacheの設定は、管理画面サイドメニューのPerformance > Page Cacheで行います。私の場合、Generalの項目では下記にチェックを入れるようにしました。

  • Cache front page
  • Cache feeds: site, categories, tags, comments
  • Cache requests only for ドメイン名 hostname
  • Don’t cache pages for logged in users

Cache Preloadの項目では、「Automatically prime the page cache」にチェックを入れ、「Sitemap URL」のテキストボックスにsitemap.xmlのパスを入力します。

Cache Preloadの設定画面

Browser Cacheの設定

Browser Cacheの設定は、管理画面サイドメニューのPerformance > Browser Cacheで行います。私の場合、それぞれの項目で下記にチェックを入れるようにしました。

  • Set expires header
  • Set cache control header
  • Set W3 Total Cache header
  • Enable HTTP (gzip) compression
  • Prevent caching of objects after settings change

DB Cache Reloaded Fixの設定

DB Cache Reloaded Fixは、データベースのクエリをキャッシュしてくれるプラグインです。設定 > DB Cache Reloadedで「有効」にチェックを入れて「保存」ボタンをクリックするとキャッシュが有効になります。「リソース使用統計テンプレート」をデフォルトのままにしておくと</body>の直前にHTMLコメントでキャッシュされたクエリ数や所要時間を表示してくれます。

DB Cache Reloaded Fixの設定画面

001 Prime Strategy Translate Acceleratorの設定

001 Prime Strategy Translate Acceleratorは、翻訳ファイルをキャッシュしてくれるプラグインです。設定 > Translate Acceleratorで「キャッシュを有効にする」にチェックを入れて、「変更を保存する」ボタンをクリックすると翻訳ファイルのキャッシュが有効になります。

Translate Acceleratorの設定画面

高速化の結果

キャッシュを有効にした後で再度GTmetrixで計測してみました。結果を見てみるとPage Speed GradeがB、Page load timeも2.9秒になっており、それなりに効果はあったのかなと思います。しかし、まだまだ高速化の余地はありそうなので、色々と試してみて、またレポートしたいと思います。

GTmetrixの計測結果:キャッシュ使用後

最後にキャッシュ系のプラグインを使用する際の注意点です。WordPress本体やプラグインをアップデートする際には、一度キャッシュを無効にし、キャッシュファイルを削除してから実行するようにしましょう。