Generates webp images from uploaded images, and outputs webp images in content in compatible browsers. Optionally provides lazy-load functionality.
This plugin helps to increase site speed, and helps to improve scores in Google’s Pagespeed Insights tool by addressing the common recommendation “Serve next-gen image formats”.
For the best speeds, Google recommends using new image formats such as .webp, which offer smaller file sizes than common formats such as .jpg or .png with no visible loss in quality. However, not all internet browsers support the .wepb image format, so only using that format would result in broken images in older browsers.
This plugin addresses that problem, and allows your site to use .webp images when it can. This plugin will convert images from .jpg or .png automatically, and save .webp versions of the image alongside the original. When a user visits the site in a compatible browser, they will be shown the .webp versions of all images, making your site load faster and improving your scores in Google Pagespeed Insights. Users on older browsers that aren’t compatible with .webp images will be shown the .jpg or .png versions of the images instead.
When first installing the plugin, run the Bulk Converter to convert all your existing images. See the Installation section for instructions.
After installation, any .jpg or .png image uploaded to the Media Library will be automatically converted.
Conversion quality – Controls the level of compression on the generated .webp images. The lower the value, the smaller the file size of the generated images, but the more chance there is of a visual degradation of quality. The quality value to be entered is a percentage – by default, this is set at 80%. Most users won’t need to change this.
HTML Output Buffering – This allows the plugin to perform a find-and-replace on the HTML that WordPress has generated for output to the browser to replace image tags. This tends to perform the image tag replacement more reliably, but can cause issues with some themes. Users are advised to have this setting turned on, but they should check that the site is displaying as it should, and turn this option off if any issues arise.
Exclude pages from HTML output buffering – To specify pages that should be excluded from the HTML Output Buffering settings
Lazy loading – This improves the site speed further by not loading images that are further down the page until the user has scrolled down to them. This saves time downloading images that the user hasn’t got to yet, or might not get to at all. Users are advised to have this setting turned on, but they should check that the site is displaying as it should, and turn this option off if any issues arise.
Exclude image classes from lazy-loading – To specify images, by class name, that should not have the lazy-loading applied
If using Simple Webp Images with your custom themes or plugins, there’s a couple of filters you can use, as below.
simple-webp-images-exclude-from-output-buffering
filterUse this to exclude pages or posts from the HTML output buffering via apply_filters
, using any critera you need. Call the filter, run any checks you need, and return ‘true’ to exclude the current page or post from the buffering.
Example:
apply_filters( 'simple-webp-images-exclude-from-output-buffering', 'exclude_page_with_id_100_from_output_buffering' ); function exclude_page_with_id_100_from_output_buffering( $is_excluded ) { if( get_the_id() == 100 ) { return true; } return false; }
The example code could be placed in your functions.php
file.
simple-webp-images-exclude-from-lazy-loading
filterUse this to exclude pages or posts from the image lazy loading via apply_filters
, using any critera you need. Call the filter, run any checks you need, and return ‘true’ to exclude the current page or post from the lazy loading.
Example:
apply_filters( 'simple-webp-images-exclude-from-lazy-loading', 'exclude_page_with_id_100_from_lazy_loading' ); function exclude_page_with_id_100_from_lazy_loading( $is_excluded ) { if( get_the_id() == 100 ) { return true; } return false; }
The example code could be placed in your functions.php
file.
This section describes how to install the plugin and get it working.
e.g.
If certain pages don’t display correctly, but the rest of the site does, exclude the problem pages from the output buffering on the plugin settings page, under Settings -> Simple Webp Images.
If it’s the majority of the site that doesn’t display correctly, turn off the setting and send me a message describing the issue that you saw – I’ll try to issue a fix and come back to you!