Оптимизация изображений — один из ключевых факторов, влияющих на скорость загрузки сайта и удобство пользователей. В WordPress, особенно при большом количестве медиафайлов, правильная оптимизация помогает снизить нагрузку на сервер, уменьшить размер страниц и улучшить SEO-показатели.
Почему важна оптимизация изображений в WordPress
Изображения часто составляют большую часть веса страницы. Без оптимизации большие файлы замедляют загрузку, что негативно влияет на пользовательский опыт и позиции в поисковых системах. Оптимизация позволяет:
- Уменьшить вес файлов без заметной потери качества.
- Ускорить загрузку сайта на мобильных устройствах и при медленном интернете.
- Снизить потребление трафика и нагрузку на хостинг.
Кроме того, правильно оптимизированные изображения повышают оценку Core Web Vitals от Google.
Популярные плагины для оптимизации изображений в WordPress
Рассмотрим несколько эффективных плагинов, которые помогут автоматизировать процесс оптимизации.
1. Smush – бесплатный и простой в использовании
Smush автоматически сжимает изображения при загрузке, поддерживает пакетную оптимизацию и lazy load. В бесплатной версии доступны базовые функции сжатиия, а в PRO – расширенные возможности.
Установка:
wp plugin install wp-smushit --activateЧтобы оптимизировать все загруженные изображения, используйте команду в консоли WP-CLI:
wp smush bulk2. ShortPixel Image Optimizer — продвинутый сжатие и WebP
ShortPixel позволяет конвертировать изображения в современные форматы WebP и AVIF, поддерживает lossy и lossless сжатие. Бесплатный тариф ограничен 100 изображениями в месяц.
Для автоматической конвертации в WebP нужно включить соответствующую опцию в настройках плагина.
3. EWWW Image Optimizer — оптимизация без ограничений
Этот плагин оптимизирует изображения локально без ограничения по количеству. Поддерживает оптимизацию PNG, JPG, GIF и WebP. Можно настроить автоматическую оптимизацию при загрузке и пакетную обработку.
Кастомизация оптимизации изображений через код в WordPress
Если хотите контролировать процесс оптимизации самостоятельно или добавить функционал для сжатия изображений, можно использовать хуки WordPress.
Пример: автоматическое изменение качества JPEG при загрузке
В WordPress по умолчанию качество JPEG установлено в 82%. Чтобы снизить его до 70%, добавьте следующий код в functions.php вашей темы или в отдельный плагин:
function wpclean_jpeg_quality() {
return 70;
}
add_filter('jpeg_quality', 'wpclean_jpeg_quality');Это уменьшит размер изображений без заметной потери качества.
Пример: удаление метаданных из изображений при загрузке
Метаданные (EXIF, GPS и пр.) увеличивают размер файла. Чтобы их удалять, используйте фильтр:
function wpclean_strip_image_metadata($metadata, $attachment_id) {
if (isset($metadata['image_meta'])) {
$metadata['image_meta'] = [];
}
return $metadata;
}
add_filter('wp_generate_attachment_metadata', 'wpclean_strip_image_metadata', 10, 2);Это поможет дополнительно уменьшить размер файлов.
Lazy Load и WebP: дополнительные методы ускорения
Кроме уменьшения веса, важно оптимизировать отображение. В WordPress с версии 5.5 встроена поддержка lazy load, которая откладывает загрузку изображений вне экрана.
Для управления lazy load можно использовать плагин Clearfy, в том числе для отключения или настройки этой функции.
Использование формата WebP значительно сокращает размер изображений. Для автоматической генерации WebP можно подключить EWWW Image Optimizer или ShortPixel.
Оптимизация изображений в базе данных WordPress
Со временем в базе данных накапливаются ненужные версии изображений (миниатюры, дополнительные размеры), которые занимают место. Можно очистить их вручную или с помощью плагина.
Плагин Clearfy включает инструменты для удаления неиспользуемых размеров изображений и оптимизации базы.
Для удаления всех дополнительных размеров кроме оригинала можно использовать следующий код (внимание, требует тестирования на резервной копии):
function wpclean_remove_extra_image_sizes() {
global $_wp_additional_image_sizes;
$keep_sizes = ['thumbnail', 'medium', 'medium_large', 'large'];
foreach ($_wp_additional_image_sizes as $size => $details) {
if (!in_array($size, $keep_sizes)) {
remove_image_size($size);
}
}
}
add_action('init', 'wpclean_remove_extra_image_sizes');Это уменьшит количество создаваемых копий при загрузке.
Итоги и рекомендации
Оптимизация изображений в WordPress — это комплексный процесс, включающий сжатие, правильный выбор форматов, удаление метаданных и настройку отображения. Рекомендуется сочетать автоматические плагины с кастомными настройками через код для максимального результата.
Для быстрого старта используйте Smush или EWWW Image Optimizer, а затем дополняйте настройки своими фильтрами и функциями.