mod_PageSpeedの設定で画像が表示されない?webp自動変換を無効化する方法!
先日、私が運営しているWordPressのウェブサイトで画像が表示されなくなるという問題が起きていることに気が付きました。
どうもその問題が発生している画像を確認すると、「mod_PageSpeed」というウェブページの最適化プラグインが有効になっているもの限定で、特定のウェブブラウザでページを閲覧した時であることも判明しました。
どうも同じような現象に悩まされている方がいるようで、調べてみると問題が起きているのは「mod_PageSpeed」を利用したウェブサイトだけのようです。
どうもこの最適化プラグインが悪さをしているようで、実際に最適化されている画像をよく確認すると「webp」という見慣れない拡張子に変換されていました。この拡張子に対応していないウェブブラウザで閲覧した際に画像が表示されなくなってしまうというのが今回の原因でした。
実は少し前からこのwebpという拡張子に画像ファイルが自動で変換されていることには気付いてはいたんですよ。
「新しい規格の拡張子なんだな」、とあんまり深くは考えてこなかったのですが、webpに対応していないブラウザでは画像が表示されないことにすぐに気が付くべきでした。特に私の場合、Google Chromeを主に使用しているおり、webp対応している為意識外だったんです。
webp(ウェッピー)とは?
webpとはGoogleが開発している次世代の画像形式です。
特殊な圧縮技術を用いており、画質の品質を低下させることなく容量を小さくすることができます。実測値では非可逆圧縮モードでjpegと比較して25~34%程小さくなり、可逆圧縮モードでpngと比較して28%程小さくなるらしいです。
webpが次世代の画像形式として注目される理由
特に近年ウェブページにpngファイルを利用するケースが多く、数年前と比べてかなり普及しています。
というのもpng形式の画像は透過処理に優れ、アルファ値を保持できる点と他形式の画像よりも高画質であるメリットから次第に需要が高まっていき、今では当たり前のように利用されています。
ちなみに一昔前まではpng形式に対応しているウェブブラウザは少なかったので、当時はjpgやgif形式が多く使われてきました。
ところがこのpng形式は画像としての性能は高いのですが、高画質であるために情報量が多い、つまり画像ファイルの容量が大きいというデメリットがあります。
容量が大きいと、サーバとウェブブラウザ間の転送量が大きくなってしまいますので、pngを多用すればウェブページの表示が遅くなってしまうなどの問題が発生してしまいます。
そんな背景があり、画像の品質を保ち且つ、転送量を削減する次世代の画像をGoogleが開発し、それが「webp」です。
webpは対応ウェブブラウザが少ないという問題
「webp」の最大の問題点は今現時点ではあまり普及していないということです。
要するに対応しているウェブブラウザが少なく、Google自社のウェブブラウザであるGoogle Chromeは対応していても、他は対応しておらず、画像が表示できないという問題があります。
もちろん他のFirefoxやEdgeなど最新にバージョンアップすれば、対応できるケースもありますが、全利用者が常に最新バージョンにしているとも限らないので、画像が表示されない環境の利用者も少なからずいるということになります。
画像に関わらず、ウェブサイトのコンテンツが正しく表示されないというのはウェブサイトの運営者としては大きな問題であることは間違いなく、それが原因で訪問者が減ってしまうなんてこともあるかもしれませんよね・・・。
最新版のmod_PageSpeedによってwebpに自動変換
さて今回の主題に戻りますが、実は少し前にmod_PageSpeedのバージョンアップがあったようで、最適化時に画像をwebp形式に自動変換する機能が組み込まれたそうなのです。
ただ問題なのが、バージョンアップ後にApacheの設定を変更しないとデフォルトでwebpに変換する機能が適用されてしまうそうです。
実際に今回特定のウェブブラウザ上で画像が表示されないという根本的な原因は、webp形式に画像が強制的に変換されてしまうというところにありました。
そういえば普段私が利用しているレンタルサーバでmod_PageSpeedのバージョンアップのお知らせメールが少し前にあったことを思い出しました。恐らくその時から画像が表示されなくなるという問題が起きるようになったのでしょう。
webpの技術には魅力を感じますが、このままの設定にしておくのも気分的にも安心できませんので無効化してみようと思います。
mob_PageSpeedでwebpを無効化する方法
webp自動変換の設定を無効化する場合、本来ならばapacheの設定を必要としますが、レンタルサーバでは、管理者が直接設定できないことがほとんどだったりします。
そこで今回はサーバディレクトに配置できる「.htaccess」を用いて設定を変更したいともいます。
ドメインのルートディレクトに「.htaccess」ファイルが存在しない場合は新規に作成して下さい。
その中に以下の記述をすることで無効化することができます。
1 2 | ModPagespeedDisableFilters convert_jpeg_to_webp ModPagespeedDisableFilters convert_to_webp_lossless |
WordPressを運用されている場合は、.htaccessのファイルがあると思いますので、そのまま追記するだけで問題ありません。
convert_jpeg_to_webpとは?
ちなみに画像を自動でwebpに変換するフィルターのオプション名はconvert_jpeg_to_webpです。このフィルターがどうやらデフォルトでOnになる設定になってしまうようですね。
上記の手順により追記した一文はこのフィルタを無効化してくれます。
確かにwebpを利用することでページの表示速度は上がった気はします。
ですが現状、webp自動変換を有効にするのには少し抵抗がありましたので無効化する手順をご紹介させて頂きました。
いつかwebpが普及し始めたら有効化しても良いと思います。
最新記事 by よっき (全て見る)
- 「圧着」と「圧接」の違い!コネクタを使った効率的な配線作業! - 2019年10月26日
- 夏の暑さ対策は大丈夫?冷却性能抜群のおすすめCPUクーラー!メモリに干渉しない最強の商品を紹介! - 2018年5月1日
- 自作PC弐号機のケースを換装!SilverStone製のミニタワーで冷却性とかっこよさを追求! - 2018年3月11日
スポンサードリンク