ワードプレスのキャッシュ系プラグインまとめ
かつをくんかつをくん

今日はワードプレスの超高機能キャッシュプラグインについて解説しよう

わかめちゃんわかめちゃん

キャッシュってワードプレスの表示が早くなるヤツだろ?あんまりよく分かってないけど…

そもそもキャッシュって?

そもそもキャッシュって?
わかめちゃんわかめちゃん

そもそもキャッシュってよく聞くけど、何かよく分かってないな。

よく使うデータへのアクセスを速くするために、より高速な記憶装置に一時的に保存する仕組み。たとえば、アプリケーションの作業中のデータは、ハードディスクからメインメモリーに読み込んでおくことで、処理を高速化できる。また、Webブラウザーやサーバーのキャッシュ機能では、一度表示したページの内容をファイルに保存することで、次回からは、そのページをすばやく表示できる。

https://kotobank.jp/word/%E3%82%AD%E3%83%A3%E3%83%83%E3%82%B7%E3%83%A5-2698

ワードプレスと言うのは、「要求されたページのソース(内容)」をそのまま返しません。

要求(URLへのアクセス)に対して、「その都度ページを構成する部品をデータベースから取得して、部品を組み立てページソースを作って相手に返す」という計算が行われますが、毎回起きる計算に時間がかかります。

わかめちゃんわかめちゃん

毎度内容が変わるワケじゃないなら、一回作ったページソース保存しとけば計算いらなくね?

かつをくんかつをくん

その通り!それがキャッシュの考え方やね。

キャッシュの種類

わかめちゃんわかめちゃん

よく、遅くなったらキャッシュを消せとかって言うのは何?早くするためにキャッシュ作るのに、消した方が早くなるのおかしくね?

かつをくんかつをくん

それに関しては、色々混同し過ぎてるな。順を追って説明しよか。

まず一口に「キャッシュ」と言ってもプラグインなどでよく使われるキャッシュは大別して2種類に分かれます。

サーバーサイドのキャッシュとクライアントサイドのキャッシュです。

サーバーサイドキャッシュ

クライアントサイドキャッシュ

上でも述べたように、ワードプレスはクライアントから要求があるたびに、データベースにアクセスし、記事の[タイトル/本文/公開日/更新日/著者/カテゴリ/タグ]などのデータを取得し、テンプレートに当て込んでクライアントに返却する、という意外と複雑な計算を行っています。

しかしながら、その返却する用のデータを一度作ったら、そうそう頻繁に変更があるモノでもないワケです。

なら、次に要求があったら「計算後のデータ」をそのまま返せるように保存しておこう、と言うのがサーバーサイドキャッシュの主な仕様です。

クライアントサイドキャッシュ

クライアントサイドキャッシュ

スマホなどでよく言われる「キャッシュを消す」と言うのは、このクライアントサイドキャッシュの話です。

主な目的はサーバーサイドキャッシュと同様ですが、保存先がサーバーではなく、あなたが今このページを見ている「ブラウザ」本体となります。

クライアントサイドのキャッシュとは、ブラウザキャッシュとも言われ、ブラウザ自体が、一度見たページの部品、または全体を記憶して、同じページ(または同じ部品を使っているページ)へ訪れた際の要求(リクエスト)を減らして、計算時間を減らす、という効果があります。

重くなったらキャッシュを消そう、って話。

重くなったらキャッシュを消そう、って話。
かつをくんかつをくん

ワードプレスのプラグインで削除できるのはサーバーサイドキャッシュ、「重くなったら消しましょう」のキャッシュはブラウザキャッシュの方やね。

わかめちゃんわかめちゃん

なるほど。完全に同じだと思って、混乱してた。

かつをくんかつをくん

キャッシュ系プラグインを紹介してるサイトでもこの辺を混同して紹介してるサイトがめっちゃ多いんや。キャッシュ系プラグインは「キャッシュを削除するためのもの」みたいな謎の展開してるサイトも稀によく見る。

スマホなどのブラウザが使えるリソースには割と低い値の限りがあります。ブラウザに溜まったキャッシュの容量が、ブラウザが快適に動作するために必要なリソースを圧迫してくると、動作が重くなる→消したら早くなる。ってことですね。

キャッシュの導入

プラグイン

ワードプレスではプラグインを通して簡単にキャッシュシステムを導入できます。

冒頭では簡潔に説明するために大別して2種類と説明しましたが、ワードプレス独自のキャッシュ機構や、サーバーの構成などによっても取り扱えるキャッシュ機構タイプは多数存在しているため設定に悩むことも多いと思います。

ここではキャッシュプラグインと機能をいくつか紹介します。

WP Fastest Cache

WP Fastest Cache
  • 設定難易度:やさしい
  • 日本語訳標準で搭載
  • CDNとの連携可能
  • 設定が簡素な分詳細なパラメータは設定できない
  • 初心者向け

WP Fastest Cacheは主な機能として以下を提供しています。

主な提供機能
  • ページキャッシュ
  • ブラウザキャッシュ
  • JS・CSS圧縮

設定項目が少なく、非常に明瞭で初心者にもとっつきやすいキャッシュプラグインです。

CDNサービスとの連携も可能で、「とりあえずキャッシュ導入しとくか」くらいの感じであれば十分事足りると思います。

ぶっちゃけ、表示速度の高速化に関して効果が高い部分はきっちりカバーしていますので、「初心者向け=使えない」とか、そんなことは全くないです。

WP Fastest Cache を使ってGoogle PageSpeed Insights のスコアを大幅に向上させた記事はこちら。

W3 Total Cache

W3 Total Cache
  • 設定難易度:激ムズ
  • 標準で全て英語
  • CDNとの連携可能
  • 設定できる項目が非常に多岐に渡り、相当高度な設定が出来る。
  • 上級者向け

最高峰の機能性を備えたキャッシュプラグインです。当サイトでは現在このプラグインを導入しています。

主な提供機能
  • ページキャッシュ
  • JS・CSS圧縮
  • ブラウザキャッシュ
  • データベースキャッシュ
  • オブジェクトキャッシュ

加えてクッキーによるキャッシュ分岐なども提供しており、設定項目も非常に多く、一つ一つの項目の効果検証だけで相当な時間がかかります。

高機能ゆえに難解ですが、無料で使えるツールとは思えないレベルのプラグインです。

WP Super Cache

WP Super Cache
  • 設定難易度:超簡単
  • 標準で日本語をサポート
  • CDNとの連携可能
  • 設定できる項目は少ない。
  • 初心者向け

提供機能は非常にシンプル。

主な提供機能
  • ページキャッシュ
  • JS・CSS圧縮

何をすると言ってもほぼ選択肢がないレベル。非常にシンプルにページキャッシングのみを提供している感じです。

一応JSとCSSの圧縮はついていますが、ブラウザキャッシュを調整したい場合は別でプラグインを調達するか、手動で直接.htaccessを編集する必要があります。

設定が少ないがゆえに迷いが少ない、こちらも初心者向けのプラグインです。

まとめ

当記事でまとめたキャッシュに関する知識を意識すれば、どのプラグインがどういった役割を果たしているか意識しながらプラグインを選ぶことが出来ると思います。

人によっては何重にもキャッシュプラグインをインストールしているような方もいらっしゃいますが、同機能を重複して作動させるようなプラグインの使い方はやめましょう。

同様の機能を提供しているプラグインを同時使用するとプラスになるどころか逆にマイナスに働くこともあります。紹介した「三つのうちからどれかを選んで使う」程度で十分事足りますのでご自身にあったキャッシュプラグインを選んでみてください。