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つです。

  1. 「Exclude content from Lazy Load」の「Exclude keywords」に、画像の class 名や ID を書く
  2. 画像に no-lazyload または skip-lazy という class を付ける(Smush はこの class が付いた画像を遅延読み込みにしない)
  3. コードで除外する(下の例)
<?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」は、メディアライブラリの外(テーマやプラグインのフォルダーなど)の画像を圧縮する機能です。テーマを更新すると元のファイルに戻るので、更新後にもう一度実行します。

お気軽にご相談ください

お見積りへ お問い合わせへ
▲