黒色ワナビーの住処

フリーゲーム・ブラウザゲームをやりながら筋トレで体を鍛えるブログ

『Stinger』のスマホページ切り替えが動作しなくなった件とその対応【WordPress】

      2015/05/07

当ブログはWordpressテーマ『Stinger』を使って運営しています。
(Stinger開発者のENJIさん、素晴らしいテーマをありがとうございます)

この『Stinger』テーマ、プラグインを使わずともPC用デザインとスマホデザインを自動で切り替えてくれる素敵機能を持っているのですが、ある日、自分のiPhoneから自ブログにアクセスしたところスマホ用ページに切り替わっていない現象を確認。

しばらく様子を見ても改善される気配がなかったので、テーマファイルの再インストールを行ったところ、なんとか改善。これでイケるかと思いきや……

気づいたらまたスマホ画面にPC向けページが表示されている。

これは本格的に原因追求しないと不味いなぁということで色々調べて見ました。

結論から言うとキャッシュ系のプラグインが悪さをしていたようです。

言われてみれば当たり前なんですが、キャッシュ系プラグインを導入している状態で最初のアクセスをPCで行えば、プラグインはPC用のページをキャッシュとして保存するわけです。で、次回以降アクセスを行う場合はそのキャッシュを元に表示を行うので、たとえスマホでアクセスしたとしてもPC用のページが表示される、と。

キャッシュを用いることの弊害として、更新がリアルタイムに反映されないなどのリスクは知っていましたが、この点に関しては完全な視点漏れでした。

それではどのように対処すればいいのかという話ですが、根本解決としてはユーザーエージェントごとにキャッシュする内容を分けて取り扱う必要が出てきます。

つまりはPCからアクセス時にはPC用のページをキャッシュし以後PCからのアクセス時にはそのPC用のキャッシュを表示する、スマホからアクセスした場合は別途スマホ用のキャッシュを作成し以後スマホではそちらのキャッシュを表示するというような処理が必要となってくるわけです。

さて、私が使っているページキャッシュプラグインは『Quick Cache』なのですが、困ったことにこのプラグイン、バージョン131121以降では、ユーザーエージェントごとのキャッシュ設定機能が有料版のみに限定されてしまっているんですね。

『Quick Cache』以外のページキャッシュプラグインの利用も検討しましたが、有名どころである『WP Super Cache』や『W3 Total Cache』は過去に脆弱性の問題が取り沙汰されていたので正直使いたくない……。

古いバージョンの『Quick Cache』にダウングレードして利用を続けるという方法もあるみたいですが、それもそれでなんだかなー、という感じです(ワガママでごめん)

そんなこんなで散々悩んだ結論ですが、
ページキャッシュ系のプラグインを使わないことに決めました!

身も蓋もない結論のような気もしますが、ページ高速化のために他の部分でリスクを背負いたくないですし、そもそも『Stinger』テーマ自体が非常に高速なテンプレートなので、そこまでしてキャッシュ系プラグインに頼らなくてもなー、という思いもあります。

実際に『Quick Cache』を削除してしばらく使ってみたのですが、体感速度としてそれほど遅くなったという印象はないんですよね。

ページの表示速度を評価するGTmetrixでも依然としてダブルA評価を取れてますし。

というわけで、あなたの使っているそのプラグイン、本当に必要かどうかよく考えようねっていうお話でした(なんじゃそりゃ)

注意:不用意なプラグイン削除はあたなのWordpressサイトを壊す原因にもなります。プラグイン削除の際は他への影響がないかを慎重に検討したうえ、キチンとバックアップを取ってから行いましょう。

 - ブログ運営 , ,