Как удалить ненужные размеры изображений WooCommerce без плагинов

Почему WooCommerce генерирует множество размеров изображений

При загрузке изображения WooCommerce создает несколько копий разного размера для отображения на витрине, карточках товара, миниатюрах и в галереях. Это важно для адаптивности, но часто генерируется слишком много лишних размеров, которые не используются на вашем сайте, что занимает дисковое пространство и замедляет бэкап и импорт.

Какие размеры создаются по умолчанию

WooCommerce по умолчанию создает следующие размеры при загрузке товара:

  • woocommerce_thumbnail — миниатюра товара (по умолчанию 300x300 px);
  • woocommerce_single — большое изображение товара (600x600 px);
  • woocommerce_gallery_thumbnail — миниатюры в галерее (100x100 px);

Кроме того, WordPress создает стандартные размеры: thumbnail, medium, large. Плагины или тема могут добавлять свои размеры.

Диагностика: как проверить, какие размеры изображений создаются

Чтобы понять, какие размеры генерируются и какие реально используются, можно:

  • Проверить папку wp-content/uploads/YYYY/MM на наличие файлов с префиксами размеров;
  • Использовать плагин Regenerate Thumbnails для просмотра всех размеров, которые создаются;
  • В теме или плагинах найти вызовы add_image_size() — это показывает, какие дополнительные размеры добавлены.

Пример вывода в консоли для проверки размеров после загрузки изображения

wp media regenerate --only-missing --yes --path=/var/www/site

При этом можно увидеть, какие размеры файлы имеют, и убедиться, что лишних нет.

Пошаговое решение: как отключить ненужные размеры WooCommerce

Чтобы удалить ненужные размеры изображений WooCommerce, выполните следующие шаги:

  1. Отключите стандартные размеры WooCommerce: добавьте следующий код в functions.php вашей дочерней темы или в собственный плагин:
function wpweb_disable_wc_image_sizes() {
    remove_image_size('woocommerce_thumbnail');
    remove_image_size('woocommerce_single');
    remove_image_size('woocommerce_gallery_thumbnail');
}
add_action('init', 'wpweb_disable_wc_image_sizes', 20);

Этот код отменяет регистрацию размеров, но не удаляет уже созданные файлы.

  1. Отключите создание размеров в настройках WooCommerce: с версии WooCommerce 3.3+ можно настроить размеры через Консоль - WooCommerce - Настройки - Товары - Отображение. Установите минимальные значения или 0 для размеров, которые не нужны.
  2. Удалите лишние файлы изображений: используйте плагин Regenerate Thumbnails с опцией «Удалить старые размеры» или вручную удалите файлы из папки uploads.
  3. Очистите кэш и CDN: после удаления изображений убедитесь, что кэш браузера и CDN очищены, чтобы изменения отобразились.

Проверка результата после внедрения

Чтобы убедиться, что лишние размеры больше не создаются, выполните:

  • Загрузите новое изображение товара и проверьте папку uploads, нет ли лишних файлов с размерами, которые вы отключили.
  • В админке используйте Regenerate Thumbnails, чтобы проверить, какие размеры доступны для регенерации.
  • Просмотрите страницу товара через инспектор браузера — проверьте URL картинок, они должны соответствовать только нужным размерам.

Частые ошибки и как их исправить

  • Ошибка: Размеры не отключаются, файлы все равно создаются.
    Причина: Код отключения срабатывает слишком поздно или тема/плагин регистрирует размеры заново.
    Решение: Поднимите приоритет хука init до 20 или выше, проверьте, нет ли повторных вызовов add_image_size() в других плагинах.
  • Ошибка: Изображения на сайте отображаются некорректно после удаления размеров.
    Причина: Используются размеры, которые были удалены.
    Решение: Проверьте настройки темы и WooCommerce на использование нужных размеров, замените вызовы the_post_thumbnail() и wp_get_attachment_image() на существующие размеры.
  • Ошибка: Старые лишние изображения не удаляются при регенерации.
    Причина: Плагин Regenerate Thumbnails не настроен на удаление старых файлов.
    Решение: Используйте дополнительные плагины типа Force Regenerate Thumbnails или удаляйте вручную.

Практические советы по оптимизации и безопасности

  • Регулярно проверяйте папку uploads на накопление неиспользуемых размеров и удаляйте их.
  • Перед массовым удалением делайте резервную копию файлов и базы данных.
  • Настраивайте размеры изображений под реальные нужды вашего сайта, чтобы не перегружать сервер и не замедлять загрузку страниц.
  • Используйте функции WordPress wp_get_attachment_image_srcset() для адаптивных изображений, чтобы браузер выбирал оптимальный размер.
  • Если вы используете CDN, убедитесь, что после удаления старых изображений они удалены и с кэша CDN.

Сравнение способов отключения размеров WooCommerce

МетодПлюсыМинусы
Отключение через remove_image_size() в functions.phpБыстро, без плагинов, гибкоНе удаляет уже созданные файлы, возможны конфликты с плагинами
Отключение через настройки WooCommerceПростой интерфейс, официально поддерживаетсяНе всегда позволяет полностью отключить все размеры
Использование плагинов для управления размерамиАвтоматизация, удаление старых файловЗависимость от сторонних плагинов, нагрузка на сайт
Оптимизация базы данных WordPress под реальные нагрузки на сайте
17.11.2025
Как автоматически удалять старые записи в WordPress по дате
27.02.2026
Как удалить или изменить метаданные продуктов WooCommerce без плагинов
02.06.2026
Как избежать проблем с кэшированием в WordPress
04.02.2026
Как удалить отзывы в WordPress по определённым критериям
15.12.2025