I don’t know that anyone on this thread is in this situation, but I wanted to mention it here just in case anyone reads this thread and is curious about this particular setup.
The one last remaining hurdle related to CDNs is for those that have “push mode” setups. Both current rewriting configurations make no assumptions about a .webp file existing, but rather they check to make sure there IS a .webp file before performing rewriting on a particular image.
With a push mode CDN, this can actually work if you keep the originals on your server, but if you don’t, then EWWW has no way to determine that a .webp file is available. There are two plugins I’m aware of for Azure Storage and Amazon S3 that allow removing the local files, and WPEngine also has an S3 backed storage scheme which removes local files.
To that end, the only way I can think of to resolve this dilemma is to have a sort of ‘Forced WebP’ option. What it would do is generate .webp alternatives for EVERY image that gets optimized, regardless of whether the .webp version is smaller (most of the time it is, but not 100%). Then on the front side, EWWW would rewrite EVERY image url that matches a certain domain, usually this would be the special hostname/cname that you’re using for your CDN resources.
This does NOT mean that every user on your site will see webp images. It means that every user with a webp-supporting browser will see webp images for every image on your site (except background images, unless you rewrite the css yourself).
If you are reading this, and would like to see such a feature, add a +1 to this thread.