Если сайт начал быстро раздувать медиатеку, чаще всего проблема не в исходных фотографиях, а в том, что WordPress и тема создают слишком много дополнительных размеров для каждого загруженного изображения. Одна картинка может превратиться в 5–15 файлов, а на сайтах с большим потоком контента это быстро съедает место на диске и увеличивает время обработки при загрузке.
Полностью отключать генерацию всех размеров обычно не нужно: часть из них реально используется темой, блоками, галереями и адаптивной вёрсткой. Практичнее убрать только лишнее — то, что сайт не показывает и не использует. Ниже — рабочие способы, которые помогают сократить число файлов без поломки внешнего вида.
Откуда берутся лишние размеры
WordPress сам создаёт несколько стандартных размеров при загрузке изображения: миниатюру, средний и крупный размер, а также дополнительные варианты, если они заданы в настройках. Сверху к этому подключаются тема и плагины: каждый может зарегистрировать свои размеры через функцию add_image_size().
На практике лишние файлы появляются по трём причинам:
- в теме объявлено много размеров «на всякий случай»;
- установлены плагины, которые добавляют собственные варианты изображений;
- в медиатеке остаются старые размеры, которые уже нигде не используются, но продолжают создаваться для новых загрузок.
Важно понимать: удаление размера из настроек не удаляет уже созданные файлы автоматически. Оно только прекращает их генерацию для новых изображений.
Сначала проверьте, какие размеры действительно нужны
Перед отключением любого размера стоит понять, где он используется. Если убрать файл, который нужен теме или блоку, изображение может начать подгружаться не в том размере, а иногда и с потерей качества из-за масштабирования браузером.
Самый простой способ проверки — посмотреть, какие размеры зарегистрированы в теме и плагинах. Если у вас есть доступ к коду, ищите вызовы add_image_size(), а также фильтры, которые меняют стандартные размеры WordPress. Если доступа к коду нет, ориентируйтесь на фактическое использование: откройте несколько страниц сайта, посмотрите HTML через инструменты разработчика и проверьте, какие размеры изображений реально подставляются в атрибуте srcset или в ссылках на файлы медиа.
Если размер нигде не встречается, а в медиатеке он только плодит файлы, его можно отключать.
Как отключить стандартные размеры WordPress
Если задача именно в сокращении количества файлов, начните со стандартных размеров, которые задаются в админке. Это самый безопасный способ: вы не трогаете код темы, а просто уменьшаете число генерируемых вариантов.
Откройте Настройки → Медиафайлы и проверьте значения для миниатюры, среднего и крупного размера. Если какой-то из этих размеров не нужен, можно поставить ему нулевое значение или очень маленькое число, в зависимости от версии WordPress и логики темы. На практике чаще используют отключение через код, потому что не все размеры корректно убираются только через интерфейс.
Для более точного контроля обычно добавляют фильтры в functions.php дочерней темы или в собственный мини-плагин. Например, чтобы отключить несколько стандартных размеров, можно использовать такой код:
add_filter( 'intermediate_image_sizes_advanced', function( $sizes ) {
unset( $sizes['thumbnail'] );
unset( $sizes['medium'] );
unset( $sizes['medium_large'] );
unset( $sizes['large'] );
return $sizes;
} );Этот пример убирает генерацию указанных размеров для новых загрузок. Если тема или плагины завязаны на один из них, не удаляйте его без проверки.
Как убрать размеры, которые добавляет тема или плагины
Именно здесь обычно скрывается основная экономия. Многие темы регистрируют несколько дополнительных размеров для карточек записей, слайдеров, архивов и блоков. Плагины галерей, конструкторы и оптимизаторы изображений тоже могут добавлять свои варианты.
Если размер зарегистрирован через add_image_size(), его можно отключить только там, где он объявлен. Универсального «выключателя» для любого произвольного размера нет: нужно либо убрать регистрацию в коде темы/плагина, либо использовать фильтры, если разработчик их предусмотрел.
Что делать на практике:
- Найдите в теме или плагине вызов
add_image_size(). - Проверьте, используется ли этот размер в шаблонах, блоках или настройках плагина.
- Если размер не нужен, удалите его регистрацию или закомментируйте строку.
- Сохраните изменения в дочерней теме или отдельном плагине, а не в исходных файлах, чтобы не потерять правки при обновлении.
Если вы не хотите править код темы, иногда проще заменить тяжёлую тему на более аккуратную по части медиа. Но это уже отдельное решение, а не способ точечно отключить размеры.
Как отключить генерацию лишних размеров через код без редактирования темы
Если вы не хотите трогать файлы темы, удобнее вынести код в небольшой собственный плагин. Это особенно полезно на сайтах, где тема обновляется часто или управляется сторонней командой.
Для отключения стандартных размеров можно создать простой плагин или использовать уже существующий служебный плагин. Внутри достаточно того же фильтра, что и выше. Преимущество такого подхода в том, что логика не зависит от темы.
Если нужно убрать только один размер, оставьте в массиве только нужные элементы. Например, если сайт использует миниатюру и крупный размер, а средний не нужен, отключайте только его. Чем точнее настройка, тем меньше риск сломать адаптивную подачу изображений.
Что делать со старыми файлами в медиатеке
После отключения размеров новые изображения перестанут плодить лишние копии, но старые файлы останутся на диске. Это нормальное поведение WordPress: он не чистит уже созданные изображения автоматически.
Если нужно освободить место, придётся отдельно удалить устаревшие размеры для уже загруженных медиафайлов. Делать это вручную на большом сайте неудобно и рискованно, потому что легко удалить не тот файл. Безопаснее сначала сделать резервную копию, а затем использовать инструмент, который умеет пересоздавать или удалять миниатюры с учётом текущих настроек.
Перед очисткой проверьте два момента:
- какие размеры реально остались в теме и плагинах;
- не используются ли старые файлы в записях, виджетах и блоках.
Если сайт давно работает и медиатека большая, не удаляйте всё подряд. Сначала протестируйте на нескольких изображениях и убедитесь, что страницы отображаются корректно.
Как проверить, что лишние размеры больше не создаются
После изменения настроек загрузите новое изображение в медиатеку и посмотрите, сколько файлов появилось рядом с оригиналом. Если отключение сработало, число производных изображений должно заметно уменьшиться.
Проверять лучше в три шага:
- загрузите тестовую картинку с понятным именем;
- откройте папку загрузок на сервере или в файловом менеджере хостинга;
- сравните количество созданных файлов до и после изменения.
Дополнительно откройте страницу сайта, где используется это изображение, и убедитесь, что оно не стало слишком маленьким, размытым или растянутым. Если картинка выглядит нормально, значит вы отключили именно лишние размеры, а не нужные.
Когда лучше не отключать размеры полностью
Полное отключение генерации почти всех размеров кажется простым способом сэкономить место, но на обычном сайте это часто создаёт больше проблем, чем пользы. WordPress и тема используют разные размеры для адаптивной вёрстки, миниатюр записей и изображений в блоках. Если убрать всё, сайт начнёт подгружать оригиналы, а это уже лишняя нагрузка и на диск, и на трафик.
Отключать стоит только то, что вы действительно не используете. Если сайт небольшой и у него мало контента, выигрыш от агрессивной чистки может быть скромным. Если же медиатека уже разрослась, а тема создаёт много вариантов изображений, сокращение лишних размеров даёт заметный эффект именно за счёт уменьшения числа файлов на сервере.
Если нужен более удобный способ чистить сайт от технического мусора и дублирующихся сущностей, можно посмотреть в сторону Clearfy Pro. Но саму задачу отключения лишних размеров всё равно лучше решать через проверку используемых размеров и точечное удаление ненужных регистраций, а не через массовое отключение всего подряд.
Если действовать аккуратно, можно заметно сократить число файлов в медиатеке, снизить расход диска и при этом не сломать отображение изображений на сайте.