Description
SEV Rewrite-Free WebP for W3TC is a lightweight companion plugin for W3 Total Cache that automatically serves WebP images to browsers that support them.
Unlike traditional WebP delivery methods, this plugin does not rely on Apache or Nginx rewrite rules. No changes to .htaccess, mod_rewrite, or web server configuration are required. Instead, it rewrites image URLs directly in the generated HTML before the page is sent to the visitor.
This makes the plugin particularly useful on managed hosting environments, including many Plesk installations, where configuring or relying on web server rewrite rules is difficult, restricted, or simply not practical. If W3 Total Cache ImageService has already generated a WebP version of an image, this plugin serves it without requiring any server-side rewrite configuration.
This is an independent, unofficial add-on and is not affiliated with, endorsed by, or sponsored by BoldGrid / W3 EDGE, the makers of W3 Total Cache. “W3 Total Cache” is a trademark of its respective owner and is used here only to describe compatibility.
Features
- No Apache or Nginx rewrite rules required.
- No
.htaccessmodifications. - Automatically detects WebP support via the browser’s
Acceptheader. - Rewrites image URLs only when a corresponding WebP image exists.
- Supports
src,srcset,data-src, anddata-srcsetattributes. - Sends a
Vary: Acceptheader for correct browser, CDN, and proxy caching. - Extends the W3 Total Cache page cache key so WebP and non-WebP pages are cached separately.
- Lightweight and requires no configuration.
How it works
- A visitor requests a page.
- The plugin checks the HTTP
Acceptheader to determine whether the browser supports WebP. - It scans the post content for image URLs (
src,srcset,data-src, anddata-srcset). - For each image, it checks whether W3 Total Cache ImageService has already generated a WebP version.
- If a WebP image exists, the corresponding URL in the generated HTML is replaced with the
.webpURL. - A
Vary: Acceptresponse header is added so browsers, CDNs, and reverse proxies cache WebP and non-WebP responses separately. - The W3 Total Cache page cache key is extended with
:webpor:no-webp, ensuring W3 Total Cache stores separate cached pages for browsers with and without WebP support.
Requirements
- W3 Total Cache must be installed and active.
- Images must have been converted using Media W3TC Image Service.
Limitations
This plugin does not convert images to WebP. Image conversion is handled entirely by W3 Total Cache ImageService. If no WebP version exists for an image, the original image URL remains unchanged.
Installation
- Upload the
sev-rewrite-free-webp-for-w3tcfolder to the/wp-content/plugins/directory. - Activate the plugin through the Plugins menu in WordPress.
- Ensure W3 Total Cache is installed and that images have been converted via W3TC ImageService.
FAQ
-
Does this plugin convert images to WebP?
-
No. Image conversion is handled entirely by W3 Total Cache ImageService. This plugin only rewrites image URLs in the generated HTML when a WebP version already exists.
-
Why is it called “Rewrite-Free”?
-
Unlike traditional WebP solutions, this plugin does not require Apache or Nginx rewrite rules. No changes to
.htaccessor web server configuration are needed. Instead, it rewrites image URLs in the generated HTML before the page is sent to the visitor. -
Does it work with multisite installations?
-
Yes. The plugin supports WordPress multisite installations. Each site automatically uses its own W3 Total Cache ImageService-generated WebP images.
-
Will non-WebP browsers be affected?
-
No. The plugin only rewrites image URLs when the browser’s
Acceptheader includesimage/webp. Other browsers continue to receive the original image formats. -
Does it work with lazy-loading plugins?
-
Yes. The plugin replaces URLs in
src,srcset,data-src, anddata-srcsetattributes, making it compatible with most lazy-loading solutions.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“SEV Rewrite-Free WebP for W3TC” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “SEV Rewrite-Free WebP for W3TC” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.0.0
- Rename plugin to “SEV Rewrite-Free WebP for W3TC” to avoid confusion with W3 Total Cache plugin.
- Add translation support and German translation.
1.0.0
- Initial release.