How to Set Up WebP Delivery in WordPress (Without Monthly Fees)
Learn how to convert and serve WebP images in WordPress for free using StaticQ Media — with automatic conversion, <picture> tag delivery, and full browser fallback.
WebP images are 25-35% smaller than their JPEG equivalents at the same visual quality — which means faster page loads, better Core Web Vitals scores, and less bandwidth consumed by every visitor. Most WordPress image optimization plugins charge monthly fees to convert and serve WebP. StaticQ Media does it for free, with no per-image limits, no compression quotas, and no subscription.
In this guide, you’ll set up automatic WebP conversion and delivery on your WordPress site in under 10 minutes.
Video: How to Set Up WebP Delivery in WordPress
Coming soon
Prefer to watch? The video above walks through every step below.
What Is WebP and Why It Matters
WebP is an image format developed by Google that provides superior compression for images on the web. A JPEG photo that weighs 200 KB might be 130-150 KB as WebP — with no visible difference. Multiply that across dozens of images per page and the savings are real.
Google’s PageSpeed Insights and Lighthouse audits specifically flag sites that don’t serve next-gen image formats. If you’re chasing a high Core Web Vitals score — especially Largest Contentful Paint (LCP) — WebP is one of the easiest wins available. Every major browser supports it: Chrome, Firefox, Safari, Edge, and all modern mobile browsers.
The challenge has always been the conversion pipeline. WordPress doesn’t generate WebP out of the box. You need something to create the WebP files, something to serve them to the right browsers, and something to fall back to JPEG/PNG for the rare browser that doesn’t support WebP. Most plugins that solve this charge per image or per month. StaticQ Media handles the entire pipeline for free.
Two Ways StaticQ Generates WebP
StaticQ Media gives you two options for WebP conversion, depending on your server setup and preferences:
Local conversion (GD or Imagick): Your WordPress server generates WebP files using its built-in image library. Most modern PHP installations include GD with WebP support. If your host provides Imagick, StaticQ will use that instead for better quality. This works on any host — no external services required.
Cloudflare Image Resizing (optional): If your domain is proxied through Cloudflare and you have Image Resizing enabled, StaticQ can offload the conversion entirely to Cloudflare’s edge network. Your server does zero image processing work — Cloudflare handles resize and format conversion at the CDN level. This is ideal for shared hosting where CPU time is limited.
Both methods produce the same result: a WebP variant alongside your original image, served automatically to visitors.
Step 1: Install StaticQ Media and Configure R2
If you haven’t already, install StaticQ Media from the WordPress plugin directory. Go to Plugins > Add New, search for “StaticQ Media”, and activate it.
Then connect your Cloudflare R2 bucket in StaticQ > Settings. If you need help with this step, see the full R2 setup guide.
Screenshot: StaticQ settings page with R2 credentials configured
Step 2: Enable WebP Conversion
In StaticQ > Settings, find the WebP Conversion toggle and enable it. This tells StaticQ to generate a .webp variant every time it processes an image.
If your server supports it, you’ll see a confirmation that GD or Imagick is available with WebP support. If neither library supports WebP on your server, you can still use the Cloudflare Image Resizing option (covered below).
Screenshot: WebP conversion toggle enabled in settings
Step 3: Enable Picture Tag Delivery
Still in Settings, enable Front-End Delivery with <picture> tag mode. This is how StaticQ serves WebP to visitors.
When enabled, StaticQ’s output buffer rewrites every <img> tag on your pages into a <picture> element with multiple <source> entries — one for WebP, one for the original format. The browser picks the best format it supports, automatically.
<!-- Before: standard img tag -->
<img src="https://cdn.example.com/photo.jpg" alt="Example" />
<!-- After: StaticQ picture tag delivery -->
<picture>
<source srcset="https://cdn.example.com/photo.webp" type="image/webp" />
<img src="https://cdn.example.com/photo.jpg" alt="Example" />
</picture>
Browsers that support WebP load the smaller .webp file. The rare browser that doesn’t falls back to the original JPEG or PNG inside the <img> tag. No JavaScript, no redirects, no content negotiation headers to configure.
Screenshot: Front-end delivery settings with picture tag mode enabled
Step 4: How Automatic Conversion Works
Once WebP and delivery are enabled, the pipeline is fully automatic for new uploads:
- You upload an image through the WordPress media library (or a post editor, or a plugin)
- StaticQ adds it to the processing queue
- WordPress cron picks it up in the next batch — resizes it, generates the WebP variant, and uploads both to R2
- When a visitor loads a page containing that image, StaticQ rewrites the
<img>tag to a<picture>element pointing to the R2-hosted WebP and original
There’s no manual step. No “optimize” button to click per image. The queue processes in controlled batches via WordPress cron, so there are no CPU spikes — even on shared hosting.
Screenshot: Queue processing status in Media Manager
Step 5: Verify WebP Delivery in Your Browser
Open any page on your site, right-click an image, and select Inspect (or press F12). In the Elements panel, find the image. You should see a <picture> element wrapping it, with a <source> tag pointing to a .webp URL.
You can also check the Network tab: filter by “Img” and look at the Type column. Images should show as webp in browsers that support it.
Screenshot: Chrome DevTools showing picture element with WebP source
For Existing Images: Run the Media Library Scanner
New uploads get WebP conversion automatically. But what about the hundreds or thousands of images already in your library?
Go to StaticQ > Media Manager and run the Media Library Scanner. It compares every registered attachment against your current settings and flags images that are missing WebP variants. Once the scan completes, click Fix All — StaticQ queues the missing conversions and processes them in batches, just like new uploads.
This is especially useful if you enabled WebP after your library was already built, or if you recently migrated from another optimization plugin.
Screenshot: Media Library Scanner results showing missing WebP variants
The Cloudflare Image Resizing Option
If your domain is proxied through Cloudflare and you have access to Image Resizing (available on Pro, Business, and Enterprise plans), you can offload WebP conversion entirely to Cloudflare.
With this option enabled, StaticQ doesn’t generate WebP files on your server at all. Instead, Cloudflare’s edge network handles format conversion on the fly when a visitor requests an image. This has two benefits:
- Zero server CPU for image processing — ideal for shared hosting or low-powered servers
- Guaranteed WebP delivery regardless of your server’s GD/Imagick configuration
The <picture> tag delivery works the same way from the visitor’s perspective. The difference is where the WebP file gets created — on your server or at Cloudflare’s edge.
Screenshot: Cloudflare Image Resizing option in StaticQ settings
Automatic Browser Fallback
You don’t need to worry about the small percentage of browsers that lack WebP support. The <picture> element is designed for exactly this scenario — if a browser can’t handle the <source type="image/webp">, it ignores it and loads the original JPEG or PNG from the <img> fallback.
There’s no JavaScript involved, no server-side user-agent sniffing, and no .htaccess rewrite rules to maintain. It’s native HTML behavior, supported by every browser that supports the <picture> element — which includes every browser released in the last decade.
What You’ve Set Up
Your WordPress site now serves WebP images automatically:
- New uploads are converted to WebP during queue processing — no manual steps
- Existing images can be batch-converted via the Media Library Scanner
<picture>tag delivery ensures every visitor gets the optimal format- Browser fallback is built in — no broken images, ever
- Total cost: $0 — no per-image fees, no monthly subscriptions
While plugins like ShortPixel ($3.99/mo), Imagify (limited free tier), and Optimole ($19.08/mo) charge recurring fees for WebP conversion, StaticQ Media handles the entire pipeline using your own infrastructure. Your images, your R2 bucket, your Cloudflare account — no middleman.