How to Speed Up WordPress with WebP Images (2025 Guide)
Make your WordPress site faster with WebP images. Learn 4 methods to serve WebP — plugins, manual conversion, CDN, and .htaccess rewrite rules for maximum speed.
Why WordPress Sites Need WebP
WordPress powers over 40% of the web, and most WordPress sites are slow. The #1 reason? Unoptimized images. The average WordPress page loads 2-4MB of images, most in outdated JPEG or PNG formats.
Switching to WebP reduces image payload by 25-80%, which translates to:
- 1-3 seconds faster page load times
- 20-40 point improvement in PageSpeed Insights
- Better Google rankings via improved Core Web Vitals
- Lower hosting bandwidth costs
Method 1: Convert and Upload Manually (Most Control)
The simplest approach — convert your images to WebP before uploading to WordPress.
Steps:
- Go to PixelPress bulk converter
- Upload your JPEG/PNG images (up to 50 at once)
- Set quality to 80% for photos, 100% for graphics
- Download the WebP files
- Upload to WordPress via the Media Library
WordPress WebP support: Since WordPress 5.8 (2021), WebP uploads are supported natively. No plugins needed for basic upload and display.
Pros: Full control over quality, no plugin overhead, works with any theme. Cons: Manual process, doesn't convert existing images automatically.
Method 2: Use a Plugin (Easiest)
Several plugins automatically convert and serve WebP images:
ShortPixel Image Optimizer
- Converts on upload automatically
- Bulk optimizes existing images
- Serves WebP with fallback
- Free tier: 100 images/month
Imagify
- One-click bulk optimization
- Three compression levels
- WebP conversion included
- Free tier: 20MB/month
EWWW Image Optimizer
- No external API needed (processes locally)
- Automatic WebP conversion
- Lazy loading included
- Free version available
Recommended for most users: Start with EWWW Image Optimizer — it processes images on your server with no monthly limits.
Method 3: CDN-Based Conversion (Best Performance)
If you use a CDN, it can automatically serve WebP to supported browsers:
Cloudflare (Free Plan)
Enable Polish in the Speed settings (requires Pro plan) or use Cloudflare Images for automatic WebP conversion.
BunnyCDN
Enable Bunny Optimizer to automatically convert and serve WebP. Works on any plan.
KeyCDN
Built-in image processing converts to WebP on the fly.
Pros: Zero server load, automatic format negotiation, works globally. Cons: May require a paid CDN plan.
Method 4: Server-Level Rewrite (Advanced)
If you pre-convert images to WebP and store both versions, use .htaccess rules to serve WebP automatically:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{REQUEST_FILENAME} \.(jpe?g|png)$
RewriteCond %{REQUEST_FILENAME}.webp -f
RewriteRule ^(.+)\.(jpe?g|png)$ $1.$2.webp [T=image/webp,E=REQUEST_image,L]
</IfModule>
<IfModule mod_headers.c>
Header append Vary Accept env=REQUEST_image
</IfModule>
This serves the WebP version when the browser supports it, with automatic JPEG/PNG fallback.
Pros: No plugins, no CDN cost, fastest possible serving. Cons: Requires server access, manual WebP generation, only works on Apache.
Optimizing Existing WordPress Images
Most WordPress sites have hundreds of existing images that need optimization. Here's the workflow:
Bulk Conversion Approach
- Export your media — Use a plugin like "Export Media Library" to download all images
- Batch convert — Use PixelPress to convert batches of 50
- Re-upload — Replace originals with WebP versions
- Update references — Use "Better Search Replace" plugin to update image URLs in posts/pages
Plugin Approach
- Install EWWW Image Optimizer
- Go to Media → Bulk Optimize
- Enable WebP conversion in settings
- Run bulk optimization
- The plugin handles everything automatically
WordPress Theme Considerations
Some things to check with your theme:
- Featured images — Most themes handle WebP correctly
- Background images in CSS — May need manual updating to
.webp - Logo — Upload an SVG or WebP version
- Lazy loading — WordPress adds
loading="lazy"by default since 5.5
Performance Checklist for WordPress
- Convert existing images to WebP
- Set up automatic WebP conversion for new uploads
- Enable lazy loading (built into WordPress 5.5+)
- Use a caching plugin (WP Super Cache, W3 Total Cache, or LiteSpeed Cache)
- Enable a CDN for global delivery
- Remove unused images from the Media Library
- Set image quality to 80% for photographs
- Resize images to max display dimensions before uploading
Expected Results
After implementing WebP on a typical WordPress site:
| Metric | Before | After | Change |
|---|---|---|---|
| Page size | 3.2MB | 1.1MB | -66% |
| Load time | 5.4s | 2.1s | -61% |
| PageSpeed (mobile) | 38 | 72 | +34 |
| PageSpeed (desktop) | 62 | 91 | +29 |
Get Started
The fastest first step: Convert your images to WebP with PixelPress, then re-upload them to WordPress. It takes minutes and the speed improvement is immediate.
Ready to Optimize Your Images?
Try PixelPress — free, fast, and 100% private image conversion.
Start Converting Images