【解決済み】Luxeritasの高速化設定が原因でサーバーキャッシュが効かず。設定見直しで爆速化!!

高速なテーマでおなじみのLuxeritasに落とし穴。今まで使っていた ロリポップ!アクセラレータがLuxeritasの高速化設定のせいで効いていなかったようです。しかし、htaccessからある項目を削除することでバッチリキャッシュしてくれるようになりました!!
ロリポップ!アクセラレータとLiteSpeed Cacheの比較もしています。
キャッシュ系プラグインを入れたのにキャッシュが効かない
ここ数日、キャッシュ系プラグインに悪戦苦闘していました。
先日導入した、サーバーを監視する「UptimeRobot」を見ていると、サーバーのレスポンスタイム(応答時間)が不安定なことに気づきました。UptimeRobotの正確性はともかく、やはりキャッシュ系のプラグインを入れたほうが良いのかな?と、WP-Optimize や LiteSpeed Cache など、有名どころのキャッシュ系プラグインを入れてみたものの、なぜかうまくキャッシュしてくれません。
今まで効いていたと思っていた、ロリポップ!アクセラレータも、よくよく調べてみると効いていないっぽいです。
原因は、私が使っているテーマ「Luxeritas」にありました。Luxeritasは高速動作で有名なWordPressテーマですが、その高速化設定がどうやら仇になっていたようです。
原因はLuxeritasの高速化&セキュリティー向上用.htaccess
Luxeritasは、そのままでも十分高速なのですが、高速化&セキュリティー向上用のコードを別途 .htaccessに追記することで、さらなる高速化とセキュリティーをアップさせることが出来ます。
Analyse your HTTP response headers
ちなみに高速化&セキュリティー向上用のコードを.htaccessに記述しないとこの評価です。
しかし、.htaccessに追記するコードの「ある」1行のおかげでキャッシュが効かなくなっていたようです。
その記述がこちら。
# キャッシュ初期化 (1秒に設定)
ExpiresDefault "access plus 1 seconds"
意味は「すべてのファイルに対して、アクセスしてから1秒間だけキャッシュを許可する」です。
正常動作しなかった現任はどうやらこの一文にあるようです。
キャッシュの状況は、ブラウザの「管理者ツール(デベロッパーツール)」で調べることが出来るのですが、「ExpiresDefault “access plus 1 seconds"」の記述が.htaccessにあると、「cache-control:public, max-age=1」のメッセージが出て、何度リロードしても一向に「x-cache:HIT」になってくれせん。
※x-cache:とは、サーバー側のキャッシュがヒットしたことを示すレスポンスヘッダーです。
「cache-control:public, max-age=1」とは 「誰でもキャッシュしてOKだけどキャッシュの有効期限は最大1秒」という意味で、「x-cache:MISS」は、キャッシュしていないというメッセージで、通常は「x-cache:HIT」になるべきものです。
X-Cacheのステータス一覧については以下のとおりです。
ピークタイムもサクサク表示!LOLIPOP!のコンテンツキャッシュ機能のご紹介 – Pepabo Tech Portalより~
そこで .htaccessから「ExpiresDefault “access plus 1 seconds"」の文字を消してみたところ、「cache-control:public, max-age=1」の文字が消え、キャッシュが効いているメッセージ「x-cache:HIT」が出るようになりました。
.htaccessに記述する項目は、ブラウザキャシュに関するもので、サーバーのキャッシュとは関係ないと思うのですが、「MISS」になるということは少なくとも正常ではなかったということでしょう。
しかし無事に「x-cache:HIT」になったので良しとしよう!!
※.htaccessは記述ミスがあるとエラーが出ますので自己責任で。また作業前にはコードのバックアックを取った上で行ってください。
ロリポップ!アクセラレータのキャッシュ効果
ロリポップ!アクセラレータのキャッシュが効くようになったことで、データ的にはこれだけ速くなっています。
いくつかのページで計測してみました。
結果をGrok先生に評価していただきました。
タイム短縮の具体的な成果:
- 223ms → 79ms(約64.6%短縮):
144msの削減。ページの読み込み時間が200ms以下は、ユーザー体験上「瞬時に感じる」範囲。この短縮は、特に初回訪問時の体感速度を大きく向上させる。- 396ms → 122ms(約69.2%短縮):
274msの削減。400ms近くあった遅延が100ms台に落ちたのは、サーバー負荷の高い状況や複雑なページでも高速化が実現できている証拠。- 621ms → 171ms(約72.5%短縮):
450msの削減。600msを超える遅延はユーザー離脱のリスクを高めるが、171msは十分に「高速」と言えるレベル。この大幅な改善は、コンテンツの多いページやピーク時での効果を示す。総合評価:
これらの数値は、ページ読み込み時間の短縮率が64~72%と非常に高く、ロリポップ!アクセラレータのキャッシュが効果的に機能していることを示します。ウェブサイトの種類(例: WordPressブログ、ECサイト)にもよりますが、一般的に100ms以下の改善でも体感できる中、これほどの大差は顕著なパフォーマンス向上と言えます。
キャッシュが効いているかのテスト方法
そんなキャッシュ系プラグインを入れた場合、果たして効いているのか、いないのかは分かりませんよね。私も長い間キャッシュ1秒の設定のまま使っていたくらいですから。
Google Chromeブラウザで説明しますが、「F12」を押して管理者ツール「デベロッパーツール」に入ることでテスト可能です。
「デベロッパーツール」に入ったら、ページを一旦リロード(F5キー)して、Network > ページのurlをクリック > Headers をスクロールし、cacheの文字を探します。そこに「HIT」の文字があれば正常にキャッシュされているということです。
※「X-Litespeed-cache: hit」とは、LiteSpeedのキャッシュ機能がヒット(キャッシュ済み)したことを示しています。
WP-Optimizeの場合は「Wpo-Cache-Status:cached」。
※ロリポップ!アクセラレータのキャッシュ時間は10分間で、初回アクセス時はキャッシュが効いていませんので再度ブラウザをリロードすれば「Hit」になるはずです(また10分間経過後も同様でキャッシュが切れてしまいますので再度ブラウザをリロードする必要があります)。
また、WordPressにログインした状態ではキャッシュが効かない仕様(設定)になっていますので、F12でのテストはcookieなどの影響を受けないシークレットモード(プライベートブラウジング)を使いましょう。
※シークレットモード(プライベートブラウジング)は、Windows、Linux、Chrome OS の場合「Ctrl+Shift+n キー」を押す、Mac の場合「⌘+shift+n キー」を押します。
キャッシュ対象外となるファイル:
すべての拡張子のファイルがキャッシュされますが、以下に当てはまる場合はセキュリティの観点からキャッシュしません。URLに以下の文字列が存在する場合。
- wp-admin
- wp-login.php
Cookieに以下の文字列が存在する場合
- wordpress_
※ただし、 wordpress_test_cookie はキャッシュする- comment_author
- wp-postpass
ロリポップ!アクセラレータとLiteSpeed Cacheおすすめはどっち?
ここ数日間で、様々なキャッシュ系プラグインを試してみましたが、特に良かったのが ロリポップ!アクセラレータと LiteSpeed Cacheでした。
ロリポップ!アクセラレータは、サーバーでON/OFFするだけで簡単にサーバーキャッシュを行えるツールなのでキャッシュってなに?という初心者の方でも手軽に使えるツールです。キャッシュ時間は10分固定(キャッシュは10分後に必ず削除される)です。
一方、LiteSpeed Cacheは、多くのキャッシュ系プラグインの中でも断トツの機能と操作性を持っています。サーバーキャッシュやブラウザキャッシュ以外にも、ページを軽くするための画像や、CSS、JavaScriptなどの圧縮機能も搭載されているので、総合ツールとしては完璧に近いものがあります。
しかしキャッシュや圧縮の用語がたくさん出てきますので、ある程度詳しくないと、設定はもちろん、使いこなすのは大変だと思います。
キャッシュ時間は、長くも短くも自由に調整可能で、仮にキャッシュ時間を長く取ったとしても、ページの公開や更新時にはキャッシュを自動削除(パージ)してくれるので、更新後にページが古いままで反映されないということはありません。
私は今回、設定に悪戦苦闘しましたので、いつの間にかキャッシュや圧縮の用語に関してかなり詳しくなってしまいましたが、未だにどちらにするか決めかねています。
体感スピード
キャッシュが効いていない状態ではページをクリック後、一呼吸置いてページが表示される感じですが、キャッシュが効いているとクリック後、即時にページが表示されます。
ロリポップ!アクセラレータの場合、キャッシュ時間は10分間で、しかも初回アクセス時はどのページもほぼキャッシュが効いていないのでやはり明らかに遅いです。訪問者数の多いサイトなど、10分以内に誰かがそのページにアクセスしていれば、キャッシュが効いているので表示は速くなりますが、アクセス数の少ない個人ブログではあまり効果はないと思います。
LiteSpeed Cacheは、事前にキャッシュを効かせるクローラーというものがあるので、初回アクセス時でもサクサクページが表示されます。
体感で言えばLiteSpeed Cacheの圧勝です!!
サーバーレスポンス
サーバーレスポンスとは、Webブラウザから「このページの情報ちょうだい!」というリクエストを受けたサーバーが、「はいよ!」とそのページのデータ(HTMLや画像など)を返すときの応答時間のことです。
そもそも私がキャッシュに興味を持ったのは、サーバーを監視する「UptimeRobot」を見て、サーバーのレスポンスタイム(応答時間)が悪化していたからなのですが、LiteSpeed Cacheを有効にした途端、レスポンスタイムが改善しました(ロリポップ!アクセラレータは変化なし)。


体感スピード、サーバーレスポンスが改善したとなると、LiteSpeed Cacheを導入すべきなのは明らかなのですが、唯一ダメな点があります。
PageSpeed Insights
LiteSpeed Cacheで唯一の問題は「PageSpeed Insights」の成績です。PageSpeed Insightsとは、Googleが提供する「ウェブサイトの表示速度を測定し点数で評価/分析してくれる」無料のツールです。
私が使用している「Luxeritas」は高速表示でおなじみのWordPressのテーマですが、PageSpeed Insightsでテストすると、90点台が当たり前に出ます(時間帯と事前の画像圧縮が済んでいれば)。
しかし、LiteSpeed Cacheを有効にすると、ページの体感速度とは裏腹に、PageSpeed Insightsの点数は50~60点台に落ちてしまいます(悪いときは40点台もある)。


PageSpeed Insightsを気にしすぎるのはよくないと分かりつつも、高速表示で定評のあるLuxeritasを使っているだけに、やはり気になります。
設定の見直しも必要?
ページの圧縮はLuxeritasでも出来るので、現在は、LiteSpeed Cacheはキャッシュ系のみの機能を使用していますが、例えばLuxeritasの圧縮機能を停止して、LiteSpeed Cache一本に絞ったほうが良いのでしょうかね、いずれにせよ試すパターンが多すぎていまだに最良の設定は見つけられていません。
どちらを選ぶべきか
しかしながら、お手軽な ロリポップ!アクセラレータは、初心者や設定がよくわからない方には最強のツールであることには変わりありません!一方、表示速度とサーバーレスポンス改善などにもこだわりたい方は、LiteSpeed Cacheがおすすめだと思います。
読み込み速度の比較
ロリポップ!アクセラレータとLiteSpeed Cacheでは、どれくらい読み込み速度が違うのかをテストしてみました。
LiteSpeed Cache:
- 339ms 106ms 約68.7%短縮
- 435ms 87ms 約80.0%短縮
- 294ms 88ms 約70.0%短縮
- 281ms 82ms 約70.8%短縮
ロリポップアクセラレータ:
- 223ms 79ms 約64.6%短縮
- 396ms 122ms 約69.2%短縮
- 621ms 171ms 約72.5%短縮
読み込み速度に限って言えば、LiteSpeed Cacheのほうがわずかに優勢という感じです。
まとめ
「キャッシュ」機能に興味を持ち、ここ数日間で様々なものを試しましたが、まさかLuxeritasの高速化設定に問題があったとは思いませんでした。
しかし、今回色々と勉強することで、「キャッシュ」に関する様々な知識を得ることができ、「ロリポップ!アクセラレータ」のお手軽さと機能はとても優秀だと思いましたが、何よりも LiteSpeed Cacheの凄さですね!
LiteSpeed Cacheはとても優秀なツールですが、設定項目が多すぎていまだによく分かりませんが、使いこなせれば最強のツールであることは間違いありません!
追記:LiteSpeed Cacheの使用を断念!
やはり LiteSpeed Cacheの使用はあきらめました。理由は、どうやっても LiteSpeed Cacheを有効にすると(LSCだけでなくキャッシュ系プラグイン全般に言えますが)PageSpeed Insightsのテスト結果が悪化するのと、グローバルメニューなどのアイコンフォントが表示されないというトラブルが何度か発生したためです(キャッシュのパージで解消)。
その点ロリポップ!アクセラレータではそんな不具合は起こりませんし、Luxeritasの作者「るな」さんも「Luxeritas 3.x 以降では、ほとんどの場合キャッシュ系プラグインを導入した方が遅い」と書いていますので、Luxeritasにはキャッシュ系プラグインは不要なのかもしれません。
また、このようにも言っています。
お勧めのプラグインとお勧めしないプラグイン _ Luxeritas Themeより~
結局、私の中で導き出した答えは「Luxeritasにキャッシュ系プラグインは不要!」です。
Luxeritasを使えば全項目100点も出せますし、キャッシュ系ツールは ロリポップ!アクセラレータを入れておけばとりあえずは問題ないと思います!

ロリポップ!アクセラレータは、10分間のキャッシュなのでサイト全体のスピードアップは望めませんが、「Google砲(Discover)」などによるプチバズリには効果があると思います。
備忘録:LiteSpeed CacheがHITしない問題の解決方法
結局、LiteSpeed Cacheを使用するのは見送りましたが、私の環境ではLiteSpeed Cacheを有効にしても「X-Litespeed-cache: hit」がなかなか出ないというトラブルが発生し非常に苦労しましたので、解決方法を備忘録としてここに書いておきます。
LiteSpeedCacheのキャッシュが無効になる理由と解決方法 _ ギチギーク さんの記事を参考にさせていただきました。
「X-Litespeed-cache: hit」にならない原因は、ギチギークさん同様に、ルートフォルダーではなく「WP」フォルダーにWordPressを入れていたこと。
ギチギークさんのページを参考に、「WP」フォルダー内のhtaccessに書かかれている LiteSpeed Cache用の「# BEGIN LSCACHE~# END NON_LSCACHE」までの情報をコピーし、ルートフォルダーの冒頭に貼り付けることで無事「X-Litespeed-cache: hit」が出るようになりました。感謝です!!
# BEGIN LSCACHE
## LITESPEED WP CACHE PLUGIN - Do not edit the contents of this block! ##
<IfModule LiteSpeed>
RewriteEngine on
CacheLookup on
RewriteRule .* - [E=Cache-Control:no-autoflush]
~~~中略~~~
# END NON_LSCACHE
※ギチギークさんのページでは、LiteSpeed Cacheを一旦無効にすると「(この作業を)毎回手動で実施する必要がある」とありましたが、無効にしても特に問題無さそうでした。
WordPressをルート以外のフォルダーに入れている方は参考にしてください。
アクセラレータ LiteSpeed Cacheを使うならこのサーバー
LiteSpeed Cacheは、ハイスピードプラン、エンタープライズプランで使用可能です。ロリポップ!アクセラレータは、エコノミープラン以外の全プランでご利用いただけます。
ディスカッション
コメント一覧
まだ、コメントがありません