Описание
I-PR AVIF Converter automatically converts your existing and new images to AVIF format — the most efficient image format available today — without any cloud service, subscription, or API key.
After 1 month of production testing across 6 live sites (5,089 images, 2.2 GB saved), this plugin achieves 40–70% file size reduction with zero visible quality loss and 0% conversion failure rate on both Aruba and Serverplan shared hosting.
Real Production Results
- dermopigmentazioneroma.it — 904 images, 721 MB saved (-68%), Mobile PageSpeed 80/100
- mangiaroma.com — 1,213 images, 804 MB saved (-70%), Desktop PageSpeed 97/100
- artmerlino.it — 371 images, 167 MB saved (-64%)
- apicolturalapegaia.it — 1,069 images, 135 MB saved (-69%)
- fnahospitalityroma.it — 432 images, 83 MB saved (-43%)
Total: 4,989 images converted. 0 failures. 2.2 GB saved.
Why AVIF?
AVIF is the next-generation image format supported by all modern browsers (Chrome, Firefox, Safari 16+, Edge). Compared to JPEG, it delivers 40–70% smaller files at equivalent visual quality. Compared to WebP, it delivers 20–30% better compression. Google PageSpeed Insights and Core Web Vitals (LCP) reward AVIF-optimized sites directly.
How It Works
When you upload an image, I-PR AVIF Converter queues it for background conversion via WP-Cron. No page load is blocked. Once converted, images are served automatically via the <picture> HTML element with a fallback to the original for older browsers:
<picture>
<source srcset="image.avif" type="image/avif">
<img src="image.jpg" alt="...">
</picture>
Your original files are never modified unless you explicitly enable «Delete Originals.»
Key Features
Zero cloud dependency — All conversion happens on your server using PHP’s native Imagick or GD library. No API keys, no usage limits, no recurring costs.
Works on shared hosting — Tested and production-proven on Aruba Basic and Serverplan Eco/Basic. The plugin auto-detects your server’s encoder (Imagick or GD) and falls back gracefully.
Adaptive batch processing (AIMD) — The plugin learns your server’s speed using an Exponentially Weighted Moving Average and automatically adjusts how many images it processes per cron run. It never causes timeouts or OOM errors.
Memory guard — Before processing each image, the plugin estimates the required RAM based on image dimensions and encoder type (3.5× for Imagick, 1.8× for GD). If RAM is insufficient, the image is deferred to the next batch. No PHP Fatal errors.
Circuit Breaker for Imagick — If Imagick fails 3 consecutive times, the plugin automatically switches to GD and retries Imagick after 30 minutes. No manual intervention required.
Quarantine system — Images that fail 3 conversion attempts are automatically quarantined and excluded from future runs. You can review and retry quarantined images from the admin panel.
Skip Patterns — Exclude specific images or folders using wildcard patterns (e.g., logos/*.png, 2024/03/*-banner.jpg). Useful for images where conversion is not desired.
Bulk Scanner — Convert your entire existing media library with a real-time progress bar. The scanner is paginated and runs via AJAX without blocking the admin interface.
Telemetry Dashboard — Real-time dashboard showing conversion rate, average compression ratio, fail rate, performance score, and a rolling chart of the last 200 conversion events.
CDN integration — Automatic Cloudflare cache purge after each batch conversion, so your CDN always serves the latest AVIF files.
Elementor & lightbox support — Gallery lightboxes (Elementor, Fancybox, WP native) are rewritten to serve AVIF in the full-size view, not just thumbnails.
Animated GIF preservation — Animated GIFs are automatically detected (binary frame-count parsing) and excluded from conversion. AVIF does not support animation; the plugin never converts a GIF to a broken static file.
CMYK image handling — Images from professional photography workflows (JPEG with CMYK color space) are automatically converted to sRGB before encoding to prevent color inversion artifacts.
Clean uninstall — Removing the plugin deletes all database tables, options, transients, and the WP-Cron job. Zero ghost data left behind.
WooCommerce Compatibility
Tested on two active WooCommerce stores. Product images, gallery thumbnails, and checkout images are all converted and served correctly.
Encoder Compatibility
The plugin requires at least one of:
- Imagick ≥ 7.0.25 with libheif compiled with AV1 support
- PHP ≥ 8.1 with GD + libavif (
imageavif()function available)
The Settings page shows which encoders are available on your server and their current status (including Circuit Breaker state).
PHP & WordPress Compatibility
Tested on PHP 7.4, 8.0, 8.1, 8.2, 8.3. Compatible with WordPress 5.8 through 6.7. PHP 8.2+ deprecation warnings have been resolved.
External Services
This plugin optionally communicates with the Cloudflare API (api.cloudflare.com) to purge CDN cache after batch image conversion.
This feature is disabled by default and only activates if you explicitly enable «Cloudflare CDN Integration» in the plugin settings and provide your own Cloudflare Zone ID and API Token.
No data is sent to Cloudflare unless this feature is manually configured. The only data transmitted are the public URLs of newly converted AVIF images, which Cloudflare needs to purge from its cache.
- Cloudflare service: https://www.cloudflare.com
- Cloudflare Terms of Service: https://www.cloudflare.com/terms/
- Cloudflare Privacy Policy: https://www.cloudflare.com/privacypolicy/
All image conversion is performed locally on your server. No images or personal data are ever sent to external services.
Скриншоты




Установка
- Upload the
ipr-avif-converterfolder to/wp-content/plugins/ - Activate the plugin through the Plugins menu in WordPress
- Go to Settings I-PR AVIF Converter to verify your server’s encoder support
- Upload a test image to verify conversion works
- Optionally: run the Bulk Scanner to convert your existing media library
No API keys. No account registration. No configuration required beyond activation.
Recommended Settings
For most shared hosting environments, the defaults work without changes:
- Quality: 70 (recommended range: 65–75)
- Batch size: 3 (auto-calibrated by AIMD — you can leave this at default)
- Cron interval: 5 minutes
Verify Encoder Availability
Перейдите в Настройки I-PR AVIF Converter и проверьте раздел «Состояние кодировщика». Плагин отображает статус Imagick и GD (зеленый/желтый/красный) с помощью проверки одним щелчком мыши.
Если ни один из кодировщиков недоступен, обратитесь к своему хостинг-провайдеру и попросите его включить PHP Imagick с библиотекой libheif или PHP 8.1+ с библиотекой libavif.
Часто задаваемые вопросы
-
Скорее всего, да. Плагин был протестирован в производственной среде на Aruba Basic и Serverplan Eco/Basic — двух самых ограниченных средах виртуального хостинга, используемых в Италии. Если ваш хостинг-провайдер предлагает PHP 7.4+ (или 8.1+) с Imagick или GD, плагин будет работать.
-
Что произойдет, если мой сервер не поддерживает формат AVIF?
-
При активации плагин проверяет наличие кодировщика. Если кодировщик AVIF не найден, преобразование пропускается, и исходные изображения выдаются без изменений. Ваш сайт будет работать без сбоев.
-
Это замедляет работу моего сайта?
-
Нет. Конвертация происходит в фоновом режиме с помощью WP-Cron, полностью асинхронно. Это никак не влияет на загрузку страниц в интерфейсе во время конвертации. После конвертации файлы AVIF подаются статически — это просто файлы на диске.
-
Это изменит мои исходные изображения?
-
По умолчанию — нет. Исходные файлы в форматах JPEG/PNG сохраняются без изменений. Файл в формате AVIF — это отдельный файл, который сохраняется рядом с исходным. Если включить опцию «Удалить исходные файлы», исходные файлы будут удалены после конвертации — в интерфейсе эта опция помечена как необратимая.
-
В каких браузерах отображается версия AVIF?
-
Chrome 85 и выше, Firefox 93 и выше, Safari 16 и выше, Edge 121 и выше. В более старых браузерах резервный вариант элемента
<picture>—<img>— автоматически отображает исходное изображение в формате JPEG/PNG. JavaScript не требуется. -
Можно ли исключить определенные изображения из преобразования?
-
Да. Воспользуйтесь полем Шаблоны пропуска в настройках. Поддерживается поиск с использованием подстановочных знаков (например,
logo.png,logos/*,2024/01/*.png). Шаблоны сопоставляются с именами файлов, относительными и абсолютными путями. -
Что произойдет, если преобразование завершится неудачей?
-
Плагин повторяет попытку обработки изображений, преобразование которых завершилось неудачей, до 3 раз. После 3 неудачных попыток изображение перемещается в список карантина и исключается из последующих циклов обработки. В панели администратора вы можете просматривать изображения, помещенные в карантин, повторять попытку их преобразования («простить») или удалять их из карантина. Неудачные преобразования никогда не блокируют остальную часть очереди.
-
Это совместимо с WooCommerce?
-
Да. Проверено на двух действующих магазинах WooCommerce. Изображения товаров, галереи товаров с вариантами и изображения на странице оформления заказа отображаются и работают корректно.
-
А как насчёт галерей Elementor?
-
Да. В версии 1.9.2 добавлена специальная поддержка лайтбоксов галерей Elementor. И миниатюры, и полноразмерные изображения в лайтбоксах предоставляются в формате AVIF.
-
Поддерживает ли он формат WebP?
-
Да, по желанию. По умолчанию генерация WebP отключена (формат AVIF заменяет его). Если в настройках включить опцию «Генерировать также WebP», будут сгенерированы оба формата, и элемент
<picture>будет включать WebP в качестве резервного варианта между AVIF и исходным файлом. -
Существует ли ограничение на количество обрабатываемых изображений?
-
Жестких ограничений нет. Плагин тестировался с библиотеками, содержащими более 1 200 изображений. Массовый сканер и очередь рассчитаны на работу с большими библиотеками. Алгоритм AIMD автоматически подстраивает размер пакета под ограничения вашего сервера.
-
Повлияет ли это на мои показатели Core Web Vitals?
-
Да, безусловно. Использование изображений меньшего размера напрямую способствует улучшению показателей LCP (Largest Contentful Paint). На действующих сайтах было отмечено повышение показателей PageSpeed на 5–15 баллов.
-
Какие данные хранит плагин?
-
Плагин создает одну таблицу базы данных (
wp_avif_conversions) для хранения истории конверсий, используемой в статистике панели управления. Все остальные данные хранятся в настройках WordPress и временных переменных. При удалении плагина все данные удаляются без остатка. -
Есть ли версия Pro?
-
Пока нет. Плагин в бесплатной версии работает в полном объеме.
Участники и разработчики
«I-PR AVIF Converter – Automatic Image Optimization» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:
Участники«I-PR AVIF Converter – Automatic Image Optimization» переведён на 1 язык. Благодарим переводчиков за их работу.
Перевести «I-PR AVIF Converter – Automatic Image Optimization» на ваш язык.
Заинтересованы в разработке?
Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.
Журнал изменений
1.9.10 — June 15, 2026
- Fix (regression): the shutdown background-processing fallback was disabled whenever a WP-Cron event was scheduled (introduced alongside 1.9.9’s self-healing scheduler). On hosts where WP-Cron is scheduled but never actually executes (e.g. DISABLE_WP_CRON with a missing or misconfigured system cron), this stopped the queue from processing even though the status showed «WP-Cron» active. The shutdown fallback is now always active as a safety net; it is throttled, skips during real cron runs, and exits immediately when the queue is empty, so it adds no overhead at steady state
1.9.9 — June 15, 2026
- Fix: the «plugin activated» welcome notice could not be dismissed — its dismiss link used an outdated action prefix (same class of issue as 1.9.7, on a GET link missed by that sweep), so the notice reappeared on every admin page. Dismissing now works and persists
- New: self-healing cron scheduling — the background conversion event is now re-registered automatically on load if it goes missing (common on hosts using DISABLE_WP_CRON with a system cron), so the queue runs reliably and the status correctly shows «WP-Cron» instead of falling back
1.9.8 — June 15, 2026
- Fix: removed a PERCENTILE_CONT SQL query in the RAM batch estimator that logged a harmless but noisy «WordPress database error» on every queue run under MySQL 8 and MariaDB (neither supports that syntax). Replaced with a portable percentile calculation — batch sizing behaviour is unchanged
- Housekeeping: bumped the declared «Requires PHP» to 8.1 to match the codebase (the plugin already uses PHP 8.1 syntax; the previous 7.4 declaration was inaccurate)
1.9.7 — June 15, 2026
- Fix: four admin action buttons (Export CSV, Reset stats, Clear log, Clear quarantine) were inoperative since 1.9.6 — their form action values were missed during the AVIF_ to IPR_AVIF_ prefix rename and no longer matched their registered hooks
- New: «Delete generated images (revert)» button — removes all plugin-generated AVIF/WebP files (only those sitting next to an original image) and clears the queue, without uninstalling. Originals are never touched
1.9.6 — April 28, 2026
- WordPress.org compliance: All internal prefixes renamed from
AVIF_toIPR_AVIF_(classes, constants, options, hooks, transients) - WordPress.org compliance: Text domain updated to
ipr-avif-converteracross all 174 instances - WordPress.org compliance: All option keys and hook names prefixed with
ipr_avif_
1.9.5 — April 21, 2026
- WordPress.org compliance: Rebranded to «I-PR AVIF Converter» for distinctive identity
- WordPress.org compliance: Maintained slug
avif-converterfor compatibility - WordPress.org compliance: Fixed lock file storage — now creates dedicated
/uploads/avif-converter/subdirectory - WordPress.org compliance: Added documentation clarifying DOM-based HTML escaping in output methods
1.9.4
- Added: Complete
uninstall.php— removes all database tables, options, transients, and WP-Cron jobs on plugin removal. Zero ghost data. - Added: Clear UI warning for «Delete Originals» option (irreversible action)
1.9.3
- Fixed: PHP 8.2+ compatibility — removed deprecated
mb_convert_encoding()with HTML-ENTITIES in DOMDocument handling. No functional changes, resolves deprecation warnings on PHP 8.2+.
1.9.2
- Fixed: Elementor gallery lightbox now serves AVIF for full-size images, not just thumbnails
- Added: Support for Fancybox, WP native galleries, and generic
data-lightboxattributes
1.9.1
- Fixed: Animated GIFs are now correctly preserved — binary frame-count detection prevents conversion to broken static AVIF
1.9.0
- Added: AIMD (Additive Increase Multiplicative Decrease) adaptive batch processing
- Added: EWMA-based timing prediction with pre-flight batch size reduction
- Added: Performance Score dashboard panel
- Added: Core Web Vitals proxy metrics (CWV)
- Added: Telemetry buffer (last 200 events with fail rate tracking)
- Changed: Average compression ratio improved to 64–68%
1.8.0
- Added: Real-time telemetry dashboard with conversion charts
- Added: CDN integration (Cloudflare automatic cache purge)
- Added: Bulk scanner for existing media library
- Added: Performance Score calculation
1.0.0
- Initial release
- Automatic JPEG/PNG AVIF conversion via WP-Cron
<picture>tag output with automatic browser fallback- Dual encoder support: Imagick and GD
- Admin settings page with encoder status
- Background queue processing
