More than 9 out of 10 users are using a browser that is able to display webp images. Yet, on most websites, they are served jpeg images, which are typically double the size of webp images for a given quality. What a waste of bandwidth! This plugin was created to help remedy that situation. With little effort, WordPress admins can have their site serving autogenerated webp images to browsers that supports it, while still serving jpeg and png files to browsers that does not support webp.
The image converter
The plugin uses the WebP Convert library to convert images to webp. WebP Convert is able to convert images using multiple methods. There are the “local” conversion methods:
gd. If none of these works on your host, there are the cloud alternatives:
ewww (paid) or connecting to a WordPress site where you got WebP Express installed and you enabled the “web service” functionality.
The “Serving webp to browsers that supports it” part.
The plugin supports different ways of delivering webps to browsers that supports it:
- By routing jpeg/png images to the corresponding webp – or to the image converter if the image hasn’t been converted yet.
- By altering the HTML, replacing image tags with picture tags. Missing webps are auto generated upon visit.
- By altering the HTML, replacing image URLs so all points to webp. The replacements only being made for browsers that supports webp. Again, missing webps are auto generated upon visit.
- In combination with Cache Enabler, the same as above can be achieved, but with page caching.
The plugin implements the “WebP On Demand” solution described here and builds on a bunch of open source libraries (all maintained by me):
– WebP Convert: For converting images to webp
– WebP Convert Cloud Service: For the Web Service functionality
– DOM Util for WebP: For the Alter HTML functionality
– Image MimeType Guesser: For detecting mime types of images.
– HTAccess Capability Tester: For testing .htaccess capabilities in a given directory, using live tests
– WebP Convert File Manager: For browsing conversions and triggering conversions.
– Exec With Fallback: For emulating exec() on systems where it is disabled (using proc_open(), passthru() or similar alternatives).
- Much faster load time for images in browsers that supports webp. The converted images are typically less than half the size (for jpeg), while maintaining the same quality. Bear in mind that for most web sites, images are responsible for the largest part of the waiting time.
- Better user experience (whether performance goes from terrible to bad, or from good to impressive, it is a benefit).
- Better ranking in Google searches (performance is taken into account by Google).
- Less bandwidth consumption – makes a huge difference in the parts of the world where the internet is slow and costly (you know, ~80% of the world population lives under these circumstances).
- Currently ~95% of all traffic, and ~96% of mobile browsing traffic are done with browsers supporting webp. Check current numbers on caniuse.com.
- It’s great for the environment too! Reducing network traffic reduces electricity consumption which reduces CO2 emissions.
- The plugin should now work on Microsoft IIS server, but it has not been tested thoroughly.
Supporting WebP Express
Bread on the table don’t come for free, even though this plugin does, and always will. I enjoy developing this, and supporting you guys, but I kind of need the bread too. Please make it possible for me to continue wasting time on this plugin:
- Buy me a Coffee
- Buy me coffee on a regular basis and help ensuring my coffee supplies doesn’t run dry.
Supporters of WebP Express
Persons who recently contributed with ko-fi – Thanks!
* 3 May: Jonas
* 27 Apr: Jonas
* 7 Apr: Anuar
* 30 Mar: Michael Schober
* 17 Mar: bluesix
* 13 Mar: Troglos
Persons who contributed with extra generously amounts of coffee / lifetime backing (>30$) – thanks!:
- Max Kreminsky ($115)
- Justin – BigScoots ($105)
- Bill Vallance ($102)
- Sebastian ($99)
- Tammy Lee ($90)
- Steven Sullivan ($51)
- Mathieu Gollain-Dupont ($50)
- Erica Dreisbach ($50)
- Brian Laursen ($50)
Persons currently backing the project via GitHub Sponsors or patreon – Thanks!
- Mathieu Gollain-Dupont