素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

投稿日: 2020年4月4日
最終更新日:

【WordPress】jpegoptimを使ってサーバー上のJPEG画像ファイルをまとめて圧縮する方法【便利】

YouTubeも見てね♪

ねこじゃすり

created by Rinker
PEPPY(ペピイ)
¥3,850 (2024/03/15 19:03:46時点 Amazon調べ-詳細)

猫を魅了する魔法の装備品!

Anker PowerCor

created by Rinker
Anker
¥4,990 (2024/03/15 15:06:44時点 Amazon調べ-詳細)

旅行には必須の大容量モバイルバッテリー!

【最新機種】GoPro hero11 Black

created by Rinker
GoPro(ゴープロ)
¥62,000 (2024/03/15 19:06:06時点 Amazon調べ-詳細)

最新機種でVlogの思い出を撮影しよう!

[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット

created by Rinker
THE NORTH FACE(ザノースフェイス)
¥29,280 (2024/03/15 19:06:01時点 Amazon調べ-詳細)

防水暴風で耐久性抜群なので旅行で大活躍です!

レッドブル エナジードリンク 250ml×24本

created by Rinker
Red Bull(レッドブル)
¥4,080 (2024/03/15 19:03:47時点 Amazon調べ-詳細)

翼を授けよう!

ドラゴンクエスト メタリックモンスターズギャラリー メタルキング

created by Rinker
スクウェア・エニックス(SQUARE ENIX)
¥3,250 (2024/03/15 19:03:48時点 Amazon調べ-詳細)

みんな大好き経験値の塊をデスクに常備しておこう!

BANDAI SPIRITS ULTIMAGEAR 遊戯王 千年パズル 1/1スケール

created by Rinker
BANDAI SPIRITS(バンダイ スピリッツ)
¥7,180 (2024/03/15 15:06:46時点 Amazon調べ-詳細)

もう一人の僕を呼び覚ませ!!

EC2サーバーやMacにあるJPG画像を圧縮するしたい

大きい画像はメリットよりデメリットが多い

WordPressなどでブログを運営していると画像等をアップロードする際に、なるべく綺麗な画像を乗せたいという気持ちで画像ファイルが大きいままアップロードをしてしまう事が多いと思います。

その気持ちもわかりますが、サイズがでかい画像をアップロードするとページの表示スピードが遅くなってしまいSEO順位が下がったりユーザー離脱に繋がってしまったり、CloudFrontなどのCDNを利用しているとデータ転送量が肥大して、予期せぬ通信料が発生してしまう可能性があります。

jpegoptimで一括圧縮

そこで、今回はjpegoptimというCLIツールを利用して、サーバー上にアップロードしたJpeg画像を一括で圧縮する方法をご紹介しようと思います。

導入方法

インストール

Macの場合

Macの場合はHomebrewからインストールする事が出来ます。

EC2などのサーバーの場合

EC2インスタンスの場合はyum経由でインストールします。

Error getting repository data for epel, repository not foundが出た場合

上記のようなエラーが出た場合はyumでepelリポジトリを有効にする必要があるので、以下のコマンドを実行してください。

これでepelが参照できるようになります。

確認

以下のコマンドは確認してみましょう。

正常にインストール出来ていますね♪

使い方

使用上の注意

デフォルトの設定だと、圧縮処理後は同一ファイル名で上書きされるので気をつけましょう。

適宜オプションを使うなり、バックアップを取るなりなどして自己責任でお願いします!

上書きしたくない場合はオプションで出力先を指定してください。

コマンド

基本的なコマンドはjpegoptim -m{圧縮率(1~100)} -t {対象ファイル名}となっています。

対象ファイル名には*(ワイルドカード)が使えるので同一階層のJpegファイルはまとめて処理出来ます。

-mは画質を指定します。100に近づくほど元の画質(高画質)に近づきます。

-tは処理結果を
{処理ファイル名} {サイズ} 24bit N Exif IPTC ICC XMP Adobe [OK] {元のサイズ} --> {圧縮後のサイズ} bytes ({圧縮率}%), optimized.
のような形式で標準出力に出してくれるので、結果が分かりやすくなるのでつけておいた方が良いと思います。
つけないと何も表示されずに処理が完了します。

他にもたくさんのオプションがあるので、気になる方は調べてみてください。

実際にやって見るとこんな感じです。

パフォーマンスはとても早く1000枚ほどのファイルに対しても数分で終わりました!

画像によって圧縮率は変わりますが、調整しながら試してみてください♪

終わりに

以上のように簡単にサーバー上のJpegファイルを圧縮する事が出来ました。

サーバー上に存在する画像ファイルのサイズにお困りの方は是非試してみてはいかがでしょうか♪

CATEGORIES & TAGS

IT