2026年5月20日
2026年5月20日
Smushで画像を圧縮する方法|一括最適化・遅延読み込み・無料版の制限・WP-CLI
Smush は、WordPress にアップロードした画像を圧縮して、ファイルサイズを小さくするプラグインです。開発元は WPMU DEV です。アップロード時の自動圧縮、メディアライブラリの画像の一括最適化、画像の遅延読み込み(Lazy Load)を、無料版で使えます。
この記事の内容は、2026年11月時点で WordPress.org で配布されている Smush 4.3.6 のファイルで確認したものです。このバージョンは WordPress 6.4 以上、PHP 7.4 以上を必要とします。管理画面は新しいデザインに変わっており、2026年11月時点では日本語の翻訳がまだ追いついていない部分があるため、画面の名前は英語の表示で書いています。
無料版と有料版(Smush Pro)の違い
| 機能 | 無料版 | Smush Pro |
|---|---|---|
| アップロード時の自動圧縮、一括最適化 | できる | できる |
| 圧縮できる画像の大きさ | 1枚 5MB まで(超える画像は飛ばされる) | 256MB まで |
| 圧縮レベル | Basic 1X。Super 2X は WPMU DEV の無料アカウントに接続すると使える | Ultra 5X まで |
| 元の画像(フルサイズ)の圧縮 | しない。WordPress が作るサイズ違いの画像を圧縮する | できる |
| 遅延読み込み(Lazy Load) | できる | できる |
| WebP・AVIF への変換と配信、CDN、画像のプリロード | 有料版 | できる |
無料版では、WordPress がアップロード時に作るサムネイルなどのサイズ違いの画像が圧縮の対象です。元の画像そのものは小さくならない点に注意します。
1. インストールして有効化する
管理画面の「プラグイン → 新規追加」で「Smush」を検索してインストールし、有効化します。WP-CLI なら次のとおりです。
wp plugin install wp-smushit --activate
有効化すると管理画面のメニューに「Smush」が追加され、その下に「Dashboard」「Lazy Load & Preload」「CDN」「Directory Optimization」「Settings」が並びます。初回は設定の案内(ウィザード)が表示されます。
2. 初期設定を確認する
Smush の初期設定は次のとおりです。多くのサイトは、このままで使い始められます。
| 設定 | 初期値 | 内容 |
|---|---|---|
| Automatic Compression | オン | 新しくアップロードした画像を自動で圧縮する |
| Compression Level | Basic 1X | 画質を落とさない圧縮(ロスレス) |
| メタデータの削除 | オン | 画像に含まれる撮影日時や位置情報(EXIF)などを削除する |
| Backup original images | オン | 圧縮前の画像を残し、あとで元に戻せるようにする |
| Lazy Load | オフ | 遅延読み込みは自分でオンにする |
「Backup original images」をオフにすると、ディスクの使用量は減りますが、圧縮した画像を元に戻せなくなります。初めて使うときはオンのままにしておきます。
3. 既存の画像をまとめて最適化する
Smush を入れる前にアップロードした画像は、自動では圧縮されません。「Smush → Dashboard」に、最適化が必要な画像の数(Images to optimize)が表示されるので、「Optimize Images」で一括最適化を始めます。
- 処理はバックグラウンドで進むので、画面を閉じても続きます。終わったら通知のメールを受け取ることもできます。
- 無料版では、5MB を超える画像は飛ばされます。
一括最適化の前に、サイト全体(ファイルとデータベース)のバックアップを取っておくと安心です。
4. WP-CLIで最適化する
Smush には WP-CLI のコマンドがあります。画像の多いサイトでは、管理画面よりサーバー上で実行するほうが途中で止まりにくくなります。
# まだ最適化していない画像の一覧
wp smush list
# 最初の 100 件だけ表示する
wp smush list 100
# すべての画像を最適化する
wp smush compress
# 添付ファイル ID が 10 の画像だけ最適化する
wp smush compress --type=single --image=10
# 複数の ID を指定する
wp smush compress --type=multiple --image=10,15,16
# メディアライブラリを走査し直す
wp smush scan
# バックアップから元に戻す(--id を省くとすべて)
wp smush restore --id=10
5. 遅延読み込み(Lazy Load)を設定する
遅延読み込みは、画面に表示される直前まで画像を読み込まない仕組みです。「Smush → Lazy Load & Preload」で Lazy Load をオンにします。
主な設定は次のとおりです。
- Media types to lazy load: 対象にする画像の形式(JPEG・PNG・WebP・GIF・SVG)と iframe。YouTube・Vimeo の動画の埋め込みも選べます(初期値はオフ)。
- Post types to lazy load: 対象にするページの種類(トップページ、投稿、固定ページ、アーカイブなど)。
- Native Lazy Loading: ブラウザーの標準の遅延読み込み(
loading="lazy")を使う設定です。 - Exclude content from Lazy Load: 遅延読み込みしない URL やキーワード(画像の class や ID)を指定します。
ファーストビューの画像は除外する
ページを開いてすぐ見える位置の大きな画像(ヒーロー画像、ロゴなど)を遅延読み込みにすると、表示が遅れ、Core Web Vitals の LCP(最大のコンテンツが表示されるまでの時間)が悪くなります。こうした画像は除外します。
除外の方法は次の3つです。
- 「Exclude content from Lazy Load」の「Exclude keywords」に、画像の class 名や ID を書く
- 画像に
no-lazyloadまたはskip-lazyという class を付ける(Smush はこの class が付いた画像を遅延読み込みにしない) - コードで除外する(下の例)
<?php
// URL に hero または logo を含む画像を、Smush の遅延読み込みから外す
add_filter( 'smush_skip_image_from_lazy_load', function ( $skip, $src, $image ) {
if ( false !== strpos( $src, 'hero' ) || false !== strpos( $src, 'logo' ) ) {
return true;
}
return $skip;
}, 10, 3 );
このコードは、子テーマの functions.php か、Code Snippets などのプラグインに追加します。
WordPress本体の遅延読み込みとの関係
WordPress 本体も、記事の中の画像に loading="lazy" を自動で付けます。Smush の画面にも「遅延読み込みの機能は1つだけ使う」よう案内があります。テーマや別のプラグイン(キャッシュ系プラグインなど)でも遅延読み込みを有効にしている場合は、どれか1つにします。
6. WebP・AVIFを使いたい場合
Smush で WebP・AVIF に変換して配信する機能(Next-Gen Formats)は有料版の機能です。無料で WebP・AVIF を使いたい場合は、WordPress のパフォーマンスチームが配布している「Modern Image Formats」プラグインなど、ほかの方法を検討します。別の画像最適化プラグインとの違いは「EWWW Image Optimizerの使い方」も参考になります。
画像最適化のプラグインは、1つだけ使います。複数を同時に使うと、同じ画像を二重に圧縮したり、遅延読み込みが競合したりします。
7. 効果を確かめる
- 「Smush → Dashboard」に、最適化した画像の数と減ったサイズが表示されます。
- メディアライブラリの一覧(リスト表示)にも、画像ごとの最適化の状態が表示されます。
- ページの表示速度は、Google の PageSpeed Insights で、最適化の前後を比べます。画像以外の要因(サーバーの応答時間、JavaScript など)も影響するので、画像の項目の指摘が減ったかを見ます。
ページキャッシュを使っている場合は、最適化のあとでキャッシュを削除してから確かめます。
8. 元に戻す
圧縮で画質が気になる画像は、「Backup original images」がオンになっていれば元に戻せます。メディアライブラリで画像を開いて戻すか、WP-CLI の wp smush restore を使います。「Smush → Settings」には、すべての画像を元の状態に戻す操作もあります。
注意点
- 圧縮レベルを Super や Ultra(不可逆圧縮)にすると、画質が少し落ちます。写真が中心のサイトでは、変更後にいくつかの画像を拡大して確認します。
- 大きすぎる画像は、アップロードの前に表示に必要な大きさまで縮めておくと、無料版の 5MB の制限にもかかりにくくなります。
- 「Directory Optimization」は、メディアライブラリの外(テーマやプラグインのフォルダーなど)の画像を圧縮する機能です。テーマを更新すると元のファイルに戻るので、更新後にもう一度実行します。