Разработка плагина конвертации изображений WordPress в WebP и AVIF
Плагин для конвертации изображений WordPress в WebP и AVIF с пробной обработкой, очередью заданий, проверкой раздачи и поэтапной миграцией.

Разработал Tekito WebP & AVIF Image Converter - плагин для WordPress, который создаёт версии изображений в форматах WebP и AVIF, помогает проверить их раздачу посетителям и показывает результат обработки.
Зачем конвертировать изображения
Фотографии товаров, обложки статей и другие изображения часто занимают значительную часть веса страницы. WebP и AVIF во многих случаях позволяют уменьшить размер файла при приемлемом качестве. Если изображение стало меньше, браузеру требуется загрузить меньше данных. Это особенно заметно на страницах с большим количеством фотографий и при медленном мобильном соединении.
Сама конвертация не гарантирует ускорения сайта: новый файл должен действительно отдаваться браузеру. Кроме того, уже оптимизированное изображение иногда получается больше после преобразования. Поэтому в плагине предусмотрены проверка раздачи, сравнение размеров и возможность не сохранять файл, который оказался тяжелее оригинала.
Задача
Нужен был инструмент, с которым владелец сайта сможет проверить результат на небольшой выборке, обработать медиатеку без ручной работы и увидеть ошибки. При обычной генерации исходные JPEG и PNG должны сохраняться, чтобы сайт продолжал отдавать их там, где WebP или AVIF недоступны. Смену основного формата изображений требовалось вынести в отдельный, управляемый процесс.
Что реализовано
- Создание WebP, AVIF или обоих форматов с отдельной настройкой качества.
- Пробный запуск на 10 изображениях: можно оценить размер новых файлов и причины пропуска перед обработкой всей медиатеки.
- Пакетная очередь с паузой и возобновлением, повторная обработка пропущенных файлов и пересоздание отдельного изображения.
- Обработка файлов медиатеки и отдельное сканирование изображений активной темы и плагинов.
- Раздача через правила Apache или HTML-разметку
<picture>, а также проверка фактического HTTP-ответа в админке. - CSV-отчёт о результатах обработки.
- Отдельная двухэтапная миграция изображений и ссылок: на первом этапе исходники сохраняются для проверки и отката; их удаление запускается только отдельным действием.
- Русский и английский интерфейс и вкладка «Справка» с пошаговой инструкцией.
Требования к сайту
- WordPress 6.0 или новее и PHP 7.4 или новее.
- Возможность записи файлов в каталог загрузок WordPress.
- Поддержка нужного формата серверным редактором изображений WordPress либо доступный кодировщик
cwebpилиavifenc. Для запуска внешних кодировщиков требуется разрешённая функцияexec(). - Для фоновой обработки - работающий WP-Cron или настроенный системный cron.
Результат
Плагин позволяет пройти весь процесс по шагам: выбрать форматы, сделать пробный запуск, обработать изображения, проверить их раздачу и изучить отчёт. Исходные файлы при обычной генерации остаются на месте. Если сайту нужна замена основного формата вложений, миграцию можно выполнить отдельно после резервного копирования и проверки результата. Реальная экономия места и влияние на скорость зависят от исходных изображений, настроек сервера и кэширования.
Технологии: WordPress, PHP, JavaScript, WebP, AVIF, WP-Cron, WP-CLI.
Есть похожая задача?
Пришлите ссылку на сайт и опишите желаемый результат.