Как автоматически оптимизировать изображения при загрузке в WordPress

Оптимизация изображений — важный этап для ускорения загрузки сайта и улучшения пользовательского опыта. В этой статье мы рассмотрим, как автоматически оптимизировать изображения при загрузке в WordPress, чтобы снизить вес файлов без потери качества и повысить скорость работы сайта.

Почему важна автоматическая оптимизация изображений в WordPress

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

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

Рассмотрим, как это сделать с помощью готовых плагинов и собственного кода.

Использование плагинов для автоматической оптимизации изображений

Плагин Imagify

Imagify — популярный плагин с простым интерфейсом и мощными алгоритмами сжатия. Он автоматически оптимизирует изображения при загрузке и позволяет оптимизировать уже загруженные медиафайлы.

Основные возможности Imagify:

  • Поддержка форматов JPG, PNG, GIF и WebP;
  • Выбор уровня сжатия (Normal, Aggressive, Ultra);
  • Автоматическое создание WebP-версий;
  • Интеграция с медиабиблиотекой WordPress;
  • Поддержка пакетной оптимизации.

Для установки:

  1. Перейдите в админку WordPress → Плагины → Добавить новый;
  2. Найдите «Imagify» и установите его;
  3. Активируйте плагин и введите API-ключ (регистрация бесплатна на сайте разработчика);
  4. Настройте уровень оптимизации и включите автоматическую оптимизацию при загрузке.

Плагин ShortPixel Image Optimizer

ShortPixel — еще один мощный инструмент с поддержкой множества форматов и глубоким сжатием без потери качества. Особенность — поддержка WebP, AVIF и PDF.

Преимущества ShortPixel:

  • Автоматическая оптимизация при загрузке;
  • Возможность оптимизировать изображения в пакетном режиме;
  • Поддержка CDN для ускорения загрузки;
  • Обработка Thumbnails и Retina изображений;
  • Совместимость с WooCommerce и другими плагинами.

Настройка аналогична Imagify — установка, активация, ввод API-ключа и включение автоматической оптимизации.

Автоматическая оптимизация изображений через собственный код

Если вы хотите избежать использования сторонних сервисов и плагинов, можно реализовать базовую оптимизацию изображений средствами PHP и WordPress.

Пример функции для сжатия JPEG при загрузке

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

function wpupload_optimize_image_on_upload( $metadata, $attachment_id ) {
    $upload_dir = wp_upload_dir();
    $file = get_attached_file( $attachment_id );

    // Проверяем, что файл JPEG
    $file_type = wp_check_filetype( $file );
    if ( 'image/jpeg' !== $file_type['type'] ) {
        return $metadata;
    }

    // Загружаем изображение
    $image = imagecreatefromjpeg( $file );
    if ( ! $image ) {
        return $metadata;
    }

    // Сохраняем сжатое изображение с качеством 75
    imagejpeg( $image, $file, 75 );
    imagedestroy( $image );

    return $metadata;
}
add_filter( 'wp_generate_attachment_metadata', 'wpupload_optimize_image_on_upload', 10, 2 );

Этот код автоматически сжимает JPEG-изображения при загрузке, снижая качество до 75%, что существенно уменьшает размер файла без заметной потери качества.

Расширение функции под другие форматы и WebP

Для PNG можно использовать imagepng с параметром сжатия, а для WebP — imagewebp (PHP 7.0+). Пример для PNG:

function wpupload_optimize_png_on_upload( $metadata, $attachment_id ) {
    $file = get_attached_file( $attachment_id );
    $file_type = wp_check_filetype( $file );
    if ( 'image/png' !== $file_type['type'] ) {
        return $metadata;
    }

    $image = imagecreatefrompng( $file );
    if ( ! $image ) {
        return $metadata;
    }

    // Сохраняем сжатое PNG (уровень сжатия 6)
    imagepng( $image, $file, 6 );
    imagedestroy( $image );

    return $metadata;
}
add_filter( 'wp_generate_attachment_metadata', 'wpupload_optimize_png_on_upload', 11, 2 );

Оптимизация изображений с помощью WP-CLI

Для разработчиков и системных администраторов WP-CLI предлагает удобный способ оптимизации уже загруженных изображений командой:

wp media regenerate --image_resize

Для более продвинутой оптимизации можно использовать плагин Clearfy Pro, который интегрируется с WP-CLI и позволяет выполнять пакетную оптимизацию с дополнительными настройками.

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

Выбирайте правильный формат

Для фотографий оптимальны JPEG и WebP, для графиков и иконок — PNG или SVG. WebP поддерживается большинством современных браузеров и обеспечивает лучшее сжатие, поэтому стоит рассмотреть его использование вместе с плагинами, которые автоматически создают WebP-версии.

Минимизируйте размеры изображений

Перед загрузкой рекомендуется масштабировать изображения под максимально необходимый размер на сайте. Например, если основная ширина контента 1200px — нет смысла загружать картинки шириной 4000px.

Используйте CDN и lazy loading

Подключение CDN (Content Delivery Network) ускорит доставку изображений пользователям по всему миру. В WordPress 5.5+ встроена поддержка lazy loading, которая откладывает загрузку изображений вне зоны видимости экрана, что также улучшает скорость загрузки страниц.

Выводы и рекомендации

Автоматическая оптимизация изображений — одна из базовых задач для повышения производительности сайта на WordPress. Использование готовых плагинов, таких как Imagify или ShortPixel, позволяет быстро настроить качественное сжатие с минимальными усилиями. Если же вы хотите полностью контролировать процесс и не зависеть от сторонних сервисов, можно реализовать оптимизацию через собственный PHP-код, как показано выше.

Для комплексного улучшения производительности рекомендуем также обратить внимание на плагин Clearfy Pro, который предлагает расширенные возможности оптимизации и очистки сайта.

Как автоматически удалять файлы из папки uploads в WordPress по сроку хранения
19.03.2026
Как разделить загрузку и хранение файлов в WordPress для оптимизации и безопасности
13.01.2026
Как использовать WP Upload Dir для разделения файлов в WordPress
25.02.2026
Как установить ограничение на тип файлов при загрузке в WordPress
06.03.2026
Как удалить дубликаты файлов в медиабиблиотеке WordPress
09.03.2026

wp upload - это директория в WP для загрузки файлов. Подробнее про загрузку файлов в админку можно почитать на этой странице.