雑記&IT関連

WordPress ロゴ画像がスマホだけ横長になるトラブル ~ 原因と解決方法

WordPress ロゴ画像 横長になるトラブル

WordPress ロゴ画像 横長になるトラブル

こんにちは、ヤス@ロコ父さんです。

先日、WordPress + AFFINGER6 の設定や追加したプラグインの設定をいじっていたところ、

ロゴ画像がスマホだけ上のアイキャッチ画像のように横長に変形する(縦横比が維持されていない)トラブルに遭遇しました。

色々対策をしても修復できず、3日経過してようやく修復に成功しました。

その経緯・推定原因・修復方法をご紹介します。

 

きっかけは「永続オブジェクトキャッシュを使用してください」

「きっかけ」となったのがWordPressのヘルスステータスで

「永続オブジェクトキャッシュを使用してください」

という推奨のメッセージでした。

体感的にサイトの表示速度が遅いとは感じていませんでしたし、

ヘルスステータスも「サイトのレスポンスは良好です」というメッセージが表示されており、

放置しても良かったのですが、ついつい潔癖症の癖が出ることに。。

WordPress ロゴ画像 横長になるトラブル

WordPress ロゴ画像 横長になるトラブル

ここでちょっと用語の解説をします。

永続オブジェクトキャッシュとは?

永続オブジェクトキャッシュは、サイトのデータベースの効率を上げます。その結果、WordPressがサイトのコンテンツや設定を迅速に取得できるようになるため、読み込み時間を短縮できます。

ホスティングサービスに問い合わせれば、サイトで永続オブジェクトキャッシュを有効化できるかどうかがわかります。お使いのホスティングサービスでは、次のオブジェクトキャッシュサービスをサポートしているようです。 ⇒ APCu

どうやら、

X-SERVERのレンタルサーバには「APCu」というオプション的な機能があって、

これと連携するようにWordPress側(Webフロントエンド+データベース)を設定?構成?

すればサイトの表示速度を改善できるらしいです。

APCuとは?

APCuとは、PHPにより動的に生成されるページデータを指定時間キャッシュし、PHPページの表示を高速化する機能です。

 

これまでやってきた仕事では、データベース(MySQL、PostgreSQL)チューニングとしてDBキャッシュのパラメータとかをいじった経験はあるので、(DBのクエリデータではなく、ページデータという違いはあるものの)何となく理解はできるし、悪い方に転ぶ予感もしませんでした。

 

初めてキャッシュプラグイン「W3 Total Cache」を使ってみた

一方で「APCu と連携してくれるキャッシュプラグイン」は何があるのかな?

と調査してみると、どうやら

「W3 Total Cacheというプラグインが良さそう」

という判断になり早速インストールしました。

W3 Total Cacheプラグインを有効化すると「パフォーマンス」が左側メニューに追加され、

「一般設定」の画面を見ると「オブジェクトキャッシュ」の設定があったので

この機能だけ有効化しました。

  • 「有効化」にチェックを入れる
  • 方法として「オペコード: Alternative PHP Cache (APC/APCu)」を選択する
  • 設定を保存する

これで「永続オブジェクトキャッシュ」が働くようになり、サイトヘルスステータスの警告は解消しました。

WordPress ロゴ画像 横長になるトラブル

これで何事も起きなければ「めでたし、めでたし」となったのですが。。。

 

スマホだけロゴ画像が横長に変形して表示されるようになった

その後、ロゴ画像の入れ替え(高速化のための画像フォーマット変更)などヘッダー上部に表示される「ロゴ画像」「サイトのタイトル」周辺の設定をいじって結果を確認していると、、

  • PCでは相変わらず正常に表示される
  • スマホではロゴ画像がビヨ~ンと横長に表示される

という困った表示になっている事に気付きました。 ;;汗~

WordPress ロゴ画像 横長になるトラブル

いろいろ設定を変えては戻してと修復を試みたのですが、

スマホでは相変わらずロゴ画像がビヨ~ンと横長に表示されるのです。

これは困りました。。。

結局、この状態で週末の2日間くらい放置しておりました。 汗 (;^_^A

何をやっても修復できず「もう、ロゴ画像を取るしかないかな~、タイトルだけにするしかないかな~」と思いながらも、

  • 既存で有効になっている設定と、新しくインストールしたW3 Total Cacheの設定のどこかで競合(コンフリクト)を起こしているのではないか?

という目線で調査・対策を繰り返していたら遂にに修復できました。

 

遅延読み込みが2重に有効になっていた(推定原因)

トライ・アンド・エラーの手法でたどり着いた原因と結果なので、

これが本当の原因や解決方法なのかは分かりませんが、

以下が推定した原因と対策です。

原因:

  • もともとは、AFFINGER6のテーマで「遅延読み込み」を有効化していた
  • W3 Total Cacheプラグインの設定画面を下までじっくり見て行くと、ここでも「遅延読み込み」がデフォルトで有効になっていた
  • つまり2つの機能で「遅延読み込み」がきいていた(機能が競合していた)
  • 前者はWordPress+テーマの機能、後者は追加したW3 Total Cacheプラグインの機能

 

WordPress ロゴ画像 横長になるトラブル

WordPress ロゴ画像 横長になるトラブル

対策:

  • W3 Total Cacheプラグインでデフォルトで有効になっていた、「遅延読み込み」を無効化した
  • これでロゴ画像が横長になる変形するトラブルが治った

 

一般的にWordPressプラグインを入れ過ぎることによるリスクとしては

  • サーバーの表示レスポンスが低下する
  • セキュリティ脆弱性の懸念箇所が増える
  • テーマとプラグインの機能が重複したり競合したりして不具合の要因が増える

が挙げられています。

表示速度向上のためのキャッシュ機能用プラグインについては、疑問視するブロガーも少なからずいらっしゃる模様で、

  • W3 Total Cache
  • WP Super Cache

のどちらを使うべきか(はたまた使わない方が良いのか)悩ましい所でした。

結局はW3 Total Cache をインストールして使っていますが、

「機能的な競合が起きていないかどうか?じっくり設定を確認しないといけない」

ことについては今回のトラブルを通じて勉強になりました。

以上ご参考になれば幸いです。

 

参考記事:

 

にほんブログ村

記事がお役に立った際はポチっと応援をお願いいたします。
にほんブログ村 ライフスタイルブログ 50代の生き方へ
にほんブログ村 犬ブログ トイプードルへ
にほんブログ村 その他生活ブログ 節約・節約術へ

当サイトでは、Amazonアソシエイトをはじめとした第三者配信のアフィリエイトプログラムにより商品をご紹介、適格販売により収入を得ています。