WordPress のパフォーマンスを向上させるキャッシュ系プラグインの WP Rocket において、特定の環境で利用すると文字化けが発生していました。
文字化けを解消させるには、WP Rocket が公式で提供しているページキャッシュ機能を無効化するプラグインを利用します。
WP Rocket を停止させずに、ページキャッシュ機能無効化プラグインを利用することで文字化けを回避する方法をご紹介します。
目次
2回目以降のアクセスで文字化けが発生
WP Rocket を有効化にしている状態でブラウザのシークレットモード等でアクセスします。1回目のアクセスでは文字化けしていないものの、ページリロードや2回目以降のアクセスで文字化けが発生している状態でした。
当然 WP Rocket を無効化すると発生せず、有効化すると発生します。WP Rocket の各機能を全オフしても発生してしまいます。
試しに、全プラグイン停止やテーマを WordPress 公式のものに変更してみたところ、原因はテーマの作りだったようです。今回はオリジナルテーマを利用していたため、テーマを別のものに変更するという選択は現実的に難しいため、WP Rocket の利用を諦める可能性も出てきました。
別プラグインでも同様にページキャッシュ等で文字化けしていた
どうしようかと思い調べてみると、別プラグインですが以下の情報にたどり着きました。
【WordPress】W3TCが原因で文字化けする場合の対処 | TeraDas
無料で人気のキャッシュプラグインである W3 Total Cache でも同様の文字化け問題が発生するようです。
この情報を参考に、ページキャッシュ機能の影響で文字化けが発生している可能性が高そうだと見て、WP Rocket 公式の情報を当たってみたところ、うってつけの対処方法が見つかりました。
In rare cases you may want to completely disable WP Rocket’s automatic page caching feature, but keep using other features such as minifying and combining files, LazyLoad, CDN, cache preload, and database optimization.
In order to disable page caching, just install and activate this helper plugin:
まれに、WP Rocketの自動ページキャッシング機能を完全に無効化しても、ファイルの最小化・結合、LazyLoad、CDN、キャッシュプリロード、データベース最適化などの他の機能は使い続けたい場合があります。
ページキャッシングを無効にするには、このヘルパープラグインをインストールし、有効化するだけです。(DeepL による翻訳)
Disable Page Caching – WP Rocket Knowledge Base
WP Rocket は有効化しつつ、ページキャッシュ機能だけを無効化してくれるプラグインです。プラグインといっても、コメントを除けば10行にも満たないコードです。公式プラグインなので安心して利用できますね。
W3 Total Cache ではページキャッシュ機能の有効/無効が選択できますが、WP Rocket の場合は自動的にページキャッシュ機能が有効化されます。よって、ページキャッシュ機能を無効化するには、公式が提供しているこちらのページキャッシュ機能無効化プラグインを導入します。
ページキャッシュ無効化プラグインの zip ファイルをダウンロードしてインストール
ページ内にある zip ファイルをクリックしてダウンロードします。
ダウンロード後、WordPress ダッシュボードのプラグイン→新規追加→プラグインのアップロードより zip ファイルのままアップロードします。
インストールできたら、有効化して完了です。
ブラウザのシークレットモード等で画面にアクセスし確認してみます。ページキャッシュが原因であれば文字化けが解消しているはずです。
正しく設定し、パフォーマンス向上を目指す
以上、WP Rocket のページキャッシュ機能無効化の方法でした。
文字化けしているからといって、WP Rocket プラグインを使わないというのはもったいない判断です。公式に記載の通り、ファイルの最小化・結合、LazyLoad、CDN、キャッシュプリロード、データベース最適化などその他の多くのパフォーマンス向上・ウェブページ高速化のための機能が多くあるためです。
WP Rocket は除外する JavaScript やページを設定できますし、ページに関しては正規表現を利用できるため柔軟な設定が可能です。
パフォーマンス向上のためのキャッシュ系プラグインはメリットが大きい分、環境に合わせた設定が必要な場合もあるため、全て同じ設定ではなく、サイト個々の最適な設定を探り、よりベターなパフォーマンスが発揮されるように正しく設定することが重要です。
WP Rocket 自体の設定方法は以前書いた記事をご参考ください。
コメントを残す