WordPressで不要なサムネイルの生成を防ぐ方法

WordPressでは、画像をアップロードすると自動的に複数のサイズのサムネイルが生成されます。しかし、サイトの運営によっては不要なサムネイルが増えてしまい、サーバー容量を圧迫する原因になります。この記事では、不要なサムネイルの生成を防ぐ方法を紹介します。

1. デフォルトの画像サイズを変更する

WordPressの管理画面の「設定」→「メディア」では、デフォルトのサムネイルサイズを設定できます。

手動でサイズを0にする

  1. 管理画面の「設定」→「メディア」を開く
  2. 「サムネイルのサイズ」「中サイズ」「大サイズ」の幅と高さを0に設定
  3. 「変更を保存」ボタンをクリック

ただし、この方法だけではWordPressが内部で生成する一部の画像サイズには影響しません。

2. functions.php でサムネイル生成を無効化する

テーマの functions.php に以下のコードを追加することで、WordPressのデフォルトのサムネイル生成を防ぐことができます。

(1) デフォルトの画像サイズを無効化

function disable_default_image_sizes() {
    update_option('thumbnail_size_w', 0);
    update_option('thumbnail_size_h', 0);
    update_option('medium_size_w', 0);
    update_option('medium_size_h', 0);
    update_option('large_size_w', 0);
    update_option('large_size_h', 0);
    update_option('1536x1536_size_w', 0);
    update_option('1536x1536_size_h', 0);
    update_option('2048x2048_size_w', 0);
    update_option('2048x2048_size_h', 0);
}
add_action('after_setup_theme', 'disable_default_image_sizes');

このコードを追加すると、メディア設定のデフォルトサイズが0に設定されるため、新しくアップロードする画像のリサイズが不要になります。

(2) 画像生成処理をスキップする

function remove_unwanted_image_sizes($sizes) {
    unset($sizes['thumbnail']);
    unset($sizes['medium']);
    unset($sizes['medium_large']);
    unset($sizes['large']);
    unset($sizes['1536x1536']);
    unset($sizes['2048x2048']);
    return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'remove_unwanted_image_sizes');

このフィルターを適用すると、WordPressが不要なサムネイルサイズを生成しなくなるため、余計な画像の作成を防ぐことができます。

(3) すでに登録されている画像サイズを削除

function remove_default_image_sizes() {
    remove_image_size('thumbnail');
    remove_image_size('medium');
    remove_image_size('medium_large');
    remove_image_size('large');
    remove_image_size('1536x1536');
    remove_image_size('2048x2048');
}
add_action('init', 'remove_default_image_sizes');

remove_image_size() を使うことで、WordPressが内部で登録している画像サイズを削除できます。

3. 既存の不要なサムネイルを削除する

すでにアップロード済みの画像には不要なサムネイルが生成されている可能性があります。その場合は、以下の方法で削除できます。

(1) 手動で削除

FTP クライアントを使って wp-content/uploads/ フォルダ内の不要な画像を削除します。

(2) プラグインを使用

  • Regenerate Thumbnails(リジェネレートサムネイル)
  • Media Cleaner(メディアクリーナー)

これらのプラグインを使えば、不要なサムネイルを一括削除できます。

動作環境

  • WordPress 6.7.1
  • PHP 8.3.8
  • MySQL 8.0.39
  • サーバー さくらのレンタルサーバー

まとめ

  1. disable_default_image_sizes() でメディア設定のデフォルトサイズを変更
  2. remove_unwanted_image_sizes() でアップロード時の不要な画像生成をスキップ
  3. remove_default_image_sizes() でWordPress内部の登録サイズを削除
  4. FTPやプラグインで既存の不要な画像を削除

これらの方法を活用すれば、WordPressで無駄なサムネイルを生成せず、サーバーの容量を節約できます。

コメント

タイトルとURLをコピーしました