WordPressキャッシュプラグイン “LiteSpeed Cache” の設定項目の解説

2017年12月20日WordPress

レンタルサーバ “Mixhost" と “JETBOY で使われている 「Litespeed サーバ」では ”LiteSpeed Cache” という WordPress用のキャッシュプラグインが使えます。

”LiteSpeed Cache” は Litespeed サーバの開発元が提供しているもので、サーバとのやりとりをプラグインが直接行うためオーバーヘッド(無駄)が少なくなるという優れものです。

モバイルとPCページを別々にキャッシュできるのは当然として、ブラウザキャッシュ、HTTP/2 プッシュやCSSやJSの圧縮や非同期化、Googleフォントの読み込みタイミングの設定まで行える多機能ぶり。

しかも非常に使いやすい。

ただ画像の Lazy Load(画像の遅延読み込み)のように、描画タイミングが遅すぎて事実上使えないものも含まれています。

安定性や重さについて取りざたされることの多いキャッシュプラグインですが、LiteSpeed Cacheは軽く、CSS・JSの圧縮・結合や非同期読み込みを除けば安定もしています。

基本的にいじらなくていいのですがやはり触ってみたくなるのが人情というもの。そういったわけで設定項目について詳しく調べてみました。日本語の説明と原文が異なるケースは、原文を優先しています。

設定例も載せていますが、テーマやプラグインとの相性もあるので参考程度に見てください。

インストール

プラグイン ⇒ プラグインの新規追加

wordpress plugin litespeed cache

 

「有効化」すると管理バーの下に”LiteSpeed Cache”が表示されます。

機能の有効化と各種設定は ”LiteSpeed Cache” の【設定】から行います。

wordpress plugin litespeed cache

[4]の除外までしか表示されていない時は、【高度な設定】を有効にしておきます。

 

[1]全般

wordpress plugin litespeed cache

TTLは “Time To live" の略でキャッシュの有効期限。デフォルトのキャッシュの保持期間を秒単位で設定します。

パブリックキャッシュ、プライベートキャッシュ、フロントページなどページごとの有効期限の設定項目が並びますが、ここは特に理由がなければ変更せず、デフォルト=推奨値でいい感じ。

■LiteSpeed Cacheを有効にする
有効
これを無効にすればすべての機能が停止します。キャッシュが原因と思われる不具合が出た時はまずはここをオフに。

■デフォルトのパブリックキャッシュ TTL
デフォルト値
ほとんどのページ(誰でもアクセスできる公開されているページ)のキャッシュはこの値が反映されます。
最小で30から設定可能で、推奨値はデフォルト値の604800=1週間。

■デフォルトのプライベートキャッシュ TTL
デフォルト値
パブリックではない個別ユーザーのページキャッシュ(ワードプレスの管理画面など)。
60~3600で設定可能で、推奨値はデフォルトの1800。

キャッシュの種類「プライベートキャッシュ」は一つのIPまたはセッションIDに対してキャッシュを生成。パブリックキャッシュはそれ以外の閲覧者に向けて配信される。

■デフォルトのフロントページ TTL
デフォルト値
フロントページのキャッシュ。ドメインのトップのページです。
最小値は30以上で、管理画面の推奨値は604800。
(litespeed cache wikiでは、もっとも頻繁に更新されるページであることから30分となっています。更新頻度によっては長くする)

■デフォルトのフィードTTL
デフォルト値
フィードのキャッシュ期間。
0でキャッシュしない。30未満では30秒に設定される。
更新時やコメント時にはパージ(キャッシュ削除)されるため、長くしても特にデメリットはなさそう。

■デフォルトの404ページTTL
デフォルト値(条件による)
404エラー(ページが存在しない時のステーテスコード)時に表示されるページ。
0でキャッシュせず、30未満では30秒に設定される。デフォルト値は3600。
意図的に404ページを表示させたい時は長めにすると有用ではあるものの、404ページのキャッシュは際限なくできる可能性があるため、ディスクを消費する点には注意が必要。

■デフォルトの403ページTTL
デフォルト値
403エラー(アクセス制限をかけたページのステーテスコード)時に表示されるページ。
0でキャッシュせず、30未満では30秒に設定される。デフォルト値は3600。

■デフォルトの500ページTTL
デフォルト値
500エラー(プログラムのミスや設定が原因で返されるステータスコード)時に表示されるページ。
0でキャッシュせず、30未満では30秒に設定される。デフォルト値は3600。

 

[2]キャッシュ

wordpress plugin litespeed cache

キャッシュ全般の設定。「ログインしたユーザーをキャッシュ」はケースバイケースで変更。

■ログインしたユーザーをキャッシュ
場合による
ログイン中ユーザーをプライベートキャッシュ。CSSでデザイン・装飾を変更したり外観カスタマイズをしても正しく表示されない時は無効に。

■コメントをキャッシュ
有効
保留中のコメントをプライベートキャッシュ。有効化していると、「承認待ち」が表示されなくなる。

■REST API をキャッシュ
有効
WordPress の REST API 呼び出しをキャッシュ。

■ログインページをキャッシュ
有効(日本語の説明を信頼するなら無効に)
日本語の説明では「有効にするとパフォーマンスに悪影響を与える可能性があります」と書かれていますが、原文では「通常はオフにする必要はない」となっています。「ユーザーの一人一人を識別したい時には無効に」する、が正解?。

■favicon.ico をキャッシュ
有効
日本語:このリソースのキャッシュと、PHP の不必要な呼び出しを避けることによってサーバーのパフォーマンスが向上します。
英語wiki:favicon.icoがない場合に毎回Wordpressを読み込むのを防ぐため、レスポンスをキャッシュする。

■PHP リソースをキャッシュ
通常は有効
テーマによって呼び出されるCSSやJavascriptといった静的なリソースをキャッシュ。動的に生成されるなら無効に。

■モバイルをキャッシュ
テーマによる
モバイル版とPC版で別々にキャッシュを作成。モバイル・PCで表示を切り替えるテーマでは有効に。完全レスポンシブデザインのBootstrapベースのテーマなら不要。

■プライベートキャッシュ URIs
パブリックとしてキャッシュしないページの指定。一行に1つ記載。行末に$をつけないと、部分一致で処理される。

 

  • privateでマッチ:category/private、category/private-posts、tag/private、2017/10/i-took-a-private-phone-call
  • /category/privateでマッチ:/category/private、/category/private-posts
  • /category/private$でマッチ:/category/private

■クエリ文字列を落とす

特定のクエリ文字列をキャッシュしない。デフォルトではURL末尾のクエリ文字列ごとに表示されるページがキャッシュされるので、避けたい場合はここに文字列を記載。

 

[3]パージ

パージ(purge)=空にする・削除

■アップグレード時にすべてをパージする
有効
プラグイン、テーマがアップグレードされたときにはキャッシュを削除。情報の古いバージョンと新しいバージョンのキャッシュが混在すると不都合が生じる可能性があるので削除が基本。

■公開 / 更新の自動パージルール
場合による
固定ページや投稿ページの公開時・更新時に削除するページの種類を指定。「最近の投稿ウィジェット」の古い情報が削除されないと、新しい記事があるのに閲覧者には見えない状態になる。

■スケジュールされたパージURL
キャッシュを自動削除したいURLを記載する。指定されたURLは”パージ予定時間”で設定された時刻に自動的にパージされる。日付によって内容が変わるページや外部サイトのデータをもとに表示するなど、定期的に更新される情報のページなどに用いる。

■パージ予定時間
スケジュールされたパージURL” リストをパージする時間を指定します。 時刻はサーバー時刻を元に実行される。

 

[4]除外

ここはほぼ設定の必要なし。

■URIs を強制キャッシュする
強制的にキャッシュしたいページを1行に1つずつ記載。

■URIs をキャッシュしない
指定した文字列を含むパスはキャッシュの対象外に指定できます。

■クエリ文字列をキャッシュしない
クエリ文字列を含むページのキャッシュ除外設定。GETで値を渡して内容が変わるページがキャッシュされるのを防ぐ。

■カテゴリをキャッシュしない、タグをキャッシュしない、クッキー をキャッシュしない、ユーザーエージェントをキャッシュしない、ロールをキャッシュしない
いずれも1行に1つずつURLを記述します。

 

[5]最適化

wordpress plugin litespeed cache

CSS や Javascript などの圧縮結合などの設定。

CSS/JS を圧縮すれば早くはなりますが、テーマとの相性が発生するので、極端に動作が遅いケースを除いては避けるのが無難。

■CSS 圧縮化
場合による(Luxeritasや圧縮プラグインを使っているならオフ)
CSS ファイルの空白や改行コードコメントを削除して総量を圧縮。オンにするとテーマや環境によってはサイト全体のレイアウトが崩れたり正常に表示されなくなる。

■インライン CSS の圧縮
場合による
ページ内(別ファイルでない)のCSSコードから空白文字・改行・コメントが削除されます。

■CSS 結合
基本はオフ(分かる人ならオン)
複数のCSSファイルを1つにまとめる。オンにするとテーマや環境によってはサイト全体のレイアウトが崩れたり正常に表示されなくなる。

■CSS HTTP/2 プッシュ
オン
要求される前にあらかじめブラウザに CSS ファイルを送信。先に送ってしまうので高速化ができる。https化しているサイトのみ利用可。

■JS 圧縮化
オフ
Javascript ファイルの空白や改行コードコメントを削除してファイルサイズを圧縮。オンにするとテーマや環境によってはサイト全体のレイアウトが崩れたり正常に表示されなくなる。

■インライン JS の圧縮
場合による
ページ内(別ファイルでない)の空白や改行コードコメントを削除。

■JS 結合
オフ
Javascriptファイルを1つにまとめる。オンにするとテーマや環境によってはサイト全体のレイアウトが崩れたり正常に表示されなくなる。

■JS HTTP/2 プッシュ
オン
要求される前にあらかじめブラウザに内部 JS ファイルを送信。先に送ってしまうので高速化ができる。https化しているサイトのみ利用可。

CSS/JS キャッシュ TTL
604800
CSS/JS ファイルがキャッシュされる時間指定。秒単位で604800=7日が推奨。最小値は3600。

■HTML 圧縮化
有効
コメント・空白・改行コードを削除してHTMLファイルサイズを圧縮。CSSやJSと違って悪影響が出ることがない。

■CSSを非同期ロード
オフ
CSSファイルのロードを非同期化。これがオンだと、レイアウト構造だけが先に表示されてしまうことがある。問題が発生する場合は次のクリティカルCSSを生成をオンにする。

■クリティカルCSSを生成
オン(上のCSS非同期ロードが有効な場合にのみ機能)
非同期にCSSファイルのロードした場合にのみ機能。クリティカルCSSを生成します。

■バックグラウンドでクリティカルCSSを生成
オン(上のCSS非同期ロードが有効な場合にのみ機能)
非同期にCSSファイルのロードした場合にのみ機能。バックグラウンドでクリティカルCSSを生成します。バックグラウンドで処理し、キャッシュに送っておくことで生成の遅延をなくす。

■JS Deferredをロード
オフ
オンにするとHTMLの読み込みが終わってからJSがロードされるようになる。

■JQueryを除外する
オン(他の項目がオフならどちらでも)
最初に正しく読み込まれるべき jQuery が非同期化や圧縮の影響を受けないようにする。

■DNSプリフェッチ
リストに記載したドメインのDNS解決をあらかじめ行っておくことで、閲覧者の待ち時間を短縮。

■コメントを削除
オン
JSやCSSの縮小(圧縮化)をする際にコメントも削除する。オフだとコメントは残される。

 

[6]チューニング

クエリ文字列を削除とGoogle フォント以外は特に不要。

■CSS 結合の優先度
デフォルトでは最適化タブで結合させた CSS ファイルは外部 CSS の後に読み込まれます。ここで指定することで結合させた CSS ファイルを外部ファイルの前に読み込むことができます。CSS ファイルを結合してサイトの表示が崩れるケースでは修正できるかもしれません。

■CSS 除外
リストされた CSS ファイルは、縮小/結合されません。 完全な URL と部分文字列のを使用できます。

■JS 結合の優先度
最適化タブにて指定した、結合した JS ファイルを他の JS ファイルの前に読み込むことができます。JS ファイルを結合していてサイトの表示が崩れる場合に修正できる可能性があります。

■JS 除外
オフ
リストされた JS ファイルは、縮小/結合されません。 完全なURLと部分文字列の両方を使用できます。

■クエリ文字列を削除
オン
静的リソースからクエリ文字列を削除。

■Google フォントを非同期に読み込む
オン
理屈ではGoogle フォントを非同期にするとブラウザデフォルト文字列が表示されるはずなのですが、そうはならないのであまり意味がない(バージョンが上がって修正されてるかも)。ただ、表示に支障がある場合はオフに。

■Googleフォントを削除
場合による
すべてのページで Google フォントの読み込みを禁止します。

■重要な CSS ルール
CSS を非同期ロード を有効にする場合は、折り畳まれたコンテンツのクリティカルなCSSルールを指定します。

■JS 繰延を除外
指定されたJS ファイルは遅延読み込みがされなくなります。 完全なURLと部分文字列の両方を使用できます。

■WordPress 文字を削除
wordpress.orgの絵文字の読み込みを停止します。

■除外 URI
リストされたページの最適化を防ぎます。 完全なURLと部分文字列の両方を使用できます。

 

[7]メディア

メディア関連の設定です。地縁関係はクセがあるので、利用するなら確認したほうがよいです。

■画像 遅延読み込み
オフ
Lazy Load。画像が画面の表示領域に入ってから表示されるため実用には耐えない(バージョン次第かも)。

■画像 遅延読み込みを除外
リストされた画像は遅延読み込みされません。 完全なURLと部分文字列の両方を使用できます。

■画像 遅延読み込みプレースフォルダ
プレース ホルダーとして使用でき、他の画像の読み込みが完了する base64 の画像を指定します。

■Iframes 遅延読み込み
オフ

Iframesがビューポート(表示領域)に入った際にロードさせることで、ページの読み込み時間を改善することが出来ます。

■Inline Lazy Load Images Library
オフ

画像の遅延読み込みに対応するJavascript ライブラリをインラインに記述する。

 

■自動的に最適化する
オフ

ここから下は画像の最適化オプション。

■最適化Cron
オフ
オンにすると LiteSpeed の Image Server から最適化された画像を取得する cron ジョブが無効になります。

■オリジナル画像の最適化
オフ
オンにすると png と jpg 画像が最適化します。既存のものはバックアップされます。
次の「バックアップを削除する」をオンにすれば自動削除されます。

■オリジナルバックアップを削除する
オフ
最適化画像取得後、オリジナル画像を削除する。

■WebP のバージョンを最適化する
オフ
画像最適化の際、jpgとpngがWebP形式で保存される。WebPが必要でなければオフに。

WebPWebP は Google の推奨する画像フォーマット。高圧縮だけど、対応しているブラウザがまだ少ない(はず)。画像を最適化された .webp バージョンに置き換えることにより、読み込み時間が大幅に改善されるかもしれない。
■可逆最適化
オフ
画像を可逆圧縮で最適化する。非可逆圧縮に比べると圧縮率は落ちる。
■EXIF データを保持する
オフ
画像を圧縮する際にEXIFデータを保持するかどうか。画像のメタ情報を残したければオンに。

■WebP 画像への置換
オフ
画像を最適化された.webpバージョンに置き換える。.htaccess を使用。

■WebP 属性を置換する
[リスト]
WebPに置換する属性を指定。

■WebP の 特別な srcset
オフ
WordPress ロジックの外部で生成された srcset 要素の WebP への置換を有効にします。

 

[8]CDN

CDNを利用していないなら不要。オフで。

■CDNを有効にする
オンにすることで、コンテンツ配信ネットワークの使用を有効に出来ます。

■CDN URL
使用する CDN URLを指定します。

■元の URL
CDNを通じて提供されるサイト URLを指定します。

■画像を含める
CDN を介してすべての画像ファイルを提供します。

■CSS を含める
CDN を介してすべてのCSSファイルを提供します。

■JS 含める
CDN を介してすべての JavaScript ファイルを提供します。

■ファイルの種類を含める
CDN リンクで置き換えられる静的ファイルタイプのリンクを指定します。

■除外パス
これらの文字列を含むパスは、 CDN から配信されません。

■JQuery をリモート読み込み
ローカルではなくリモートの CDN サービスから jQuery を読み込むことによりページの読み込み時間を改善します。

 

[9]ESI

分かりません。LiteSpeed Web Server Enterprise Editionまたは LiteSpeed Web ADC でのみ機能。

高度な設定(ブラウザのキャッシュ含む)

ブラウザのキャッシュ関係はここに移動しています。

■オブジェクトキャッシュ
データベースオブジェクトのキャッシュ設定。

■ブラウザキャッシュ
オン
ブラウザキャッシュの有効化。サーバ側で設定していれば特に必要ない。
静的ファイルをユーザーのブラウザに保存され、キャッシュがある場合はウェブサイトにアクセスせず、キャッシュファイルを利用します。詳しくはこちら

■ブラウザキャッシュ TTL
推奨値:2592000
ブラウザキャッシュの有効期限。有効期限内では、CSSをいじってもキャッシュされたブラウザでは変更が反映されない。最小で30秒。推奨値の2,592,000は30日間。

■HTTP / HTTPS の互換性を向上させる
オフ
オンにするとHTTPSアクセスであっても、Cookie をHTTP Cookie として保存する。
同じドメインで HTTP と HTTPS の両方を使用する場合、HTTPアクセスではHTTPSで保存されたcookieが読み取れない。これを回避するためにHTTPSでもHTTP cookie として保存するようになる。

■インスタントクリック
オフ
閲覧者のマウスカーソルがページリンク上に移動すると、リンク先ページがプリロードされるようになる。クリックする前にリンク先ページを読み込むため、閲覧者にとっては高速に遷移して見える。
実際にアクセスされなくても読み込まれるため、サーバの負荷に影響を与える可能性はあります。

デバッグ・クローラー

通常は設定の必要はありません。

クローラーは”LiteSpeed Cache” プラグインのクローラーの挙動。

通常は閲覧者のアクセスの際に生成されるが、クローラー機能を使うとアクセスされる前にキャッシュを作成し、表示の高速化を図ります。

 

WP プラグイン “Litespeed Cache" を使えるサーバー

WordPress プラグイン、Litespeed Cache は、"Mixhost" と “JETBOY で利用することができます。

どちらもマニュアル豊富でサポートも充実しているので初心者でも安心して使えます。

速度が遅い、あるいはサーバーの操作が難しいとお悩みなら乗り換えを考えてみてはいかがでしょう。少なくとも表示速度とキャッシュプラグインに悩まされることはなくなりますよ。