ShortPixel Adaptive Images doesn't serve WebP images, why is that?
First of all, make sure that no plugin or lazy-load feature is conflicting with SPAI: https://help.shortpixel.com/article/220-i-installed-shortpixel-adaptive-images-but-it-doesnt-seem-to-work
Now, make sure this option is active on Settings/ShortPixel AI:
If you do have this setting active, then WebP images should be served. Please note that the extension of the URLs of the images won't change, so your URLs will still have the original extension (e.g. .jpg), but the actual image will be WebP. The reason for this is that changing the image extension in URL would have required an additional request and this is not optimal.
Take for example: https://cdn.shortpixel.ai/spai/w_604+q_lossless+ret_img+to_webp/https://blog.shortpixel.com/wp-content/uploads/2019/04/Boost-Page-Speed-1024x685.jpg
If you look at the image details you'll see that it is actually a WebP image as you can see below:
Disable the WebP delivery everywhere else
If you are using another plugin or service that already delivers your WebP files, you must disable it, because ShortPixel Adaptive Images already converts your images to WebP on the fly. Here's the most common suspects:
- ShortPixel Image Optimizer: go to Settings > ShortPixel > Advanced and disable the option "Also create WebP versions of the images, for free". It should be like this:
WP Rocket: go to Settings > WP Rocket > Media and disable the option "Enable WebP caching":
If the URLs seem correct, and you have the previous setting enabled, and you still don't see the WebP files being served, try enabling the option Settings > ShortPixel AI > Lazy-load the backgrounds. WebP requires lazy-loading, so there's a chance some background images need to have this setting on to be able to be served in WebP format.
Depending on your page, you might also need to enable the option Settings > ShortPixel AI > Advanced > Replace in JSON data > Lazy-load JSON URLs: