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

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

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

Оптимизация включает в себя сжатие файлов, изменение размеров по необходимости, использование современных форматов и отложенную загрузку (lazy loading). Все эти меры снижают вес изображения без заметной потери качества.

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

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

Популярные плагины для сжатия и оптимизации

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

  • Smush — автоматическое сжатие и ресайз изображений без потери качества.
  • Imagify — поддерживает WebP, оптимизацию в несколько уровней и конвертацию форматов.
  • ShortPixel — мощный инструмент с поддержкой lossy и lossless сжатия, WebP, а также оптимизации PDF.
  • WebP Express — добавляет поддержку формата WebP, значительно уменьшающего вес изображений.

Эти плагины легко интегрируются и позволяют быстро повысить скорость сайта без глубоких технических знаний.

Пример настройки плагина Smush для автоматической оптимизации

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

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

Ручная оптимизация и кастомные решения в WordPress

Изменение размеров изображений программно

Иногда необходимо подстраивать размеры изображений под конкретные блоки или темы. Можно использовать функцию wpexpert_resize_image() — пример кастомной функции для изменения размера изображения при загрузке:

function wpexpert_resize_image($file, $max_width = 1200) {
    $image = wp_get_image_editor($file);
    if (!is_wp_error($image)) {
        $size = $image->get_size();
        if ($size['width'] > $max_width) {
            $image->resize($max_width, null, false);
            $image->save($file);
        }
    }
}

add_action('wp_handle_upload', function($upload) {
    wpexpert_resize_image($upload['file']);
    return $upload;
});

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

Внедрение lazy loading через код

Начиная с WordPress 5.5, поддержка lazy load встроена нативно через атрибут loading="lazy" в тегах <img>. Однако иногда нужно добавить lazy load вручную для изображений, выводимых динамически.

Пример добавления lazy load к изображению в шаблоне:

echo '<img src="' . esc_url($image_url) . '" loading="lazy" alt="' . esc_attr($alt_text) . '" />';

Для автоматического добавления атрибута всем изображениям можно использовать фильтр:

function wpexpert_add_lazy_loading($content) {
    return preg_replace('/<img(.*?)>/', '<img$1 loading="lazy">', $content);
}
add_filter('the_content', 'wpexpert_add_lazy_loading');

Использование формата WebP для улучшения скорости

WebP — современный формат изображений, который позволяет сократить размер файлов на 25–35% по сравнению с JPEG и PNG при сопоставимом качестве. Поддержка WebP в WordPress развивается, и многие хостинги уже позволяют хранить такие файлы.

Чтобы использовать WebP, можно:

  • Конвертировать изображения вручную или через плагин (например, Imagify или ShortPixel).
  • Настроить сервер для отдачи WebP, например, через .htaccess.
  • Использовать плагин WebP Express для автоматической генерации и отдачи WebP.

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

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{REQUEST_FILENAME} (.*)\.(jpe?g|png)$
RewriteCond %{DOCUMENT_ROOT}/$1.webp -f
RewriteRule (.+)\.(jpe?g|png)$ $1.webp [T=image/webp,E=accept:1]
</IfModule>

<IfModule mod_headers.c>
Header append Vary Accept env=REDIRECT_accept
</IfModule>

Дополнительные советы и лучшие практики

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

  • Всегда задавайте правильные размеры изображений в HTML и CSS, чтобы избежать перерасчёта браузером.
  • Используйте адаптивные изображения с помощью srcset и picture для разных разрешений экранов.
  • Регулярно проверяйте базу медиафайлов и удаляйте неиспользуемые изображения.
  • Используйте CDN для доставки изображений ближе к пользователю.

Если на вашем сайте много изображений, рекомендуем комбинировать несколько методов: использовать плагин для сжатия и генерации WebP, кастомные функции для ресайза и lazy load, а также корректно настраивать сервер.

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

WooCommerce: как устранить ошибку «Невозможно создать заказ» при оформлении
26.05.2026
Как добавить владельца постов в REST API WordPress
14.03.2026
Как удалить неиспользуемые метаданные WooCommerce без плагинов
06.05.2026
Как удалить верхний padding в WordPress без кода
19.01.2026
Как избежать проблем с несоответствием версий WordPress и PHP
19.02.2026