WPのプラグインEWWW Image Optimizer も Kraken Image Optimizerも500枚以上の画像圧縮は有料ということで、100ドル前後だったら有料でもなんとか払えるけど・・・画像多いので1000ドルとかはちょっと払いたくない。なので、ローカルで画像圧縮してからアップロードすることにした。
もともとこういうプラグインもjpegoptimを使っているようなので、ローカルでjpegoptimを使えば問題無さそう。でもLinuxのコマンドなんですが・・・
ちょうどタイミングが良いことに最近WindowsでBashが使えるようになったので設定して使えるようにしていきます。
Contents
Windows10でBashを使えるようにする設定
まずはBashを使えるように設定する必要があります。
Windows Subsystem for Linux (Bata)を有効にする
左下のWindowsアイコンを右クリックしてコントロールパネルを開いて以下のようにたどっていきます。
コントロール パネル\すべてのコントロール パネル項目\プログラムと機能
ここで「Windows の機能の有効化または無効化」を押してちいさなウィンドウを開きます。
ここで「Windows Subsystem for Linux (Bata)」の項目にチェックを入れてOKボタンを押す。
これはもしかしたらWindows10を更新するとBataじゃなくて正式版になっているかもしれません。
Windows Subsystem for Linux (Bata)を有効にできたら上記のようになって再起動します。
で、試しにコマンドプロンプトからbashを打つと・・・以下のように開発者モードを有効にしなさいと言われる。
開発者モードを有効にする
Windowsの設定 > 更新とセキュリティ > 開発者向け
こちらで開発者モードを有効にしましょう。
bash 初回はUNIXユーザー名とパスワード設定
これで無事bashが起動しました!初回はUNIXのユーザー名とパスワードを設定します。
jpgとpngの画像圧縮ツールをインストール
bashはUbuntuシステムのようなのでapt-getでツールをインストールしていきましょう。
apt-getでjpegoptimインストール・jpg画像圧縮
1 |
sudo apt-get install jpegoptim |
jpegoptimの使い方
画像圧縮した画像が入っているフォルダのなにもないところを[Shift]を押しながら右クリックをして「コマンドウィンドウをここで開く」を選択してコマンドプロンプトを起動します。
あとは、以下のようにjpegoptimを起動させてフォルダ内の画像全てを圧縮していきます。
1 |
jpegoptim --strip-all --max=90 *.jpg |
また、フォルダの中にフォルダがある場合で、全てのフォルダ内のjpg画像を圧縮する場合は以下のこまんどを打つ。
1 |
find ./ -type f -iname *.jpg -print | sudo xargs jpegoptim --strip-all --max=90 |
実行すると上記のように1枚1枚画像を圧縮してくれます。
optipngでpng画像圧縮
次にPNG画像も圧縮しないといけないのでoptipngをインストールしましょう。
1 |
sudo apt-get install optipng |
実行は以下のコマンドで、フォルダ内のPNG画像が圧縮される。こちらはちょっと時間がかかるようでした。
1 |
optipng *.png |
jpegoptimと同じようにフォルダの中にフォルダがある場合で全てのPNG画像を圧縮したい場合は以下のコマンド。
1 |
find . -name "*.png" -exec optipng {} \; |
いままでアップロードした大量の画像を一旦ローカルにダウンロードして、画像圧縮してから上書きでアップロード・・・20時間くらいかかった。
画像数は古いのを抜かして204000くらいあった。多分リサイズしたのもあるので実際の画像数は6万枚くらいかな?
Imsanity 画像サイズを自動でリサイズ 未解決
ImsanityというWPのプラグインがありましたが、既存の画像サイズもリサイズすることはするんですが・・・リサイズし終わった画像が何度もリストにでてしまって、既存の画像が実質250枚ほどしかリサイズできませんでした(汗)
設定は上記のようにして、下のように一括画像リサイズがあるのでやってみたが、250枚はうまくいってその後はリサイズされてない画像が出てこない(汗)
ということで画像圧縮はうまくいったようだけど、リサイズはうまく行ってない。
PageSpeed Insightsの結果
まぁ、少しあがったけど?イマイチパッとしないかな。
まだ圧縮する余地がありそう。というよりモバイルはサイズが大きいみたい。モバイルの場合はサイズどのくらい(640pxじゃない?)にすれば良いのだろうか?
ちなみに画像が少なめなサイトでは普通にEWWW Image Optimizerを使えるようです、画像が30万枚あって今後増えていきそうなサイトのみこのように圧縮してからアップロードした。
以上、備忘録でした。
次回気が向いたら画像のリサイズをどうするか考える。
コメント