【サイト高速化】Pythonで一括画像圧縮してサイトスピードをアップ

  • 2020年10月3日
  • 2021年1月10日
  • python

自分のサイトやほかのサイトを閲覧するとき読み込みが遅いなと思ったことはありませんか?

その理由は画像かもしれない
画像の容量が大きければ大きいほど読み込みが遅い原因となります。
画像を軽量化することでページが表示される速度が早くなり、ストレスなくページを読むことが可能となります!
またGoogle は、2018年7月から、「スピードアップデート」を取り入れることを発表しています。そして、画像の最適化は、ページの読み込みスピードにも大きく関わっているため、SEOの重要な要素の一つとなります。
せっかくのユーザーを逃さないよう画像を圧縮してスピードアップすることをお勧めします!

【サイト高速化】Pythonで一括画像圧縮してサイトスピードをアップ

画像の圧縮とは簡単に画像を小さくするという風にとらえてください!

ブログに載せる画像のポイントとして

・画像の横幅は約800pxあれば十分

・保存形式はPNGよりJPGの方が軽量

このようにしてサイトのスピードアップを図りましょう^^

大量の画像を一括で圧縮するならPythonがおすすめ!

大量の画像を圧縮するのは大変じゃないですか?Pythonであればフォルダ内の画像をまとめて圧縮することができますよ^^

実際にやった例

こちらが圧縮する前の一覧

あ

大きさがばらばらで容量もかなりありますが

Pythonで一括圧縮後はこちら

大きさを揃えかつサイズもかなり圧縮されています!

こんな感じ^^

圧縮前と圧縮後の画像の比較
●圧縮前


●圧縮後

こんな感じで今回は例として、768×432サイズに圧縮したので縦が縮こまって見えますが、ここはpythonで数字を変更すれば自由に調整できます。

特に画質的には違和感がないですね!

Python 一括処理コード

import os
import glob
from PIL import Image
#圧縮したいフォルダ先を指定 "" 内を変更してください
path = r"C:\Users\starw\OneDrive\デスクトップ\GoPro\新しいフォルダー"
#圧縮先フォルダ指定 "" 内を変更してください
resizepath = r"C:\Users\starw\OneDrive\デスクトップ\圧縮先"
#フォルダ先の画像を全部取得
files = glob.glob(path + "/*")
#圧縮処理
for f in files:
    img = Image.open(f)
    img_resize = img.resize((int(768), int(432)))#大きさはここで調整
    title = os.path.splitext(os.path.basename(f))[0]
    print(title)
    img_resize.save(resizepath + "/" + title + '_resize'+'.jpg' )

これだけです!

圧縮したいフォルダ先と圧縮フォルダ先をしてください。(windowsではフォルダマークの部分(青マーク部)をクリックすると、フォルダのアドレスが表示されますのでそれをコピー&ペースト)

また圧縮後のサイズはこちらのコードでは「768×432」となっていますがこちらも自由に調整してください。

ちなみに100枚ある画像をテストしたところ(一眼レフカメラで撮影した画像なので1画像で5Mほどありますが)

1分もかからず、504M→4.6Mに圧縮できましたよ^^

こんな感じでpython活用できます!私はめちゃくちゃ愛用してます^^

pythonを始めたい方はこちらから参考にしてください!

関連記事

python というプログラムやってみたい & 始めようと考えている人は 「pythonというプログラミングをやってみたいんだけど、どこから手を付ければいいのかわからない。頑張ってみる気はあるから、誰か教えてー!」 とな[…]

ではフォースと共にあらんことを

最新情報をチェックしよう!