Оптимизация изображений – важный этап ускорения загрузки сайта и повышения его позиций в поисковой выдаче. Один из эффективных способов добиться этого — автоматическая конвертация изображений в формат WebP при загрузке в WordPress. Ниже рассмотрим, как работает данный механизм и какие преимущества он даёт.
Как работает конвертация изображений в WebP при загрузке?
Для автоматической конвертации используется фильтр wp_handle_upload
, который перехватывает загружаемые изображения и преобразует их в формат WebP с помощью библиотек ImageMagick или GD.
Основные шаги работы кода:
- Проверка типа файла (JPEG, PNG, GIF);
- Использование
wp_get_image_editor()
для редактирования; - Сохранение изображения в формате WebP;
- Заменяется оригинальный путь и URL на WebP-файл;
- Оригинал (JPEG/PNG/GIF) удаляется.
Собственно сам код который это делает.
add_filter( 'wp_handle_upload', 'wpturbo_handle_upload_convert_to_webp' );
function wpturbo_handle_upload_convert_to_webp( $upload ) {
if ( $upload['type'] == 'image/jpeg' || $upload['type'] == 'image/png' || $upload['type'] == 'image/gif' ) {
$file_path = $upload['file'];
// Check if ImageMagick or GD is available
if ( extension_loaded( 'imagick' ) || extension_loaded( 'gd' ) ) {
$image_editor = wp_get_image_editor( $file_path );
if ( ! is_wp_error( $image_editor ) ) {
$file_info = pathinfo( $file_path );
$dirname = $file_info['dirname'];
$filename = $file_info['filename'];
// Create a new file path for the WebP image
$new_file_path = $dirname . '/' . $filename . '.webp';
// Attempt to save the image in WebP format
$saved_image = $image_editor->save( $new_file_path, 'image/webp' );
if ( ! is_wp_error( $saved_image ) && file_exists( $saved_image['path'] ) ) {
// Success: replace the uploaded image with the WebP image
$upload['file'] = $saved_image['path'];
$upload['url'] = str_replace( basename( $upload['url'] ), basename( $saved_image['path'] ), $upload['url'] );
$upload['type'] = 'image/webp';
// Optionally remove the original image
@unlink( $file_path );
}
}
}
}
return $upload;
}
Преимущества использования WebP на сайте
WebP — современный формат изображений от Google, обеспечивающий более высокую степень сжатия без потери качества.
Преимущества:
- Уменьшение размера файлов на 25-35%;
- Быстрая загрузка страниц;
- Улучшение показателей Core Web Vitals;
- Поддержка анимации (альтернатива GIF);
- SEO-эффект: ускорение сайта способствует росту позиций.
Почему стоит реализовать автоматическую конвертацию?
Конвертация вручную отнимает много времени. Данный подход:
- Работает на уровне загрузки в админке WordPress;
- Не требует дополнительных плагинов;
- Поддерживает базовые форматы (JPEG, PNG, GIF);
- Совместим с популярными библиотеками обработки изображений.
Технические требования для работы
Требование | Описание |
---|---|
PHP расширение | imagick или gd |
WordPress функция | wp_get_image_editor |
Поддержка хостинга | Возможность изменять файлы (chmod 755) |
Как внедрить на свой сайт
- Откройте файл
functions.php
вашей темы;


- Вставьте предложенный код;

- Убедитесь, что на сервере активирован ImageMagick или GD;
- Загрузите изображение через админку WordPress и проверьте результат.
Заключение
Внедрение автоматической конвертации изображений в WebP — это простой и эффективный способ повысить скорость загрузки сайта и улучшить его SEO. Код, представленный выше, позволяет реализовать эту функцию без дополнительных плагинов и нагрузок на сервер.