Как отключить автоматически генерируемые размеры изображений в WordPress
По умолчанию WordPress создает множество копий изображений, загруженных через библиотеку медиафайлов. И все они могут занимать много дискового пространства. В этом руководстве мы расскажем, как решить данную проблему.
Сначала пример
В качестве пример рассмотрим мой личный сайт, посвященный изображениям. Через медиа библиотеку на нем загружено более 800 изображений. Поэтому если бы я не помешал WordPress, он автоматически генерировал бы несколько копий каждого изображения.
Выполняем расчеты
На моем WordPress-сайте 800 оригинальных изображений. Размер каждого из них – около 2 Мб. Получается, что все они занимают около 1,6 Гб дискового пространства.
Начиная с версии 5.3, WordPress автоматически создает следующие размерные версии каждого изображения, загружаемого с помощью медиа библиотеки и визуального редактора:
Размер изображения | Габаритные размеры |
Миниатюра | Размер основан на настройках мультимедиа. |
Средний | Размер основан на настройках мультимедиа. |
Большой | Размер основан на настройках мультимедиа. |
Средний большой | 768px. |
2x средний большой | 1536px. |
2x большой | 2048px. |
Масштабируемый | 2560px. |
Теперь подсчитаем, сколько будут весить все версии 800 изображений моего сайта:
Размер изображения | Габаритные размеры | Размер файла | Общее количество |
Миниатюра | Размер основан на настройках мультимедиа. | 10KB | 8MB |
Средний | Размер основан на настройках мультимедиа. | 20KB | 16MB |
Большой | Размер основан на настройках мультимедиа. | 100KB | 80MB |
Средний большой | 768px | 50KB | 40Мб |
2x средний большой | 1536px | 200KB | 160MB |
2x большой | 2048px | 400KB | 320MB |
Масштабируемый | 2560px | 500KB | 400MB |
Сложение чисел из правого столбца дает размер в 1,024 ГБ! При этом ядро WordPress вместе с кучей плагинов и тем оформления будет весить всего несколько сотен мегабайт.
Поэтому если автоматически сгенерированные WordPress изображения не контролировать, объем необходимого для сайта дискового пространства может увеличиться в разы.
Но подождите, это еще не все
Пока что у нас генерируются семь версий каждого загруженного изображения. Но темы оформления также могут создавать дополнительные версии изображений:
- set_post_thumbnail_size()- пользовательский размер для избранных изображений.
- add_image_size()- дополнительные изображения любого указанного размера.
Например, тема оформления WordPress «Twenty Fifteen» добавляет еще одно автоматически сгенерированное изображение с помощью этой строки кода:
set_post_thumbnail_size( 825, 510, true);

В дополнение к 7 изображениям, сгенерированным WordPress, тема оформления может добавлять и свои.
Подводя итог: WordPress генерирует как минимум 7 дополнительных размеров для каждого загруженного изображения.
Решение: отключить ненужные размерности изображений
Чтобы сэкономить серверное пространство сайта, следует отключить следующие версии изображений, генерируемые WordPress:
- Thumbnail.
- Medium.
- Large.
- Medium Large.
- 2x Medium Large.
- 2x Large.
- Scaled.
Внимание: не отключайте генерацию версий изображений, необходимые для используемой темы оформления.
Отключить размер миниатюры
Чтобы отключить автоматическое создание уменьшенных версий изображений, перейдите в раздел «Настройки»> «Медиафайлы» панели администрирования WordPress. Затем для параметра «Размер миниатюры» установите значение 0.

Введите 0, чтобы отключить автоматическую генерацию любой из размерностей.
Также это можно сделать, добавив приведенный ниже фрагмент кода в файл functions.php используемой темы оформления:
function shapeSpace_disable_thumbnail_images($sizes) {
unset($sizes['thumbnail']); // отключить миниатюры
return $sizes;
}
add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_thumbnail_images');
Отключение среднего размера
Чтобы отключить создание изображений среднего размера, в панели администрирования WordPress установите для параметра «Средний размер» значение «0». Или добавьте приведенный ниже код в файл functions.php используемой темы оформления:
function shapeSpace_disable_medium_images($sizes) {
unset($sizes['medium']); // отключить средний размер
return $sizes;
}
add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_medium_images');
Отключение большого размера
Чтобы отключить автоматическое создание изображений большого размера, установите для параметра «Большой размер» значение «0». Или добавьте приведенный ниже код в файл functions.php используемой темы оформления:
function shapeSpace_disable_large_images($sizes) {
unset($sizes['large']); // отключить большой размер
return $sizes;
}
add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_large_images');
Отключение среднего большого размера
Чтобы отключить изображения среднего большого размера, добавьте приведенный ниже фрагмент кода в файл functions.php используемой темы оформления WordPress:
function shapeSpace_disable_medium_large_images($sizes) {
unset($sizes['medium_large']); // отключить размер 768px
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_medium_large_images');
Отключить 2x среднего большого размера
function shapeSpace_disable_2x_medium_large_images($sizes) {
unset($sizes['1536x1536']); // отключить размер 2x средний большой
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_2x_medium_large_images');
Отключить 2x большой размер
function shapeSpace_disable_2x_large_images($sizes) {
unset($sizes['2048x2048']); // отключить размер 2x большой
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_2x_large_images');
add_filter('big_image_size_threshold', '__return_false');
Отключить другие размеры
Для любых других размеров изображений, созданных с помощью set_post_thumbnail_size() и add_image_size(), можно использовать remove_image_size(). Вот пример:
function shapeSpace_disable_other_images() {
remove_image_size('post-thumbnail'); // отключить set_post_thumbnail_size()
remove_image_size('another-size'); // отключить другие дополнительные размеры изображений
}
add_action('init', 'shapeSpace_disable_other_images');
Для удаления пользовательских размеров изображений нужно знать их названия. Например, миниатюра записи – это всегда post-thumbnail. Но префикс может меняться в зависимости от используемой темы оформления или плагина.
Отключить их всех!
Ниже приведен код, который объединяет и оптимизирует все перечисленные выше методы.
// отключение генерируемых размеров изображений
function shapeSpace_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_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_image_sizes');
// отключение масштабируемого размера изображений
add_filter('big_image_size_threshold', '__return_false');
// отключение других размеров изображений
function shapeSpace_disable_other_image_sizes() {
remove_image_size('post-thumbnail'); // отключение изображений, добавляемых через set_post_thumbnail_size()
remove_image_size('another-size'); // отключение других добавляемых размеров изображений
}
add_action('init', 'shapeSpace_disable_other_image_sizes');
Приведенный выше фрагмент кода объединяет в себе методы, необходимые для отключения всех изображений, автоматически сгенерированных WordPress.
Совет для профессионалов: Для отключения адаптивных изображений, которые генерирует WordPress, используйте бесплатный плагин Disable Responsive Images Complete.
Заключение
Контроль над размерами изображений, которые генерирует WordPress, поможет вам сэкономить дисковое пространство и оптимизировать производительность сайта.