WordPress の画像最適化プラグイン「EWWW Image Optimizer」(以下、EWWW)を、無料版のまま使うときの設定をまとめます。
クライアントが自分で記事を書いて画像をアップロードするサイトでは、どんな大きさの画像が来ても、サーバー側で自動的に整える仕組みが必要です。EWWW は、アップロードした画像の縮小・圧縮・WebP 変換を自動で行ってくれます。設定画面のタブが多いので、どこをどう設定したかを残しておきます。
画像サイズの考え方や、テーマ側(functions.php)の設定は、別の記事「WordPressの画像管理|アップロード画像を最適なサイズで表示する仕組み」にまとめています。
前提
- 使用するのは無料版(ローカルモード)。圧縮 API キーと「簡単 IO」は使わない
- サーバーは Apache(mod_rewrite が使える環境)
- 画像の遅延読み込みは、テーマ側の JavaScript で行っている(EWWW の遅延読み込みは使わない)
- 確認したバージョンは EWWW Image Optimizer 7.1.3
設定画面を「詳細モード」にする
初期状態では、設定画面が簡単モードになっていて、項目が一部しか表示されません。画面上部の「ルディクロスモード」ボタンを押すと、すべてのタブ(ローカル・高度な設定・リサイズ・変換など)が表示されます。

上の画像は、設定前の「必須」タブです。「最大画像サイズ」が 0 のままで、WebP の配信方法にリライトルールの警告が出ています。
「必須」タブ

| 項目 | 設定 | 理由 |
|---|---|---|
| メタデータを削除 | オン | EXIF(撮影情報や位置情報)を削除して、容量を減らす |
| Image Detective | オフ | ログイン中の管理者向けの確認機能。常用しない |
| 最大画像サイズ | 幅 2560/高さ 2560 | アップロードした画像を、長い辺 2560px までに縮小する |
| 不足している寸法を追加 | オフ | EWWW の遅延読み込みが必要な機能のため |
| 遅延読み込み | オフ | テーマ側の遅延読み込みと重なるため |
| WebP 変換 | オン | 対応ブラウザには WebP 画像を配信する |
| WebP の命名モード | 追加(.jpg.webp) | 元の拡張子を残したまま、.webp を付けたファイルを作る |
| WebP の配信方法 | リライトルール | .htaccess のルールで、対応ブラウザにだけ WebP を返す |
| JS WebP リライト・Picture WebP リライト・強制 WebP | オフ | リライトルールで配信できているため不要 |
最大画像サイズ
WordPress 本体にも、2560px を超える画像を縮小する機能(big_image_size_threshold)があります。ただし、本体の機能は元画像を残したまま、縮小版を -scaled という別ファイルで作ります。
EWWW の「最大画像サイズ」は、元画像そのものを指定の大きさまで縮小します。サーバーに巨大な元画像が残らないので、こちらを使い、テーマ側で本体の機能を止めています(設定は画像管理の記事で紹介しています)。
WebP の配信方法
設定前の画面では、「mod_headers が抜けているようです」という警告が出ていました。画面の説明にあるとおり誤検出のこともあり、「リライトルールを挿入する」ボタンでルールを追加したところ、「WebP ルールが正常に検証されました」と表示され、右側の確認用の画像も「WEBP」に変わりました。
ボタンを押すと、次のようなルールが .htaccess に追加されます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{REQUEST_FILENAME} (.*).(jpe?g|png|gif)$
RewriteCond %{REQUEST_FILENAME}.webp -f
RewriteCond %{QUERY_STRING} !type=original
RewriteRule (.+).(jpe?g|png|gif)$ %{REQUEST_URI}.webp [T=image/webp,L]
</IfModule>
<IfModule mod_headers.c>
<FilesMatch ".(jpe?g|png|gif)$">
Header append Vary Accept
</FilesMatch>
</IfModule>
AddType image/webp .webp
HTML の画像 URL は .jpg のままで、WebP に対応したブラウザにだけ、サーバーが .jpg.webp のファイルを返します。HTML を書き換えないので、テーマ側の JavaScript で画像を入れ替えている場合でも影響がありません。
「ローカル」タブ

| 項目 | 設定 |
|---|---|
| JPG・PNG・GIF 最適化レベル | ピクセルパーフェクト |
| PDF・SVG・WebP 最適化レベル | 無圧縮 |
| WebP 変換モード | ローカル |
| バックアップ元 | 無効 |
無料版で選べるのは「ピクセルパーフェクト」(見た目を変えない可逆圧縮)までです。それより強い圧縮は、有料の圧縮 API キーが必要です。
WebP 変換モードの「ローカル」は、サーバーで WebP を作る方式です。画面に「サーバーの CPU を2倍使用します」と書かれているので、共用サーバーで大量の画像を一括変換するときは、時間帯を選ぶと安心です。
「高度な設定」タブ

| 項目 | 設定 | 理由 |
|---|---|---|
| 定期的な最適化 | オフ | 1時間ごとの自動処理は使わず、必要なときに一括最適化する |
| メディアフォルダを含める | オン | 一括最適化のときに、メディアライブラリの画像も対象にする |
| オリジナルを含める | オン | WordPress が縮小する前の元画像も最適化する |
| 最適化するフォルダー | wp-content/ の絶対パス |
テーマの images フォルダなど、メディアライブラリ以外の画像も対象にする |
| 画像を除く | wp-content/gallery/originals/ |
元データとして残しておきたいフォルダを除外する |
| 画像をシャープにする | オフ | 縮小時の処理が重くなるため |
| JPG 品質レベル・WebP 品質 | 空欄 | WordPress 標準(JPG 82)と EWWW 標準(WebP 75)のまま使う |
「最適化するフォルダー」には、サーバー上の絶対パスを書きます。相対パスでは動かないので、画面に表示されている public_html までのパスをもとに入力します。
「リサイズ」タブ

| 項目 | 設定 | 理由 |
|---|---|---|
| 既存の画像をリサイズ | オン | すでにアップロード済みの大きな画像も、一括最適化で 2560px までに縮小する |
| 他の画像をリサイズ | オン | テーマの images フォルダなど、メディアライブラリ以外の画像も縮小の対象にする |
| オリジナルを保持 | オフ | 縮小前の元画像をサーバーに残さない |
| リサイズを無効化 | すべてオフ | テーマで登録した画像サイズは、すべて作成・最適化する |
一覧に表示される画像サイズ(medium_large など)は、テーマや WordPress が登録しているサイズです。使わないサイズはテーマ側で作成を止めているので、ここでは何も無効にしていません。
「変換」タブ

| 項目 | 設定 |
|---|---|
| オリジナルを削除 | オン |
| GIF を PNG に変換・PNG を JPG に変換・BMP から JPG への変換・JPG を PNG に変換 | オフ |
形式の変換は自動では行わず、必要な画像だけ手作業で変換します。たとえば、写真なのに PNG で保存されている画像は、JPG にするだけで容量が大きく減ります。ただし、透過のある PNG やイラストまで一律に変換されると困るので、自動変換はオフにしています。
「簡単 IO」は使わない
「必須」タブにある「簡単 IO」(英語版では Easy IO)は、画像を CDN 経由で配信し、表示サイズに合わせた縮小や AVIF 変換まで自動で行うサービスです。便利ですが有料で、2026年10月時点の料金は、いちばん安い Standard プランで月 8 ドル(年 80 ドル)です。30日間の無料トライアル(クレジットカード不要)はありますが、無料プランはありません。
また、テーマ側で data-src 属性と JavaScript を使って画像を入れ替えている場合、その画像の URL まで CDN 用に書き換わるかはわかりません。無料版のローカルモードで十分な効果が出ているので、今回は使わないことにしました。
設定後の確認
設定を保存したら、次の順で確認します。
- 「ローカル画像を最適化」ボタンから一括最適化を実行し、既存の画像を縮小・圧縮する
- 適当な画像をアップロードし、メディアライブラリで長い辺が 2560px 以下になっていることを確認する
- ブラウザの開発者ツールで画像のレスポンスを見て、
Content-Typeがimage/webpになっていることを確認する - PageSpeed Insights で、「画像配信を改善する」の削減見込みが減っていることを確認する
まとめ
- 最大画像サイズを 2560px にして、巨大な元画像がサーバーに残らないようにする
- 圧縮は無料版のピクセルパーフェクトで、WebP はリライトルールで配信する
- 遅延読み込みや画像の自動変換は、テーマ側の仕組みと重ならないようにオフにする
- 有料の「簡単 IO」は、テーマの画像の仕組みとの相性もあり、使わない
画像サイズの登録や、メディア挿入時の初期サイズの固定など、テーマ側の設定は「WordPressの画像管理|アップロード画像を最適なサイズで表示する仕組み」をご覧ください。
関連記事
WordPressの画像管理|アップロード画像を最適なサイズで表示する仕組み | CODE-PLUS(コードプラス) クライアントがどんな大きさの画像をアップロードしても、WordPressで最適なサイズを表示する仕組みを解説します。画像サイズの登録、メディア挿入時の初期サイズを「大」に固定するコード、srcsetの効き方、縮小の目安、altの付け方までまとめまし... 続きを読む WordPressのLCP・TBTをプラグインのJS/CSS整理で改善した施策 | CODE-PLUS(コードプラス)