Advanced Configuration

The advanced settings of EWWW really let you customize the plugin for your specific site and for your unique workflow. Settings marked with an asterisk (*) have been moved to the Overrides section.

Optipng optimization level*

Note that the compression levels for Optipng and Pngout are opposite of each other. Optipng performs some standard optimizations, and then runs a bunch of trials with different PNG compression parameters to try and  find the best parameters for a specific image. Thus, the more trials you run, the longer it takes to process a PNG image. So if your site is timing out on PNG images, you can drop this to 1 (1 trial). The best results are usually with level 2 (8 trials), although additional bytes can often be saved with level 3 (16 trials), but it takes twice as long. If you don't have any issues with timeouts, you can bump it to 4 (24 trials) or 5 (48 trials) to ensure maximum compression. According to the author of Optipng, Cosmin Truţa, it is "very, very unlikely" to see better compression after 30-40 trials, and typically "around 10 trials should be satisfactory for most users."

Disable Pngout*

It is free to download, but not open-source, so I cannot bundle it with the plugin. If you wish to use it, enable it via the Overrides mentioned above, and then you will see a lovely warning because pngout has not been installed yet. So scroll down to the Plugin Status section and use the automatic installer. If that doesn't work, there are  instructions for trying older versions manually. Why use pngout? Simply because you can achieve additional savings, but a word of caution, it does come with a much slower optimization process.

Pngout Optimization Level*

Again, note that the compression levels for Optipng and Pngout are opposite of each other. Since it is not open source software, we don't know much more about the details of the various levels except for what the author, Ken Silverman, has disclosed. You can certainly set pngout to 0 to achieve the best compression if you have no issues with uploads failing or HTTP errors, or anything like that. Generally, level 2 is sufficient though, level 3 skips Ken's custom KZIP algorithm and only performs Huffman encoding (Optipng uses LZ77 and Huffman together), and level 4 merely performs some basic optimizations without doing any compression at all, which is what I would consider useless. If you are going to use Pngout, you might as well use level 2 or better, otherwise you could just as well turn it off again.

JPG Quality Level

EWWW lets you change the default quality used by WordPress for image resizing and thumbnails, and this will also affect PNG to JPG conversion if you enable that. Additionally, this setting impacts the compression quality when resizing uploads using the Max Width/Height settings, and the quality level for WebP images. The default in WordPress is currently 82, and I recommend you stick somewhere between 70 and 90 for optimal quality, but you are free to use any quality level you want here. You can read more about JPG quality and some common misconceptions in a related article (scroll to the bottom).

Background Optimization

This is not a user configurable option, but it is worth explaining how background optimization is enabled (or not). When you first activate the plugin, it will send a test packet to see if your server supports background optimization. Essentially, the server is sending a packet to itself, but some security plugins don't allow this, so that's why the plugin has to verify that such a request will work. If the packet is received, and has not been altered, the background optimization "option" is automatically enabled. There are still some cases when it may not be used though. First, if you use the Shield security plugin, and have the option to lock a user's session to a single IP address, background mode will not work. Also, when converting images, background mode is not used. When converting, this is so that a contributor doesn't accidentally insert the wrong image into a new post or page. When resizing options are enabled, the resizing will be done in the "foreground", so that the plugin can determine where an image came from, and which resize restrictions should be used. After resizing, the image will be optimized in the background. Both of these behaviors can be overridden by a developer using the add_filter() function in WordPress.

Parallel Optimization

Another option that can be used to speed up optimization is parallel optimization, which allows the plugin to do up to 5 images at once for a pretty good speed boost. This option will be ignored if background optimization is not enabled, or if you have less than 6 resizes being generated per upload and are not using the API.

Scheduled Optimization

EWWW IO has a folder scanning feature that will look for images from your theme, and a handful of pre-configured folders for plugins like buddypress and meta-slider. To make sure these images are optimized regularly, there is an option to schedule optimization of these images on an hourly basis. The plugin will ignore any previously optimized images.

Include Media Library Folders

If your theme or some plugin is generating images in the media library folders, but not registering them properly in the attachment metadata, you can tell EWWW to include the most recent 2 folders in any scans. This applies to Bulk Optimization and Scheduled Optimization. For example, if it is October of 2017, then the plugin will scan wp-content/uploads/2017/09/ and wp-content/uploads/2017/10/ and optimize any images within those folders.

Folders to Optimize

If you have images elsewhere in your WordPress folder, you can add those to the Folders to Optimize setting. If new images in a folder are being automatically optimized, then you only need to put the folder in here once, run a Bulk Optimize, and then remove the folder from the settings. You can verify what is being optimized by visiting the Bulk Optimize page, and clicking the Show Optimized Images button. Otherwise, when a folder isn’t being auto-optimized, you can leave the folder in this setting and enable Scheduled Optimization to look for new images every hour.

It is important to enter full file-system paths, not urls or partial paths. The path to your WordPress folder is given directly above the textarea for this setting as a reference point. So if it says /var/www/wordpress/, then any path you enter should include that "root" location at a minimum.

Folders to Ignore

When running a bulk optimize, the scanner searches for the same images as scheduled optimization in addition to the Media Library images, so if you want EWWW to ignore your theme, or some other folder, you can configure that here. It is not necessary to enter full paths for this setting, but any image that matches something entered here will be skipped. For example, if you enter '2015' because you don't want old images optimized, it will not just skip the 2015 uploads folder, but ANY file that might have 2015 in the name (which might be OK for you, but be careful with that).

Skip Small Images*

Some folks don't care about tiny images, or feel that they are small enough already. I think every byte counts, but who am I to judge :)

Skip Large PNG Images*

PNG images can take a long time to compress, and if you have some of these, it will stall out the optimizer. I consider anything over 300kb a "large PNG", but you can set this to whatever works for your site.

Exclude full-size images from lossy optimization*

Your original uploaded images will use lossless compression only, and uploaded PNG images will not be converted to JPG (because that is a lossy operation).

Exclude full-size images from metadata removal*

Use this to ensure that metadata is stripped from all your resizes, but NOT from your full-size original uploads.

Use System Paths*

Use System Paths tells the plugin to ignore the bundled tools if you have installed them on your system with something like apt-get or yum. Be careful that you keep them up to date though, and note that some tools like cwebp and pngquant might be really out of date in official repositories for operating systems like RHEL, CentOS, and Debian. Ubuntu is a little better, but still tends to lag behind a bit.

Still need help? Contact Us Contact Us