WordPress画像圧縮プラグイン「Compress JPEG & images」で月間の枚数制限に引っかかった場合は「TinyPNG」を利用する
この記事を読めば、枚数制限発動時に「同レベルの画像圧縮を無料・無制限」で行うことができます!
ブログ作成時に重宝するプラグイン「Compress JPEG & images」の弱点に対応しましょう。
WordPressプラグイン「Compress JPEG & images」と「TinyPNG」の関係性とは
「Compress JPEG & images」は、WordPressで使用する画像の圧縮処理を自動で行うことができるプラグインです。
クオリティを保ったままで高い画像圧縮率を実現するので、WordPressユーザーに根強い人気があります。
無料で使用できますが、月に500枚までという制限があります。
「TinyPNG(タイニーピング)」は、ウェブ上で無料画像圧縮サービスを提供しているサイトです。
そして、「Compress JPEG & images」と「TinyPNG」の提供元は同じ企業(voormedia社)です。
「Compress JPEG & images」がまだ提供されていなかった頃は、「TinyPNG」で画像を圧縮してWordPressにアップロードしていた人も多かったのではないでしょうか。
こちらには、枚数制限はありません。
今回の記事内容の主な対象について
以下のような人にドンピシャの記事です。
WordPressプラグイン「Compress JPEG & images」の枚数制限に引っかかったので同レベルのサービスで代替したい
先に説明したように、「Compress JPEG & images」には月に500枚という制限があります。
制限がかかった場合に真っ先に思いつく選択肢は、以下の4つです。
- お金を払って制限をとっぱらう
- 他の画像圧縮プラグインを使う
- Compress JPEG & imagesと同クオリティのTinyPNGを使う
- 解除されるまで圧縮しない
この中のどれかを選択することになると思います。
筆者の場合は、「TinyPNG」を選びました。
理由は以下の3点です。
- 無料で圧縮したい
- クオリティを揃えたい
- 制限枚数がない
手動ゆえの手間はネックになりますが、それが嫌な人はお金を払うとよいでしょう。
作業環境について
今回の作業には、FTPを利用します。
ですから、FTP接続でファイルのダウン・アップロードが可能なことが前提になります。
ちなみに、 FTPとは、File Transfer Protocolの略です。
簡単に説明すると、PCとサーバの間でファイル転送を行うためのものです。
筆者の場合は、FFFTPというフリーソフトを使用しています。
接続設定には、レンタルサーバーから知らされている情報を使います。
また機会があればFTP接続について記事を書きますが今回は割愛します。
TinyPNGで複数回画像圧縮するとどうなる?
「Compress JPEG & images」と「TinyPNG」を併用する場合に1つ問題点があります。
それは、FTPソフトで画像ファイルをダウンロードする際に、既にプラグインで圧縮したものが混入する可能性があることです。
なぜなら、サーバー上のファイルとメディアライブラリ上のデータでは微妙に画像作成タイミングがずれているケースがあるからです。
ですからまず、「既に圧縮したものを更に圧縮できるのか」と、「できる場合は何か不都合が発生しないか」を検証していきます。
検証について
圧縮回数の検証に使う画像は、著作権フリー画像です。
配布サイトから、「1920×1271」で「445KB」のjpg画像をダウンロードして検証します。
検証は、以下の順に行っていきます。
- 複数回の圧縮が可能かを検証
不可能なら圧縮の重複を心配する必要がない - 圧縮回数による画像の劣化を検証 ※2が可能な場合
複数回圧縮時に許容外の劣化が生じるなら厳密な管理が必要になり非常に手間
検証の前に、「TinyPNG」の画像圧縮の手順を説明しておきます。
TinyPNGの画像圧縮の手順説明
こちらのページが「TinyPNG」のホームです。

画像を圧縮するには、対象画像を「TinyPNG」のホームにある点線で囲まれた部分までドラッグ・アンド・ドロップします。
しばらくすると、以下のように圧縮が完了します。

圧縮が完了したら右の「download」をクリックすればpcの所定の場所にダウンロードできます。
画像圧縮の処理は以上になります。
簡単ですね。
せっかくなので、圧縮前後のファイルのプロパティを比べてみましょう。
上が圧縮前、下が圧縮後です。


大きさはもちろんそのままで、解像度が300dpi→96dpiになりました。
ファイルサイズは、445kb→328kb という結果になりました。
実際の画像は以下になります。どちらがどちらでしょう?

答えは、左が圧縮したものです。
画質的には全く問題ないです。
複数回の圧縮が可能かを検証
次に、圧縮した画像を更に圧縮できるか試してみます。

はい、圧縮できてしまいました。
ちなみに解像度は変わらずの96dpiで、これ以上は下がらないようです。
ファイルサイズは、328kb→309kb に圧縮。
圧縮回数による画質の劣化について検証
一応、ファイルサイズに変化がなくなるまで圧縮してみます。

4回目あたりから12回目までちびちびと圧縮され13回目で完全に絞りきったようです。
圧縮前画像と13回目の画質を比べてみましょう。もちろん13回目でも画質は96dpiのままです。ファイルサイズのみ圧縮されています。

はい、どちらがどちらでしょうか?
さすがにわかりますね、右が13回圧縮したものです、あきらかに劣化しています。
もう少し細かく見てみましょう。

左から、圧縮なし・1回・2回・1%(4回)・0%(9回)
※%表記は、圧縮率がそのパーセンテージに至った回数です。画像によって当該%に至る回数は異なると思います。
アップにすると分かりやすいのですが、小さい画像なら思ったほど気にならないかもしれません。
しかし、圧縮はせいぜい2回までにしておいたほうが無難だと思います。
やりすぎると劣化する割には圧縮率が低いです。 手間もかかりますしね。
TinyPNG画像圧縮検証結果についてのまとめ
結論について簡単にまとめると以下になります。
- 複数回の圧縮が可能
- 圧縮回数は最大2回までにするのが無難
今回行う方法なら、最高でも「Compress JPEG & images」で1回、「TinyPNG」で1回の計2回の圧縮までしか発生しませんから何の憂いもなくなりました。
必要なデータがそろったので、いよいよ「Compress JPEG & images」と「TinyPNG」の運用方法について書いていきます。
WordPressプラグイン「Compress JPEG & images」と「TinyPNG」を併用する場合どのように運用するべきか
それでは、実際の運用方法を説明していきます。
- メディアライブラリで圧縮の有無の流れを確認し流れが途切れる直前の画像名と日時をメモする
- FTP接続してメモった画像名を探しその日時より新しい画像ファイルを全てダウンロードする
- TinyPNGで圧縮を行う
- FTP接続し同じ場所に上書きアップロードする
順を追って説明してきます。
メディアライブラリで圧縮の有無の流れを確認し流れが途切れる直前の画像名と日時をメモする
WordPressの「メディア」から「ライブラリ」を開きます。

右下の緑のチェックマークが入っているものが圧縮が完了したものです。
それより上の3つは、圧縮に失敗したものです。
未圧縮時の表示パターンは複数ありますが、「Compress」の表示がでているものが未圧縮という認識でOKです。

ここで、最後に圧縮が成功した画像ファイルの名前と日付をメモしておきます。
FTP接続してメモった画像を探しその日時より新しい画像ファイルを全てダウンロードする
次に、FTPソフトを使ってサーバーに接続します。
今回の場合、画像のある場所は「/wp-content/uploads/2020/03」でした。
「/wp-content/uploads」までは常に固定です。
uploadsディレクトリの中に西暦のディレクトリがあり、その中に月別のディレクトリがあります。
こんな感じです。

03の中身がこんな感じです。

メモした日付の月に移動したら、その中でメモにある画像名を探します。
今回は、「image-3.png」なので、それより新しい全ての画像ファイルを選択してPCにダウンロードします。
※日付順にソートしておく必要があります。
TinyPNGで圧縮を行う
ダウンロードしたファイルを先の検証で書いた手順どおりに圧縮していきます。
ただし、今回は多くのファイルを処理するので補足説明をしておきます。
圧縮作業について
20ファイルずつ2分間隔でドラッグ・アンド・ドロップしていきましょう。
間を開けずにやってしまうと以下のような表示が出て圧縮されなくなります。

「そんなにたくさん一気に圧縮したいなら有料版を買って!」ということですね。
この表示が出てしまったら2分程度間をあければOKです。
また、たまにフリーズしてしまうこともあります。

コレがでたらやりなおしです。
今回、深夜にトータルで1413ファイルほど圧縮しましたが3回ほどフリーズしました。
ファイル数が多かったので、70回以上作業を繰り返して疲れました。未圧縮画像は、あまり溜め込まずに定期的に処理することをオススメします。
圧縮対象ファイルのサイズには、条件があります。
5MBを越えるものは処理ができず以下のような表示がでます。

この表示がでたらそのファイルは「TinyPNG」での圧縮を諦めましょう。
※これも有料版にするなら制限が解除されます。
お金がかからない解決方法の1つとして、サイズ制限に引っかかったファイル名をメモしておき「Compress JPEG & images」の制限が解除されたらメディアライブラリでファイル名検索して圧縮するという手もあります。※16.5MBでも圧縮できることを確認しました。
ダウンロードについて
ダウンロードをするときに、個別に「Download」をクリックする方法と、以下の画像リンクをクリックしてzip形式で一気にダウンロードする方法があります。

ただし、筆者のように画像名に日本語が含まれている場合は、解凍時に文字化けする可能性があります。
その場合は、個別にダウンロードすれば大丈夫ですが、その分手間がかかってしまいます。
今回の圧縮結果も掲載しておきます。
今回の圧縮結果
上が圧縮前、下が圧縮後です。


トータルで約36.6%圧縮されました。
サイズでいうと63MBの軽量化です。
FTP接続し同じ場所に上書きアップロードする
先にダウンロードした元ファイルはこの時点では消さずに保持しておきます。
「TinyPNG」で圧縮したファイルを上書きアップロードした後に、万が一問題があれば元に戻すためです。
FTPソフトでサーバーに接続し、先ほどの場所に上書きアップロードしていきます。

ちなみに、今回圧縮処理したことでファイルの作成日は更新されています。
次に同様の処理を行う時は、この作成日より新しいファイルに対して行うことになりますので、一応作成日をメモしておきましょう。
※月の枚数制限が解除される前にまた処理する場合。
以上で、WordPressプラグイン「Compress JPEG & images」と「TinyPNG」を併用する場合の運用方法の説明は終わります。
画像圧縮によるウェブサイトの表示速度変化について
今回、トータルで約36.6%圧縮され63MBの軽量化ができた画像ファイルですが、これによってページの表示速度は変化するのか計測してみました。
圧縮前

圧縮後

変わりませんでした・・・。
さすがに半月程度の量では目に見えた変化はないですね。
これも積み重ねということだと思います。
画像の圧縮の有無は、ページ表示速度にかなり影響があるはずなのでコツコツ継続していくことが大切です。
まとめ
今回は、制限がかかった場合という方向性で記事を書きましたが、制限がかかりにくくすることにも目を向ける必要があります。
そのためには「Compress JPEG & images」の設定見直しを行いましょう。
使用しないサイズであったり、もともと小さいサイズの画像は圧縮を行わないように設定すればその分制限にかかるタイミングを先延ばしにできます。