PR

WPサイトにUPしたPNG画像が勝手にJPGに変換される問題の解決策

Wordpress

スマホで撮ったスクショ画像って、たいてい縦長のPNG画像になりますよね。

当然のようにPNG画像のつもりでサイトにアップロードしたのになぜかJPGに変わってしまうものがあって困ってたので、解決策をメモがてらまとめておきます。

悪さしてたのは、まさかの画像圧縮プラグインでしたよ…

スポンサーリンク

スクショ画像なのに.jpgになってる…?

私はサイトの記事作成をする中で、スマホやPCの画面のスクショ画像を添えながら手順の解説を書くことがあります。

PCのスクショ画像のほうは縦長だったり横長だったり色々なのですが、スマホで撮ったスクショ画像はほぼ全て縦長の画像で、画像形式はPNGです。

特になにか設定をいじらなくてもスマホの場合は元々そうなってるし、PCの場合もスクショ撮影ツールの設定が元々PNGになっていたので、自分の中ではスクショ=PNGと思っていました。

ある時、一度アップロードした後で差し替えたくなった画像があり、ファイル名などを変えずに画像の再アップロードができるプラグインを使って、画像を置き換えようとしたんです。

…なぜかできないんですよ。

普段は特に問題なく再アップ完了するのに、そのときに限って『このファイルは扱えません』みたいなエラーが出て、画像のアップロード実行ボタンが押せなくなってたんですよね。

Helga
Helga

なんで?何かしたっけ?

処理をキャンセルしてファイルの詳細を見てみたところ、そこで初めて、ファイル形式がおかしいのに気が付きました。

.jpg?

スクショ=PNGとまで思っている私が、スクショ画像をJPGで保存することはまずありません。

当然、差し替えようとする前のスクショ画像だってPNG形式だったに決まってるし、PNGのままで問題ないと思ってるので、わざわざJPGに変換するわけもありません。

いつの時点からこうなっていたか分からないのが気持ち悪い、謎のJPG形式ですよ。

そしてメディアライブラリの画像一覧画面に戻って見てみると、他にも拡張子が.jpgになっているスクショ画像がチラホラ…

なんなの…?

スポンサーリンク

拡張子が変わってしまう原因

いろいろ調べてみたところ、画像圧縮プラグインの『EWWW Image Optimizer』を入れていると、サイズの大きいPNG画像が自動的にJPGに変換されることがあるみたいです。

EWWW Image Optimizerの公式フォーラム内に、拡張子の自動変換現象についての投稿が見つかりました。

投稿のタイトルは”EWWW Converting PNG to JPG (This Setting is Unchecked)”。

要は、PNGからJPGに変換する設定は無効にしてるのに勝手に変換されるんですけど!っていう内容です。

上記のお悩み投稿でプラグイン作者の方が返信していた内容をざっくりまとめると、以下の条件に当てはまる場合は、プラグインの設定に関係なく画像形式が変換されるとのことでした。

  • 容量300KB以上のPNG形式の画像
  • 透過されていないPNG画像
  • JPGに変換すると画像が小さくなる

png形式って、画質が劣化しない代わりにファイルの容量も大きくなりがちですよね。

ファイルの縦横サイズが大きければ、当然容量もそれなりにあるわけで。

大きいサイズのpng画像がそのままの大きさ・重さで格納されてサーバー容量がいっぱいにならないよう、軽くするために自動的にjpgに変換してくれるみたいですね。

あとは、透過しないんだったらPNGである必要ないよね?なら容量もっと軽くできるJPGで良くない?ってことです。

自分で考えなくても自動で容量の対策してもらえてて感謝するべきところなんでしょうけど、私は正直その仕様いらんかったよ…

スポンサーリンク

PNGを勝手にJPGに変換させないようにする

画像形式の自動変換をさせないようにするためには、Wordpressサイトのfunction.phpにコードを書けばいいみたい。

私も早速、公式フォーラムに投稿されていた所定のコードを追加しました。

※クリックで全文選択されます。

// [公式] EWWW Image OptimizerのPNG→JPG自動変換を無効化する
define( 'EWWW_IMAGE_OPTIMIZER_DISABLE_AUTOCONVERT', true );
スポンサーリンク

まとめ

重たい画像ファイルの容量を圧縮してくれる便利なプラグインがかえって妨げになっているとは考えもせず、解決までに時間がかかってしまいました…

同じ現象でお困りの方は、この対処方法策をぜひお試しください。

一度はこの記事に書いた方法で自動変換を停止してみたものの、現在はEWWW Image Optimizerの利用を中止して他のプラグインに鞍替えしています。

ご紹介した対処方法はちゃんと効果があったのですが、別件のトラブルの原因がEWWW IOだったと判明したため、プラグイン同士の相性の都合で使用を断念した形です。

インドアHack