W3 Total Cacheをレスポンシブデザインのテーマで使用する時の注意ポイント!!【WordPress】

最近WordPressの表示速度の高速化について結構考えているのですが、表示速度向上においてかなり重要になってくるのが「キャッシュ」という仕組みです。
キャッシュは、1回目の訪問時にページ内の情報を幾つかパソコン内に保存しておいて2回目以降の閲覧時に表示スピードを上げる仕組みの事を言うのですが、その設定ができる有名なWordPressのプラグインが「W3 Total Cache」です。
W3 Total Cacheで問題が…
僕も試してみようと思い、W3 Total Cacheをこのブログに入れてみました。
その後、プラグインの導入によって何か問題が起きていないか確認をして回りました。
PCの方は大丈夫だったので、今度はスマホの表示に切り替えて確認してみると所々表示がおかしい。「あれ?スマホの方表示おかしいな」と思って再読込みしてみたのですが、表示はおかしいままでした。
そして、何気なしにPC表示に戻してみるとPC表示もおかしな事に…

ただこの表示で何が起こっているのか理解できました。この状態って実はモバイルのキャッシュが残ってしまっている状態なんですね。このブログはレスポンシブデザインになっていて、その上PHPでデバイスごとにHTMLの出力を切り替えているのです。
それなのにスマホとPCで同じキャッシュを使ってしまっているので、キャッシュがこんがらがってしまって本来であればPCで表示されるはずのないスマホの表示が出てきてしまったり、スマホではPCの表示が反映されてしまって表示崩れが起きてしまっていたのです。

要はPCもスマホも同じキャッシュを生成しようとしてしまっていて、表示がモバイルとPC合体させたような状態になってしまっていたのです。

ですから、PCとスマホで別々のキャッシュを生成するように設定をし直したら解決するんじゃないか?と思い、設定し直してみました。
W3 Total Cacheの設定で変更した箇所
まずそもそも僕が行っていたW3 Total Cacheの設定ですが、バズ部のW3 Total Cache のおすすめの設定方法を参考にして設定していました。(CDNの設定はしていません)
Object Cacheの設定
この設定をした上で、[General Settings]を開いて[Object Cache]のEnableチェックマークを外します。

Object Cacheがオンになっているとページのキャッシュが先にアクセスした端末の表示になってしまうみたいです。先程説明した同じキャッシュを使ってしまっている状態になってしまうのでレスポンシブデザインの場合はオフにするようにしておきましょう。
Manage User Agent Groupの設定
[User Agent Groups]というページへ移動します。このページではユーザーエージェントをグループに分類してそれぞれのグループごとにキャッシュを作成する事ができるようになります。
既にデフォルトで「high」と「low」というグループが作成されているので「high」というグループの方の「Enabled」にチェックを入れて保存します。

ちなみに「low」の方は古い昔の携帯電話用のキャッシュになります。チェックは付けても付けなくてもどちらでも大丈夫です。





TwitterとFacebook用のOGP設定方法と表示確認方法
WordPressで作成した記事をSlackでシェアしたときに、抜粋文が長く表示される場合の対処法
CSSで::placeholderにスタイルを設定する方法
Visual Studio Codeでできる最低限のGit操作方法
MAMPでローカル開発環境にWordPressをインストールする手順
Vue CLIでの画像パスの指定方法・配置場所まとめ
ウェブサイト上で簡単にWYSIWYGエディタを実装する「TinyMCE」
Visual Studio Codeとスニペット・ドキュメント検索アプリの「Dash」連携を行うプラグイン
gulp 4.0から新しく加わったseriesとparallelについての備忘録
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
1Passwordの開発者向け機能(SSH Agent / Environments / 1Password CLI / Developer Watchtower)
Default Folder Xで保存ダイアログ内のファイルリストにフォーカスする方法
Obsidianで整理した知識をAnkiで定着させる方法
Figma × Keyboard Maestroでどこまで効率化できる?
マウス操作の完成度が高いウインドウリサイズアプリ「Magnet」
Macで複数ディスプレイを使っている場合に便利な設定集
AppCleanerでMacアプリを関連ファイルごと完全に削除する
操作に没頭できる!Firefox版 Arcのようなブラウザ「Zen Browser」
chezmoi(シェモア)で始めるdotfiles管理
GitHubの通知を見逃さない!通知に特化したアプリ「Gitify」