WordPressで画像が大量に生成される原因とその対処法【WooCommerce対応】
目次
🔍 なぜWordPressに画像をアップロードすると、勝手に大量のサイズが作られるのか?
WordPressでは、1枚の画像をアップロードするだけで10種類以上のリサイズ画像が自動生成されることがあります。
その理由は以下の通りです:
- WordPress本体の標準仕様(レスポンシブ対応のため)
- 使用しているテーマが複数の画像サイズを追加している
- WooCommerceなどのプラグインが商品画像用にサムネイルを追加している
- WordPress 5.3以降に追加されたRetina対応サイズ
✅ WooCommerceを使っている場合に生成される主な画像サイズ
WooCommerceでは以下のサイズが生成されます:
woocommerce_thumbnail
(商品一覧用)woocommerce_single
(商品ページメイン画像)woocommerce_gallery_thumbnail
(ギャラリー用小画像)swatches_image_size
(カラースウォッチ用)
これらは通常そのまま残して問題ありません。
❌ 不要な画像サイズを止める方法(functions.phpに追加)
以下のように functions.php
にコードを追加することで、WordPress本体やテーマが生成する不要な画像サイズを無効化できます。
🔧 WordPress本体のサイズを止める
phpCopyEditadd_filter('intermediate_image_sizes_advanced', function($sizes) {
unset($sizes['medium']);
unset($sizes['large']);
unset($sizes['medium_large']);
unset($sizes['1536x1536']);
unset($sizes['2048x2048']);
return $sizes;
});
🔧 テーマやプラグインが追加した画像サイズを止める(例)
phpCopyEditadd_action('init', function() {
remove_image_size('blog-large');
remove_image_size('blog-medium');
remove_image_size('blog-masonry');
remove_image_size('blog-masonry-small');
remove_image_size('blog-grid');
remove_image_size('blog-grid-small');
remove_image_size('related-post');
remove_image_size('widget-thumb-medium');
});
※自分のテーマが追加しているサイズは $_wp_additional_image_sizes
変数を使って確認できます。
✅ 画像の再生成:Regenerate Thumbnailsの使い方
不要なサイズを止めたら、すでに生成された画像を整理するために、Regenerate Thumbnails プラグインを使いましょう。
使い方:
- WordPress管理画面 → [ツール] → [Regenerate Thumbnails]
- 「すべての画像を再生成する」ボタンをクリック
- 不要なサイズは削除され、必要なサイズのみ再生成される
🧹 不要な画像ファイルも物理的に削除したい場合
- Media Cleaner プラグインを使うことで、使用されていない画像ファイルを検出&削除できます
(誤削除リスクもあるのでバックアップ推奨)
✅ まとめ
対処法 | 内容 |
---|---|
functions.php に unset() | WordPress標準サイズを止める |
remove_image_size() を使う | テーマやプラグインの画像サイズを止める |
Regenerate Thumbnails | 不要なサイズを再生成・整理する |
Media Cleaner(任意) | 未使用画像を物理削除 |
WordPressの無駄な画像サイズ生成に悩んでいる方は、上記の設定でアップロード時の画像生成を最小限に抑えることができます。
WooCommerceを使用している場合も、必要な画像サイズだけを残すよう調整して、サイトの高速化やディスク容量の節約をしましょう!