WordPressでアップロードした元の画像サイズ以外の画像自動生成を無効化する方法やメリットを解説

みなさんこんにちは!エンジニアの高澤です!
今回はWordPressでアップロードした元の画像サイズ以外の画像自動生成を無効化する方法を徹底解説していきたいと思います。
WordPressでは、画像をアップロードすると自動的に複数のサイズの画像が生成されます。
これにより、メディアライブラリが不要な画像で埋め尽くされ、サーバーの容量を圧迫することがあります。
本記事では、WordPressで元の画像サイズ以外の画像の自動生成を無効化する方法を詳しく解説します。
目次
WordPressの画像複数サイズの自動生成とは
WordPressの自動生成する画像サイズとは、ブロックエディタなどで画像をアップロードした時に自動的に複数のサイズの画像が生成される機能のことを言います。
つまり、アップロードした画像のサイズをもとに、その画像の大・中・小の3つのサイズで複製される機能のことを言います。
画像複数サイズの自動生成については、以下の記事で詳しく解説しておりますので、よろしければご確認ください。
WordPressの画像複数サイズ自動生成を無効化するメリット
画像複数サイズ自動生成を無効化するメリットについて解説いたします。
メリットについてわかっておかないと、「一体何のためにやっているんだろう?」と疑問だけが宙に浮いてしまい、当記事で解説するノウハウもお仕事などに応用できないかと思います。
そのため、ここでメリットについてしっかり確認しておきましょう。
メリットとしては、以下があります。
- サーバー容量とコストの節約ができる
- データを扱う作業の時短につながる
- バックアップ・移行の負担軽減
それぞれ解説いたします。
サーバー容量とコストの節約ができる
WordPressは画像をアップロードするたびに複数のサイズを自動生成するため、その分容量を食ってしまい、ストレージを圧迫します。不要な画像の生成を無効化することで、サーバーの容量を節約でき、不要なバックアップデータの増加も防げます。
また、それに伴ってレンタルサーバー代などのコストの削減にもつながります。
メディアライブラリの整理がしやすくなる
自動生成された画像は、メディアライブラリやFTPで管理する際に不要なファイルとして増えてしまいます。無効化することで、必要な画像のみを管理でき、運用がスムーズになります。
バックアップ・移行の負担軽減が可能
不要な画像が生成されると、バックアップのファイルサイズが増大し、サーバー移行時の転送時間やデータ管理の手間がかかります。無効化することで、これらの負担を軽減できます。
よくあるパターンとして、All-in-One WP Migrationプラグインなどでデータをエクスポート・インポートするときに顕著に影響が現れます。
例えば、データをバックアップするのにご自身のPC(ローカル)にダウンロードするときなどに、容量が大きくなってしまっているために時間がかなりかかってしまったりします。
そのため、あらかじめ画像複数サイズ自動生成を無効化することで、バックアップ作業などの時短に繋がります。
WordPressの画像複数サイズ自動生成を無効化する方法
それでは早速、WordPressの画像複数サイズ自動生成を無効化する方法について解説いたします。
自動生成を無効化する方法としては以下があります。
- メディア設定を変更する
- functions.phpを編集して画像の自動生成を無効化する
それぞれ解説いたします。
メディア設定を変更する
一番簡単で基本となるやり方は、WordPress管理画面「設定」の「メディア」にある「メディア設定」から設定する方法かと思います。
メディア設定の以下の入力箇所を確認してください。

確認できたら、それぞれのサイズの「幅」と「高さ」の数値を「0」に設定してください。

設定はこれで完了です。何も難しいことはないかと思います。
これにより、ブロックエディタやメディアアップローダーからファイルをアップロードした時に行われる複数サイズの画像生成はされなくなります。
ブロックエディタへアップロードしてその画像を選択して、画面右側にある設定パネルの「解像度」を確認してください。

すると下図のように「フルサイズ」のみとなっており、裏側の処理では複数サイズの画像生成が行われていないことが確認できるかと思います。

これでメディア設定を編集する設定は完了です。お疲れ様でした!
functions.phpを編集して画像の自動生成を無効化する
メディア設定のやり方を解説しましたが、次はfunctions.phpを編集して画像の自動生成を無効化する方法について解説いたします。
「メディア設定から設定できるので不要なのでは?」と思われるかもしれませんが、PHPコードから設定できることにも意味がある場合があります。
例えば、PHPコードから設定できることによって、管理者権限のあるユーザーのみが自動生成を許可したりするなど自由度高く処理をカスタマイズすることが可能です。
そのため、PHPコードから設定する方法についてしっかり習得しておきましょう。
functions.phpを編集して無効化するには、以下のコードをfunctions.phpにコピー&ペーストしてください。
<?php
function disable_image_sizes($sizes) {
unset($sizes['thumbnail']); // サムネイルサイズ
unset($sizes['medium']); // 中サイズ
unset($sizes['large']); // 大サイズ
// unset($sizes['medium_large']); // 中大サイズ
// unset($sizes['1536x1536']); // 2xサイズ
// unset($sizes['2048x2048']); // 2xサイズ
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'disable_image_sizes');
ペーストが完了したら、設定は完了です。
こちらに関しても、何も難しいことはないかと思います。
これにより、ブロックエディタやメディアアップローダーからファイルをアップロードした時に行われる複数サイズの画像生成はされなくなります。
ブロックエディタへアップロードしてその画像を選択して、画面右側にある設定パネルの「解像度」を確認してください。

すると下図のように「フルサイズ」のみとなっており、裏側の処理では複数サイズの画像生成が行われていないことが確認できるかと思います。

これでfunctions.phpを編集する設定は完了です。お疲れ様でした!
まとめ
今回は、WordPressでアップロードした元の画像サイズ以外の画像自動生成を無効化する方法について解説しました。
WordPressでは、画像をアップロードすると自動的に複数のサイズが生成されます。この機能は便利ですが、不要な画像が増えることでメディアライブラリが煩雑になり、サーバーの容量を圧迫する原因にもなります。
本記事では、元の画像サイズ以外の自動生成を無効化する方法について詳しく解説しました。適切な設定を行うことで、サーバー負荷を軽減し、サイトの管理を効率化できます。
ぜひ実践し、快適なWordPress運用に役立ててください。
お気軽に皆さんのご要望をお聞かせください!
どんなに些細なことでも構いません!よろしければ記事や当サイトへの「こんな記事があったら仕事とかで役に立つな〜」や「こうだったらもっと役に立つのに!」といったようなご要望等をお気軽にお聞かせください!今後のサービス改善にお役立てさせていただきます!
例1)Reactの技術記事を書いてほしい!
例2)WordPressの使い方とかを初心者向けに解説してほしい!...など