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

Проблема: избыточные размеры изображений WooCommerce и их влияние на производительность

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

Диагностика проблемы

  • Проверьте размер папки uploads/woocommerce и сравните с общей папкой uploads.
  • Посмотрите, какие размеры изображений создаются при загрузке новых товаров. Для этого можно использовать консоль WP-CLI команду:
wp media regenerate --dry-run
  • Сравните список размеров, которые генерируются, с теми, что реально используются в теме.

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

1. Определение размеров, которые создаёт WooCommerce

WooCommerce по умолчанию использует размеры woocommerce_thumbnail, woocommerce_single, woocommerce_gallery_thumbnail. Чтобы узнать точные размеры, можно выполнить в консоли WP-CLI:

wp media image-sizes

Или посмотреть в файле woocommerce/includes/wc-image-functions.php.

2. Удаление уже существующих ненужных размеров из папки uploads

Для удаления файлов изображений определённого размера используйте следующий WP-CLI скрипт (замените 300x300 на нужный размер):

find wp-content/uploads/ -type f -name '*-300x300.*' -delete

Это удалит все файлы с суффиксом размера -300x300.

3. Отключение генерации ненужных размеров в WooCommerce

Добавьте следующий код в functions.php вашей дочерней темы или в отдельный плагин:

function disable_woocommerce_image_sizes( $sizes ) {
    unset( $sizes['woocommerce_thumbnail'] );
    unset( $sizes['woocommerce_single'] );
    unset( $sizes['woocommerce_gallery_thumbnail'] );
    return $sizes;
}
add_filter( 'intermediate_image_sizes_advanced', 'disable_woocommerce_image_sizes' );

Этот фильтр отключит генерацию стандартных размеров WooCommerce. Если нужны только некоторые размеры — удаляйте нужные из массива.

4. Перегенерация миниатюр

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

wp media regenerate --yes

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

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

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

  • Ошибка: Изображения не отображаются после отключения размеров.
    Причина: Тема или плагины требуют эти размеры.
    Решение: Отключайте размеры выборочно, тестируя каждый шаг.
  • Ошибка: Удаляются важные размеры, которые нужны для retina-дисплеев.
    Причина: Отключение всех размеров подряд.
    Решение: Оставьте необходимые размеры, например woocommerce_single, если используются.
  • Ошибка: Команда find не работает на Windows.
    Решение: Используйте FTP-клиент для удаления вручную или PowerShell-скрипты.

Практические советы по безопасности и производительности

  • Перед удалением файлов сделайте полный бэкап папки uploads.
  • Используйте дочернюю тему для внесения изменений в functions.php, чтобы избежать потери при обновлении.
  • Проверяйте совместимость с плагинами кеширования и CDN — иногда они кешируют старые размеры.
  • Если сайт большой, удаление изображений лучше делать через WP-CLI, чтобы избежать тайм-аутов.

Сравнение вариантов удаления размеров изображений в WooCommerce

МетодПлюсыМинусыКогда использовать
Удаление через WP-CLI (find, media regenerate)Быстро, подходит для больших сайтов, точечное удалениеТребует доступа к консоли, не подходит для новичковОптимизация производительности, очистка после изменений
Отключение размеров через фильтр в functions.phpПростой способ остановить генерацию новых размеровНужно тестировать, чтобы не сломать отображениеКогда хотите контролировать размеры без плагинов
Использование плагинов (например, Regenerate Thumbnails)Удобно для новичков, графический интерфейсМожет создавать нагрузку, не всегда гибкоДля стандартных сайтов без доступа к серверу
WooCommerce: как избежать конфликтов между плагинами при работе с заказами
13.06.2026
Как автоматически отключать неиспользуемые плагины WordPress для оптимизации сайта
10.03.2026
Как отображать разный контент для разных ролей пользователей в WordPress
14.01.2026
Оптимизация базы данных WordPress: как ускорить сайт и уменьшить нагрузку
20.11.2025
Как избежать повторов товаров и ошибок в WooCommerce: практическое руководство
25.05.2026