Как уменьшить размер изображений в WordPress для ускорения сайта

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

Почему важно уменьшать размер изображений в WordPress

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

Например, изображение размером 2 МБ может легко быть уменьшено до 200-300 КБ без заметной потери качества, что существенно ускорит загрузку страницы.

Оптимизация изображений помогает:

  • Сократить время загрузки страниц;
  • Уменьшить использование трафика;
  • Повысить SEO-показатели;
  • Снизить нагрузку на сервер.

Плагины для уменьшения размера изображений в WordPress

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

1. Smush

Один из самых популярных плагинов для сжатия изображений без потери качества. Он поддерживает массовую оптимизацию и lazy load.

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

  • Автоматическое сжатие при загрузке;
  • Возможность оптимизировать уже загруженные изображения;
  • Поддержка форматов JPEG, PNG и GIF;
  • Lazy Load для отложенной загрузки изображений.

2. Imagify

Плагин с гибкими настройками сжатия и поддержкой форматов WebP. Позволяет выбрать уровень оптимизации от максимального сжатия до минимального.

3. ShortPixel

Поддерживает сжатие изображений и PDF-документов. Позволяет конвертировать изображения в новые форматы, такие как WebP и AVIF.

Ручная оптимизация изображений с помощью кода

Если вы хотите контролировать процесс оптимизации и интегрировать его в свои темы или плагины, можно использовать PHP-библиотеки и встроенные функции WordPress.

Оптимизация изображений при загрузке в WordPress

Для автоматизации сжатия можно использовать хук wp_handle_upload, который срабатывает после загрузки файла. Ниже пример функции, которая уменьшает качество JPEG при загрузке:

function wpspeed_reduce_jpeg_quality($file) {
    $image_path = $file['file'];
    $image_info = getimagesize($image_path);
    if ($image_info['mime'] === 'image/jpeg') {
        $image = imagecreatefromjpeg($image_path);
        imagejpeg($image, $image_path, 75); // 75% качество
        imagedestroy($image);
    }
    return $file;
}
add_filter('wp_handle_upload', 'wpspeed_reduce_jpeg_quality');

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

Конвертация изображений в WebP

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

function wpspeed_convert_to_webp($file) {
    $image_path = $file['file'];
    $image_info = getimagesize($image_path);
    $webp_path = preg_replace('/\.(jpe?g|png)$/i', '.webp', $image_path);

    if (in_array($image_info['mime'], ['image/jpeg', 'image/png'])) {
        $image = imagecreatefromstring(file_get_contents($image_path));
        if ($image) {
            imagewebp($image, $webp_path, 80); // Качество 80%
            imagedestroy($image);
        }
    }
    return $file;
}
add_filter('wp_handle_upload', 'wpspeed_convert_to_webp');

Этот код создаст WebP-версию каждого загруженного JPEG или PNG файла.

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

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

Пример простого WP-CLI скрипта для массовой оптимизации JPEG файлов:

function wpspeed_optimize_existing_images() {
    $args = [
        'post_type' => 'attachment',
        'post_mime_type' => 'image/jpeg',
        'posts_per_page' => -1,
    ];
    $attachments = get_posts($args);

    foreach ($attachments as $attachment) {
        $file_path = get_attached_file($attachment->ID);
        $image = imagecreatefromjpeg($file_path);
        imagejpeg($image, $file_path, 75); // Качество 75%
        imagedestroy($image);
    }
}
<

Этот код можно запустить в WP-CLI или добавить в отдельный плагин для оптимизации всех JPEG изображений.

Рекомендации по оптимизации изображений

Чтобы поддерживать сайт быстрым, придерживайтесь следующих правил:

  • Используйте плагины для автоматической оптимизации при загрузке;
  • Сжимайте изображения перед загрузкой, используя программы типа Photoshop или онлайн-сервисы;
  • Переводите изображения в WebP для современных браузеров;
  • Используйте lazy load, чтобы загружать изображения только при необходимости;
  • Регулярно оптимизируйте уже загруженные изображения;
  • Контролируйте размеры изображений и не загружайте слишком большие файлы.

Заключение

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

WooCommerce: решение проблемы замедления страницы оплаты при большом количестве заказов
16.06.2026
Оптимизация использования WebP в WordPress для ускорения сайта
25.02.2026
Как безопасно удалить неиспользуемые плагины в WordPress для ускорения сайта
04.11.2025
Как избежать проблем с PHP memory_limit в WordPress
16.04.2026
Как использовать Transients API для ускорения вывода данных совместимых с WooCommerce
07.05.2026