Works on all major hosting

Pixlify Image Optimizer

Converts your WordPress images to AVIF and WebP. Serves them to every browser. On every host.

Including the ones where .htaccess rules are off the table.

Pixlify Image Optimizer — WordPress plugin dashboard

Simple pricing

$20
/month

billed yearly — $240/yr

Unlimited sites
Unlimited image credits
All features included — no tiers
AVIF + WebP conversion
WP-CLI access
Start Free Trial

No WordPress.org listing. Available directly from us.

How it compares

There are good image optimizer plugins out there. Here's an honest look at where the differences actually matter.

We built Pixlify so we're obviously biased. No affiliate links. No paid placements. Data based on public documentation and our own testing. Read it with that context.

FeaturePixlifySmushShortPixelImagifyEWWW
Works on WP Engine / Kinsta (no .htaccess)YesPartialPartialPartialPartial
Handles Elementor JS-set backgroundsYesNoNoNoNo
External CSS file rewritingYesNoNoNoNo
WP-CLI supportYesLimitedLimitedNoYes
Local conversion (no upload to cloud)YesOptionalCloud onlyCloud onlyYes
AVIF outputYesPaid onlyYesPaid onlyYes
picture element wrapping for img tagsYesPaid onlyYesPaid onlyYes
Unlimited image creditsYesNo — credit limitsNo — pay-per-imageNo — credit limitsPaid plan only

“Partial” for WP Engine/Kinsta means the plugin converts images but URL rewriting may require .htaccess or CDN config that isn't available on those hosts.

What's inside

Built for sites that have run into the edge cases other plugins don't handle.

Page Builder Support

Elementor, Divi, Avada, Beaver Builder, WPBakery, Bricks, Enfold

Page builders set background images in three different ways — inline style= attributes, <style> blocks injected into the HTML, and external CSS files linked via <link> tags. Pixlify rewrites all three.

Elementor goes further. Its Background Slideshow widget sets inline styles via JavaScript at runtime — the PHP buffer never sees those. We handle that with a MutationObserver that watches for style changes after page load and swaps the URL. No other plugin does this.

Tested builders

ElementorAll 3 layers
DiviInline + style blocks
AvadaInline + style blocks
Beaver BuilderInline styles
WPBakeryInline styles
BricksInline + style blocks
Enfold (Avia)Inline + style blocks

WP-CLI Support

Full command-line control

Run the bulk optimizer, check conversion status, reset history, manage the queue, and update settings — all from the terminal. Useful for deployment pipelines, staging-to-production workflows, and cron jobs that run outside of WP-Cron.

The --force flag re-processes everything from scratch. The --dry-run flag tells you what would happen without touching anything.

$ wp pixlify status
$ wp pixlify optimize --format=both
$ wp pixlify optimize --force
$ wp pixlify optimize --dry-run
$ wp pixlify queue build
$ wp pixlify reset --yes
$ wp pixlify settings set output_format both

Background Processing

Cron-based bulk optimizer

New uploads are converted immediately. For your existing media library, the bulk optimizer runs in configurable batches — hourly, twice daily, or daily via WP-Cron. You set the batch size based on what your host can handle without timing out.

A live elapsed-time counter shows progress during each batch so you're not staring at a frozen screen. If you switch output formats later, Force Re-Optimize clears the history and rebuilds the queue without any manual database editing.

Convert on uploadInstant
Cron frequencyHourly / Daily
Batch sizeConfigurable
Force re-optimizeOne click
Auto-skip convertedToggle on/off

Works without .htaccess

PHP output buffer rewriting. No server config changes. Works on WP Engine, Kinsta, Cloudways, nginx, Apache — anything.

AVIF + WebP, your server decides

The plugin detects if your server supports AVIF via Imagick + libavif. If not, it disables AVIF automatically and falls back to WebP.

Original files untouched

Converted files sit alongside originals. Nothing is deleted or replaced. Disable the plugin and the site goes back to normal.

picture element wrapping

Every img tag gets a picture wrapper with typed source elements. Browsers pick AVIF first, WebP second, original last — no JavaScript needed.

image-set() for backgrounds

CSS backgrounds get a dual declaration — fallback url() first, then image-set() — so modern browsers serve the best format without breaking older ones.

Optional backups

Enable pre-conversion backups to /uploads/pixlify-backups/. One-click restore from the Media Library if anything goes wrong.

The problem most plugins skip over

WordPress has been sending JPEGs and PNGs to Chrome, Firefox, and Safari for years. Those browsers have supported WebP since 2020. AVIF since 2022. Your server just keeps sending the old formats anyway.

Most image optimizer plugins compress your JPEGs. That's useful. But you still sent a JPEG. The real problem is format, not just file size.

WP Engine, Kinsta, Cloudways — they don't let you touch .htaccess or nginx config. Every guide that says "just add this rewrite rule" doesn't apply to you.

Elementor sets section background images via JavaScript at runtime. The PHP output buffer never sees those style attributes being written. No plugin handled that. We built one that does.

How it works

Four passes over your page. Covers every way WordPress, Elementor, Divi, Avada, Beaver Builder, WPBakery, Bricks, and Enfold can put an image URL into the browser.

1

img tags get wrapped in picture elements

Every <img> on the page gets a <picture> wrapper with <source> elements for AVIF and WebP. Browsers pick the best format they support. The original <img> stays as the fallback.

2

CSS background-image rules get rewritten

Inline style attributes and <style> blocks are scanned for background-image: url(...). Elementor uses HTML-encoded quotes (&quot;) in style attributes — we handle that too. Each one gets a dual declaration: original URL first, then image-set() for modern browsers.

3

External CSS files get overrides injected

Elementor on WP Engine uses an 'External File' CSS method — it writes your styles to /uploads/elementor/css/post-N.css and links it with a <link> tag. The output buffer never sees that file. We read it from disk, extract only the background-image rules that changed, and inject a compact override <style> block right after the <link>.

4

JS-set backgrounds get swapped at runtime

Elementor's Background Slideshow widget builds slide divs via JavaScript. The inline styles it writes never appear in the HTML source — they're added after page load. A small MutationObserver script watches for background-image style changes and swaps the URL to AVIF or WebP using a HEAD fetch to check if the converted file exists. Result is cached in sessionStorage.

Technical requirements

Nothing unusual. Most WordPress hosting setups already meet these.

Minimum requirements

  • WordPress 5.8 or higher
  • PHP 7.4 or higher
  • GD or Imagick PHP extension (for WebP)

For AVIF support

  • Imagick PHP extension
  • ImageMagick compiled with libavif
  • Not available on all hosts — the plugin detects this and disables AVIF automatically if unsupported

WP-CLI commands

$ wp pixlify status
$ wp pixlify optimize --format=both
$ wp pixlify optimize --force
$ wp pixlify queue build
$ wp pixlify reset --yes
$ wp pixlify settings set output_format both

Setup

Four steps. No server config. No API keys.

1

Install and activate

Upload the plugin zip to wp-content/plugins, activate from the Plugins screen. The database table for tracking conversions is created on activation.

2

Choose output format

Go to Pixlify Settings. Pick WebP, AVIF, or both. The plugin checks your server for Imagick + libavif and disables AVIF automatically if it's not available.

3

Run the bulk optimizer

Go to Pixlify Bulk Optimizer. Click Start Auto-Processing. It works through your media library in batches. A live counter shows elapsed time per batch — no more staring at a frozen screen wondering if it crashed.

4

Enable serving and purge cache

Toggle on Serve WebP and/or Serve AVIF in Settings. Purge your page cache (WP Engine Dashboard → Caching → Purge All, or your caching plugin). Done.

Frequently Asked Questions

Get answers to the most common questions about our services

Yes. That's actually the main reason we built it. WP Engine and Kinsta don't let you modify .htaccess or nginx config, so the usual WebP rewrite rules don't work there. Pixlify rewrites image URLs at the PHP level using WordPress's output buffer — no server config changes needed at all.

Yes, all three layers. Inline CSS in style= attributes, external CSS files (Elementor's External File print method), and backgrounds set dynamically by JavaScript at runtime. The last one is the hard one — Elementor's Background Slideshow widget creates inline styles via JS, which means most plugins never touch it. We use a MutationObserver for that.

WebP, AVIF, or both. WebP works in every modern browser and has since 2020. AVIF gives better compression but requires Imagick with libavif on your server. If your server supports it, we recommend serving both — AVIF for browsers that support it, WebP as fallback, original as last resort.

No. The plugin rewrites URLs in the HTML output buffer — it never touches your database, your media files, or your content. The original JPEG and PNG files stay in place. You can disable the plugin and everything goes back to normal.

They stay. The plugin creates .webp and/or .avif copies alongside your originals. It does not delete or replace anything unless you explicitly ask it to. You can also enable backups before conversion.

Yes. Just purge your page cache after enabling URL rewriting so browsers receive the updated HTML. Works with WP Rocket, W3 Total Cache, WP Super Cache, and WP Engine's built-in cache.

Yes. The plugin comes with full WP-CLI support. You can run wp pixlify optimize, check status, build or clear the queue, reset conversion history, and update settings — all from the command line. Useful for scheduled tasks and deployments.

No. This plugin is not listed on WordPress.org. It's available directly from us at $20/month (billed yearly) for unlimited sites and unlimited image credits. You can start a free trial — reach out through the contact page and we'll get you set up.

Still have questions?

We'd love to discuss your project and answer any specific questions you might have.

Get in Touch

Interested?

Pixlify isn't on WordPress.org. It's available directly from us.

Start a free trial or book a demo. We'll walk you through what's included, answer any questions about your specific host or setup, and take it from there.

Nandann Creative Agency

Crafting digital experiences that drive results

© 2025 Nandann Creative Agency. All rights reserved.

Live Chat