This article covers the basic settings of the EWWW Image Optimizer plugin for WordPress.
Moved to the Support tab. Used for debugging and troubleshooting. This option will enable the output of the attachment metadata when viewing the Media Library in List mode. The debugging option also enables logging of all debug information to a file named debug.log, which can be found in the plugin folder on your server.
It also enables two new menu items/pages in the Media menu: Dynamic Image Debugging & Image Queue Debugging (more information via the related articles)
This option removes all image metadata. Sometimes Photoshop and other tools will even embed thumbnail versions of an image when you save to JPG, so removing metadata is vital to achieving the smallest size possible. Metadata can include EXIF fields like aperture, the type of camera used, exposure, etc. It also includes location, embedded copyright information, and color profiles. Anything that does not tell a computer how to render a pixel is stripped from the image. When using the compression API or ExactDN, color profiles will be preserved regardless of this setting.
Un-checking this option preserves all metadata, except when using Premium Plus mode. In Premium Plus mode, for both JPG and PNG, the only fields that are preserved are copyright, location, and the creation date.
Lossless vs. Lossy
Lossless in any case with the API means that no pixels are changed and the images (before and after) will be visually identical. Lossy used to mean that you would lose significant amounts of quality, but also save lots of space in the process. EWWW I.O.'s lossy tools achieve an average of 50% savings with no noticeable loss of quality. The average is a 0.15% change in the image pixels, and a study published in 2014 by Radware showed that users only begin to notice a difference when the change in pixel information exceeds 1.5%, which is 10x the amount of quality loss of our highest compression.
JPG Optimization Level
- Pixel Perfect - Uses the stock Jpegtran build used by most website performance testing sites (lossless).
- Pixel Perfect Plus - Uses the Mozilla build of Jpegtran for extra compression, requires an EWWW IO API key (lossless).
- Premium - Saves an average of 45% with very little quality loss, requires an EWWW IO API key (lossy).
- Premium Plus - Saves an average of 55% with minimal quality loss, requires an EWWW IO API key (lossy).
PNG Optimization Level
- Pixel Perfect - Uses Optipng, and optionally Pngout, which have variable compression levels that can be configured under the advanced settings (lossless).
- Pixel Perfect Plus - Uses Optipng, PngOptimizerCL, and Advpng to squeeze extra bytes out of your images using the API (lossless).
- Premium - Uses Pngquant and is available in "local" mode without an API key. If an API key is entered, the plugin will automatically use the API for this compression level (lossy).
- Premium Plus - Compresses PNG images even better than Pngquant with minimal quality loss, requires an EWWW IO API key (lossy).
GIF Optimization Level
- There is only one level here, and it uses Gifsicle. While Gifsicle does various optimizations, it excels in removing pixels that are duplicated in animations. Thus to edit an optimized GIF, you need to use Gifsicle's --unoptimize option. If an API key is entered, then GIF files will be processed via the API.
PDF Optimization Level
- Pixel Perfect - Uses the cpdf tool from Coherent PDF, and requires an API key (lossless).
- High Compression - Uses Ghostscript to compress images within PDFs, but does poorly on PDFs which contain images of text (which is what you get when you scan a document and don't perform OCR on it). The cpdf tool is run afterwards to make sure the final PDF is fully optimized (lossy). Any PDF with the word 'compressed' in the filename will bypass lossy compression.
Ever need to undo an optimization? When this is enabled, the plugin stores a copy of the original image on the API servers for up to 30 days. If an image is re-optimized, the original is not overwritten, but the time stamp is updated, so that the original will be kept 30 days from the time of last optimization.