お問い合わせはコチラから

どうするのが正解?LiteSpeed cahce ESIキャッシュのpublic / privateの使い分け

サイト運営

WordPressのキャッシュプラグインはご利用でしょうか?

わたしは、LiteSpeed serverのホスティングサービスでは、キャッシュプラグインにLiteSpeed cacheを使うことが多いです。

LiteSpeed Cache
オールインワンの無敵の高速化 PageSpeed を改善:キャッシング、画像/ CSS / JS を最適化...

キャッシュプラグインは、静的ページを生成できればWP Super cacheでもFastest cacheでも何でもいいと思います。

WP Super Cache
静的 HTML ファイルを生成する、WordPress の超高速キャッシュエンジン。
WP Fastest Cache
最もシンプルで速いWP キャッシュシステム

LiteSpeed cacheを使うメリットはESIが使えることです。ESIを使うと、ページの部分キャッシュ除外ができます。キャッシュの部分除外ができるキャッシュプラグインは他に見たことがありません。だからLiteSpeedCacheを気に入っています。

部分キャッシュ除外はESIという仕組みを使いますが、最初はわかりにくいので、この記事でまとめておきます。

ESIのウィジェット出力キャッシュ

ESIを有効化すると、ウィジェットにESIオプション入力が追加されます。ウィジェットのESIオプションでpublicかprivateのキャッシュを有効化すると、ページキャッシュとは別にウィジェット出力がキャッシュされるようになります。

ESIとは、ページキャッシュとは別にウィジェットキャッシュを持つことができるので、ウィジェット部分のキャッシュを制御することで複雑なキャッシュ動作を行うことができます。

Disable(ESIオフ:初期状態)

ESIがOFF(disable)時のウィジェット出力の扱い

ESIがOFF(disable)になっている時、ウィジェット出力は常にページ全体の一部としてキャッシュされます。

ウィジェット出力がページやカテゴリごとに変化する場合でも、ページ単位でキャッシュしてくれるので、ウィジェットの出力はページ単位できちんと変化します。

ESIがOFF(disable)時の問題点

ウィジェット出力はページキャッシュ生成時の内容に固定されます。

ウィジェット出力のキャッシュがページキャッシュと独立していないので、ウィジェット出力が更新された際にキャッシュに反映するためには、ウィジェットが含まれるすべてのページキャッシュをパージする必要があります。

ESIのpublicキャッシュ

ESIをpublicにした時にウィジェット出力のキャッシュはどうなるか?

ウィジェットでESIのpublicキャッシュを有効化すると、ウィジェット出力をpublicにキャッシュします。

publicはどういうことかというと、ウィジェット出力のキャッシュが1つしか存在しません。つまり、publicキャッシュのウィジェット出力は、全てのページで同じ内容になります。

ページやカテゴリなどで表示内容が変わるタイプのウィジェットではpublicにするとどのページも同じ内容になり、おかしな動きになります。

どういう時に使うと便利なのか?

publicを使うと機能する場面は、ウィジェットの内容がどのページでも、どの訪問者でも同じ場合で、かつ、表示内容が一定期間で更新される場合になります。

表示内容が記事の投稿に連動していて、それ以外で更新されないような場合はpublicにする意味はあまりないかもしれません。

というのも、lite speed cahceでは、新規投稿で全てのキャッシュがパージされてしまうためです。その場合、記事の投稿に連動しているウィジェットはpublicにしなくても、そのタイミングで更新されるからです。

ESIでpublicするのであれば、ウィジェットのキャッシュだけパージする必要があります。

例えば、新着記事のウィジェットの場合は、既存の記事はパージせずに新着記事ウィジェットのみパージすることで導入する効果があります。しかし、手動でパージすることになりますので導入するメリットがある人は限られるでしょう。

一定期間ごとに更新している記事のランキングなどで、ページやカテゴリによって表示内容が変わらないものであればpublicにすることでページのキャッシュをパージせずに、ウィジェットのみTTLで自動的に更新されます。

まとめると、新着記事やニュースなどの記事投稿に連動しているものは導入しても期待通りに動かないが、記事を投稿しなくても一定期間で更新されるような記事ランキングには効果があります。

ESIのprivateキャッシュ

ESIをprivateにした時にウィジェット出力のキャッシュはどうなるか?

ウィジェットでESIのprivateキャッシュを有効化すると、ウィジェット出力をprivateにキャッシュします。

privateキャッシュは、訪問者ごとに異なるキャッシュを持ちます。つまり、訪問者ごとにキャッシュの内容が変わります。

Privateキャッシュのウィジェットを使うと、ページやカテゴリなどの条件に追従するウィジェットでも期待通りに表示されます。

これは単純にPrivateキャッシュの場合、訪問者が初めて各ページを見た時にはキャッシュが無いので、キャッシュが使われないからです。

Privateキャッシュの場合は訪問者が来るたびにキャッシュを作る必要がありますので、とても贅沢な仕組みです。訪問者が増えるとキャッシュファイルが多くなってしまう問題が出てくると思います。

どういう時に使うと便利なのか?

privateを使うと機能する場面は、ウィジェット出力がページごとに異なり、かつ、一定期間で更新される場合です。

例えば、カテゴリごとの新着記事、人気記事などが該当すると思います。

訪問者が多いサイトではprivateを使うとオーバーヘッドが大きいと思います。

TTL=0(キャッシュOFF)

ESIを有効にして、出力がページごとに変わるような場合は、TTL=0と設定することでキャッシュ除外にすることができます。

ESIのキャッシュタイプがpublicでもprivateでも、TTL=0にすることで、スルー状態になります。

この使い方が一番シンプルでトラブルが少ない使い方だとおもいます。

まとめ

LiteSpeed cacheのESIは基本的に使わない方がよいです。

キャッシュの影響で表示がおかしくなる場合のみESIを使います。

ESIを使うときは、publicが基本です。それでおかしくなる場合は、privateを使わずに、TTL=0のスルーを選択すると期待通りになると思います。

また、その方がサーバーにやさしいと思います。

privateはサーバーリソースを消費するので、導入するメリットよりもデメリットの方が上回るのが殆どだと思います。公式サイトだとprivateの例が多いのですが、そのままコピペ運用するのは止めましょう。

この記事を書いた人
ブーン

はるばる日本よりオランダ王国へやってまいりました。
自分の経験が少しでも参考になれば嬉しいです。
お問い合わせは、『こちら』からお願い致します。

\ブーンをフォロー/
スポンサーリンク
サイト運営
\シェアお願いします!/
\ブーンをフォロー/
こんな記事も読まれています

失敗しないレンタルサーバーランキング

mixhost

不正アクセスに強くて使いやすいおススメサーバー
\本サイトで利用中/
メリット①:自動ウィルス駆除対応
メリット②:サイトの表示速度が速い!
メリット③:転送量の上限が多い!
メリット④:自由にプラン変更ができ、アクセス増にも対応できる!
メリット⑤:バックアップデータが無料で復元できる!
メリット⑥:Wordpressが簡単にインストールできる!
メリット⑦:どのプランでも初期費用が無料!
メリット⑧:10日間の無料お試し期間と30日の返金保証!

Conoha Wing

国内Wordpress最速の最強サーバー
メリット①:圧倒的な表示速度
メリット②:レンタルサーバーと独自ドメインがセットでお得◎
メリット③:プラン変更はすべてのプランで自由自在
メリット④:一か月の利用転送量の制限が緩い(9TB~)
メリット⑤:WordPresサイトの移行が簡単

エックスサーバー

国内シェアNo1の安定性と実績が魅力。ALL SSDで死角なしの万能サーバー。
メリット①:サイトの表示速度が安定して速い!
メリット②:アクセス負荷に強くて安定性が高い!
メリット③:24時間365日の充実サポートで安心!電話サポートもあり!
メリット④:転送量が多い!
メリット⑤:自動バックアップ機能付き!
メリット⑥:WordPressが簡単にインストールできる!
メリット⑦:10日の無料お試し期間がある!

タイトルとURLをコピーしました