Do not serve WebP images that are larger than the original #6123
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The current code assumes the
.webp
is always smaller, but occasionally it isn't. Optimiser plugins may report this situation as "already optimised", or similar. In some cases, the optimiser plugin provides both a WebP version and an optimised version with the same name as the original, and the WebP might be smaller than the original but larger than the other optimised file.Description
This adds a size check to the webp URL replacer function. I noticed that Rocket was still replacing URLs for which Imagify reports "already optimised", so the images served were larger, which degraded performance.
Type of change
Is the solution different from the one proposed during the grooming?
N.a.
Checklists
Generic development checklist
Test summary
I ran this patch on a live site (with an additional logging line inside the size check
if
block), and it worked as intended.