Плагины для WordPress

Разработка плагина конвертации изображений WordPress в WebP и AVIF

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

webp-avif конвертер

Файл проекта

tekito-webp-avif-converter.zip · 1,1 МБ

CMS WordPress 6.0 +
PHP PHP 7.4 или новее.



Скачать

Разработал 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.

Есть похожая задача?

Пришлите ссылку на сайт и опишите желаемый результат.