はじめに

WordPressやCocoonでは、メディアに登録した元画像とは別に、ページ表示用のサムネイル画像が自動生成されます(図1参照)。
そのため、多数のファイルが作成され、サーバーのストレージを圧迫する可能性があります。
そこで、自動生成されるサムネイル画像を全て無効化し、サーバーには元画像のみを保存とします。
WordPressの自動生成を停止
150、300、1024pxを停止

ダッシュボード→設定→メディアの各サイズの値を全て「0」に変更します(図2参照)。
768px(モバイル用)を停止

https://ドメイン名/wp-admin/options.phpにアクセスし、medium_large_size_wの値を「0」に変更します(図2参照)。
768、1536、2048pxを停止
以下のコードをfunctions.phpに追加します。
add_filter('intermediate_image_sizes_advanced', function ($new_sizes) {
unset($new_sizes['medium_large']);
unset($new_sizes['1536x1536']);
unset($new_sizes['2048x2048']);
return $new_sizes;
});
2560pxを停止
2560pxを超えるサイズの画像をアップロードした場合、ファイル名の末尾に-scaledが付加され、リサイズ画像が自動生成されます。これを停止します。
以下のコードをfunctions.phpに追加します。
add_filter('big_image_size_threshold', '__return_false');
Cocoonの自動生成を無効
以下のコードをfunctions.phpに追加します。
add_action('init', function () {
remove_image_size(THUMB150);
remove_image_size(THUMB120);
remove_image_size(THUMB160);
remove_image_size(THUMB320);
remove_image_size(get_vertical_card_2_thumbnail_size());
remove_image_size(get_vertical_card_3_thumbnail_size());
remove_image_size(get_tile_card_2_thumbnail_size());
remove_image_size(get_tile_card_3_thumbnail_size());
});
NO IMAGE画像の自動生成を無効
| 画像サイズ | 内容 |
|---|---|
| 120× | ウィジェット人気記事、新規記事、関連記事 |
| 150×150 | Cocoon設定→投稿→ページ送りナビ設定 |
| 160× | Cocoon設定→投稿→関連記事設定 |
| 320× | Cocoon設定→インデックス→カードタイプ |
Cocoon設定→画像→NO IMAGE画像でメディアから任意の画像を選択し、変更をまとめて保存すると、サムネイル画像が再生成されます(表1参照)。この自動生成を停止します。
実装手順
以下のコードをfunctions.phpに追加します。
add_filter('get_image_sized_url', function ($sized_url, $url, $w, $h) {
return $url;
}, 10, 5);
参考:サムネイル画像のsrcset属性を削除する方法
<figure class="entry-card-thumb card-thumb e-card-thumb">
<img width="354" height="266" class="entry-card-thumb-image card-thumb-image wp-post-image" alt="" decoding="async" fetchpriority="high"
src="http://example.com/wp-content/uploads/2025/01/sample-354x266.png"
srcset="
http://example.com/wp-content/uploads/2025/01/sample-354x266.png 354w,
http://example.com/wp-content/uploads/2025/01/sample-120x90.png 120w,
http://example.com/wp-content/uploads/2025/01/sample-160x120.png 160w,
http://example.com/wp-content/uploads/2025/01/sample-320x240.png 320w
"
sizes="(max-width: 354px) 100vw, 354px"
>
<span class="cat-label cat-label-1">サンプル</span>
</figure>
サムネイル画像にはsrcset属性が付加され、複数の画像候補をブラウザに指定して、画面の大きさや解像度に応じて最適なサイズの画像を表示します。このsecret属性を削除します。
実装手順
以下のコードをfunctions.phpを追加します。
add_filter('wp_calculate_image_srcset_meta', '__return_null');
さいごに
今回紹介した方法を使えば、WordPressやCocoonで不要なサムネイル画像の自動生成を防ぎ、サーバーのストレージを効率的に管理できます。
また、他のテーマから移行する際に、プラグイン「Regenerate Thumbnails」を使ったサムネイルの再生成が不要になるというメリットもあります。
ただし、元画像のみを使用するため、PageSpeed Insightsで「適切なサイズの画像」と指摘される場合があります。
しかし、通常のサムネイル画像のようにトリミングされないため、元の比率を維持したまま表示したい場合や、ストレージの圧迫を抑えたい方にはおすすめです。


