wpmoney.ru wordpress WP Money

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

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

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

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

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

Основные проблемы с изображениями на WordPress

  • Большой вес файлов — часто загружаются изображения с камеры или в формате PNG без сжатия.
  • Отсутствие адаптивных изображений — не используются теги srcset и sizes для разных устройств.
  • Отсутствие современных форматов — не применяются WebP или AVIF.
  • Нет lazy loading — все изображения загружаются сразу при открытии страницы.

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

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

1. Imagify

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

Особенности:

  • Сжатие без потери качества, с возможностью выбора уровня сжатия.
  • Поддержка WebP и резервных форматов.
  • Интеграция с WooCommerce.

2. ShortPixel

ShortPixel — мощный инструмент для сжатия и конвертации изображений. Плагин работает с JPEG, PNG, GIF, WebP и PDF.

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

  • Поддержка lossy, glossy и lossless сжатия.
  • Оптимизация изображений и PDF.
  • Автоматическое создание WebP-версий.

3. Clearfy Pro и WPCommunity для оптимизации загрузки

Если вы используете Clearfy Pro, в нем есть опции для отключения неиспользуемых скриптов и оптимизации загрузки изображений, включая lazy loading. Также тема WPCommunity поддерживает встроенную оптимизацию медиафайлов.

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

Помимо плагинов, можно применить собственные решения с помощью кода. Ниже приведены примеры, как реализовать lazy loading и добавление поддержки WebP.

Включение нативного lazy loading

В последних версиях WordPress lazy loading включен по умолчанию. Но если нужно вручную добавить атрибут loading="lazy" к изображениям в контенте, можно использовать фильтр:

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

Этот код добавит атрибут к каждому тегу <img> в содержимом поста, если он отсутствует.

Добавление поддержки WebP с проверкой браузера

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

function wpmoney_get_webp_image( $image_url ) {
    $webp_url = preg_replace('/\.(jpe?g|png)$/i', '.webp', $image_url);
    if ( wpmoney_browser_supports_webp() && file_exists( str_replace( home_url('/'), ABSPATH, $webp_url ) ) ) {
        return $webp_url;
    }
    return $image_url;
}

function wpmoney_browser_supports_webp() {
    if ( ! isset( $_SERVER['HTTP_ACCEPT'] ) ) return false;
    return strpos( $_SERVER['HTTP_ACCEPT'], 'image/webp' ) !== false;
}

Данный код проверяет, поддерживает ли браузер WebP, и если есть файл с расширением .webp, возвращает его. Иначе — оригинальный URL.

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

WordPress генерирует несколько размеров изображений при загрузке: thumbnail, medium, large и т.д. Чтобы улучшить адаптивность, можно зарегистрировать дополнительные размеры и использовать атрибуты srcset.

Регистрация нового размера изображения

function wpmoney_add_image_sizes() {
    add_image_size( 'wpmoney-custom-size', 800, 600, true );
}
add_action( 'after_setup_theme', 'wpmoney_add_image_sizes' );

Теперь можно выводить изображение с этим размером:

echo wp_get_attachment_image( $attachment_id, 'wpmoney-custom-size' );

WordPress автоматически добавит srcset и sizes для адаптивного вывода.

Вывод оптимизированных изображений в шаблонах

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

$img_html = wp_get_attachment_image( $attachment_id, 'medium' );
echo $img_html;

Если вы хотите интегрировать WebP, можно комбинировать с предыдущей функцией и выводить с помощью <picture>:

function wpmoney_picture_webp( $attachment_id, $size = 'medium' ) {
    $img_url = wp_get_attachment_image_url( $attachment_id, $size );
    $webp_url = preg_replace('/\.(jpe?g|png)$/i', '.webp', $img_url);
    if ( ! file_exists( str_replace( home_url('/'), ABSPATH, $webp_url ) ) ) {
        $webp_url = false;
    }
    
    $html = '<picture>';
    if ( $webp_url ) {
        $html .= '<source srcset="' . esc_url( $webp_url ) . '" type="image/webp">';
    }
    $html .= wp_get_attachment_image( $attachment_id, $size );
    $html .= '</picture>';
    return $html;
}

echo wpmoney_picture_webp( $attachment_id );

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

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

  • Используйте графические редакторы (Photoshop, Affinity Photo, GIMP) для сжатия.
  • Конвертируйте в WebP через онлайн-сервисы.
  • Изменяйте размеры изображений под макет сайта.
  • Используйте инструменты командной строки, например, imagemin или cwebp.

Загрузка уже оптимизированных файлов значительно снижает нагрузку на сервер и ускоряет сайт.

Заключение

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

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

×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше