大きめのPNGは自動でJPEGに変換される

大きめのPNG画像をWordPressにアップロードすると、自動的にJPEGに変換されてしまっていました。例えばこの画像。

WordPress 5.3にバージョンアップした際の画面をキャプチャしたもので、元はPNGでした。でも、この画像はJPEGに変換されているため、画が汚くなってしまっています。

通常はこういう事はありません。PNGはそのままPNGでアップロードされます。でも、大きめの画像だと自動でJPEG化されるようです。「自動で」というよりも「勝手に」という感覚です。

[スポンサードリンク]

原因はEWWW Image Optimizerプラグイン

「そう言うものなんだろう」と思ってずっと使っていたのですが、ふと、どうにも気になって調べてみました。その結果分かったのは、EWWW Image Optimizerが犯人。このプラグインを止めれば、大きいPNG画像でもJPEG化されることなく、PNGのままできれいな画で見ることができます。

EWWW Image Optimizerを停止して、先程のものをアップロードしたのがこちら。

画像が大きすぎるので縮小されてしまっているためちょっとわかりにくいですが、文字のボケ方などが違っています。

原寸の画像のリンクも置いておきます。

右クリックで「新しいタブ」で開いてご覧ください(もちろん、「新しいウィンドウ」でもOK)。

EWWW Image Optimizer画像を適切に圧縮してくれる非常に有名なプラグインです。私も重宝していました。まさか、これが関与しているとは思っていませんでした。

というのも、画像形式の変換はしないように設定しているからです。

「PNG to JPG Conversion」を含め、すべての変換はオフにしています。と言うか、標準でこの様になっているはずです。ですので、このプラグインのせいで画像が自動で変換されることはないと思っていました。

しかし、実際には、上のように大きなPNG画像だとJPEGに変換されてしまっています。

[スポンサードリンク]

対策方法

ではどうするか?一番簡単なのは、EWWW Image Optimizerの利用をやめることです。でも、それはもったいない。画像形式はして欲しくないですが、圧縮は適切にやってもらいたいですから。

どうにかならないものかと検索してみましたけど、答えはなかなか見つかりません。この問題について触れている記事はいくつか見つかりましたが、どうも何か違います。

さらに調べてたどり着いたのがこちら。

このプラグインのサポートページです。やはり、同じ問題に悩む人がいらしたようで、サポートページで質問していました。そして、公式の回答が掲載されています。

上に書いた変換の設定によらず、PNGファイルのサイズが300KBを越えているとJPEGに自動変換するとのことです(他にもいくつか条件が書かれています。詳しくは原文をドご覧ください)。

で、この自動変換をやめさせるには、wp-config.phpファイルに、以下を記述するれば良いとのこと。

define( 'EWWW_IMAGE_OPTIMIZER_DISABLE_AUTOCONVERT', true );

[スポンサードリンク]

wp-config.phpの変更

では、実際にやってみます。

wp-config.phpはWordPressの基本設定のファイルです。WordPressの中からはいじれません。FTPを使います。

このwp-config.phpファイルは、WordPressのディレクトリの直下にあります。このファイルには色々書き込まれています。他は一切いじらず、一番下に先程の一行を書き加えます。

これで上書きすれば終了です。

この状態で実際にアップロードしたものがこちらです。

ただし、PNGのままだとファイルサイズは大きいです。だから強制的に自動変換しているわけですが。

この画像の場合だと、PNGで約1370KB、JPEGなら約706KBと、約半分になります。この点を踏まえて、この機能を使うか考えてみてください。

アップロード後にあとからPNGをJPEGに変換することも可能です。

なお、一旦JPEGに変換したものをPNGに(再)変換しても元の画質には戻りません。この点はご注意を。

それと、wp-config.phpの編集・取り扱いにもくれぐれもご注意を。このファイルを壊すとWordPerssが動かなくなりますので。

【こちらも注目】

スポンサードリンク