Как отключить автоматическое изменение размера изображений в WooCommerce

Диагностика проблемы: почему WooCommerce меняет размеры изображений

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

Чтобы проверить, генерируются ли лишние размеры, зайдите в директорию wp-content/uploads и сравните количество файлов с исходным изображением. Также в настройках WooCommerce в разделе «Настройки > Товары > Отображение» обратите внимание на параметры размеров изображений.

Проверка текущих размеров через консоль

wp media list --field=filename | grep -E 'woocommerce|shop'

Если вы видите много файлов с префиксами woocommerce_thumbnail, woocommerce_single, woocommerce_gallery_thumbnail, значит, WooCommerce генерирует дополнительные размеры.

Пошаговое решение: отключение автоматической генерации размеров

1. Отключение стандартных размеров WooCommerce через functions.php

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

function disable_woocommerce_image_sizes() {
    remove_image_size('woocommerce_thumbnail');
    remove_image_size('woocommerce_single');
    remove_image_size('woocommerce_gallery_thumbnail');
}
add_action('init', 'disable_woocommerce_image_sizes', 20);

Этот код убирает регистрацию стандартных размеров WooCommerce, предотвращая их создание при загрузке новых изображений.

2. Настройка размеров в админке WooCommerce

Перейдите в WooCommerce > Настройки > Товары > Отображение и установите нужные размеры изображений вручную, либо установите минимальные значения, например:

  • Главное изображение товара: 600x600
  • Миниатюра каталога: 150x150

Если вы хотите полностью контролировать размеры, установите эти значения равными исходным или минимальным.

3. Отключение генерации дополнительных размеров WordPress

WordPress также генерирует стандартные размеры (thumbnail, medium, large). Чтобы отключить их, добавьте в functions.php:

function disable_default_image_sizes( $sizes) {
    unset( $sizes['thumbnail']);
    unset( $sizes['medium']);
    unset( $sizes['large']);
    return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'disable_default_image_sizes');

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

1. Очистите кэш сайта и браузера.

2. Загрузите новое изображение товара через админку WooCommerce.

3. Проверьте папку uploads — не должно появляться дополнительных размеров, кроме исходного файла.

4. В админке WooCommerce проверьте отображение товара на сайте: изображения должны корректно отображаться без искажений.

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

  • Ошибка: После удаления размеров изображения отображаются некорректно или расплывчато.
    Причина: Вы отключили размеры, но тема или плагин требуют их присутствия.
    Решение: Проверьте, какие размеры реально используются в шаблонах темы, и оставьте необходимые.
  • Ошибка: Новые изображения всё равно генерируются в нескольких размерах.
    Причина: Код отключения добавлен в functions.php с неправильным приоритетом.
    Решение: Используйте приоритет 20 или выше для хука init.
  • Ошибка: Старые изображения с лишними размерами не удаляются.
    Решение: Используйте плагин Regenerate Thumbnails для пересоздания нужных размеров, а затем вручную удалите ненужные файлы через FTP или плагин WP-Optimize.

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

  • Отключение лишних размеров изображений снижает нагрузку на диск и ускоряет бэкапы.
  • Не удаляйте размеры, которые используются в вашей теме или плагинах, чтобы избежать ошибок отображения.
  • Для массового удаления ненужных файлов изображений используйте проверенные плагины, чтобы не повредить базу данных.
  • Если используете CDN, убедитесь, что настройки кеширования и оптимизации изображений соответствуют новым параметрам размеров.

Сравнение вариантов отключения размеров изображений

МетодПлюсыМинусы
Удаление размеров через remove_image_size()Контроль над WooCommerce размерами, простой кодНужно знать, какие размеры нужны теме
Отключение стандартных размеров WordPress через фильтрУменьшение количества файлов, меньше нагрузкиМожет повлиять на другие части сайта
Настройка размеров в админке WooCommerceПростота, без кодаНе отключает полностью генерацию, лишь меняет размеры
Использование плагинов для управления размерамиУдобство, визуальный интерфейсДополнительная нагрузка на сайт
Как автоматически удалять неактивных пользователей в WordPress
16.03.2026
Как использовать WPRemark для автоматического модераирования комментариев в WordPress
25.12.2025
Как удалить редирект цикл в WordPress: пошаговое руководство
19.04.2026
Как автоматически удалять старые записи в WordPress по дате
27.02.2026
Как отключить автоматическое изменение размера изображений в WooCommerce
13.05.2026