Reduce image file sizes and improve performance for images within WordPress including NextGEN Gallery. Uses jpegtran, optipng, and gifsicle.
|Author:||Shane Bishop (profile at wordpress.org)|
|WordPress version required:||4.4|
|WordPress version tested:||4.8|
|Added to WordPress repository:||07-06-2012|
|Total downloads:||5 372 731|
|Active installs:||500 000+|
Click to start download
Plugin settings page.
Additional optimize column added to media listing. You can see your savings, manually optimize individual images, and restore originals (converted only).
Bulk optimization page. You can optimize all your images at once and resume a previous bulk optimization. This is very useful for existing blogs that have lots of images.
- Upload the “ewww-image-optimizer” plugin to your /wp-content/plugins/ directory.
- Activate the plugin through the ‘Plugins’ menu in WordPress.
- Ensure jpegtran, optipng, pngout and gifsicle are installed on your Linux server (basic installation instructions are below if they are not). You will receive a warning when you activate the plugin if they are not present. This message will go away once you have them installed.
- The plugin will attempt to install jpegtran, optipng, and gifsicle automatically for you. This requires that the wp-content folder is writable by the user running the web server.
- If the automatic install did not work, find the appropriate binaries for your system in the ewww-image-optimizer plugin folder, copy them to wp-content/ewww/ and remove the OS “tag” (like -linux or -fbsd). No renaming is necessary on Windows, just copy the .exe files to the wp-content/ewww folder. IMPORTANT: Do not symlink or modify the binaries in any way, or they will not pass the security checks. If you transfer files via FTP, be sure to transfer in binary mode, not ascii or text.
- If the binaries don’t run locally, you can sign up for the EWWW IO cloud service to run them via our optimization servers: https://ewww.io/plans/
- Recommended Visit the settings page to enable/disable specific tools and turn on advanced optimization features.
If these steps do not work, additional documentation is available at http://docs.ewww.io. If you need further assistance using the plugin, please visit our Support Page. The forums are community supported only.
In general, these lists only apply to shared hosting services. If the providers below have VPS or dedicated server options, those will likely work just fine. If you have any contributions or corrections to these lists, please contact me via the form at https://ewww.io
Webhosts where things work (mostly) out of the box:
- A2 Hosting: EWWW IO is installed automatically for A2 Optimized sites.
- GoDaddy (only with PHP 5.3+)
- Hetzner Online
- Hosterdam (FreeBSD)
- iFastNet (with custom php.ini from customer support)
- Liquid Web
- The Open Host
- Site5 (tools must be built manually, or contact Site5 support for assistance)
- Spry Servers (even with PHP 7)
- 1&1 (pngout requires manual upload and permissions fix)
Webhosts where the plugin will only work in cloud mode or only some tools are installed locally:
- ipage (JPG only)
- one.com – may not even work in cloud mode
- WP Engine – use EWWW Image Optimizer Cloud fork: https://wordpress.org/plugins/ewww-image-optimizer-cloud/
Google Pagespeed says my images need compressing or resizing, but I already optimized all my images. What do I do?
Try this for starters: http://docs.ewww.io/article/5-pagespeed-says-my-images-need-more-work
The plugin complains that I’m missing something, what do I do?
This article will walk you through installing the required tools (and the alternatives if installation does not work): http://docs.ewww.io/article/6-the-plugin-says-i-m-missing-something
Does the plugin replace existing images?
Yes, but only if the optimized version is smaller. The plugin should NEVER create a larger image.
Can I resize my images with this plugin?
Yes, you can, set it up on the Advanced tab.
Can I lower the compression setting for JPGs to save more space?
The lossy JPG optimization using TinyJPG and JPEGmini will determine the ideal quality setting and give you the best results, but you can also adjust the default quality for conversion and resizing. More information here: http://docs.ewww.io/article/12-jpq-quality-and-wordpress
The bulk optimizer doesn’t seem to be working, what can I do?
What are the supported operating systems?
I’ve tested it on Windows (with Apache), Linux, Mac OSX, FreeBSD 9, and Solaris (v10). The cloud API will work on any OS.
How are JPGs optimized?
Lossless optimization is done with the command jpegtran -copy all -optimize -progressive -outfile optimized-file original-file. Optionally, the -copy switch gets the ‘none’ parameter if you choose to strip metadata from your JPGs on the options page. Lossy optimization is done using the outstanding TinyJPG and JPEGmini utilities.
How are PNGs optimized?
There are three parts (and all are optional). First, using the command pngquant original-file, then using the commands pngout-static -s2 original-file and optipng -o2 original-file. You can adjust the optimization levels for both tools on the settings page. Optipng is an automated derivative of pngcrush, which is another widely used png optimization utility. EWWW I.O. Cloud uses TinyPNG for 10% better lossy compression than standalone pngquant.
How are GIFs optimized?
Using the command gifsicle -b -O3 –careful original file. This is particularly useful for animated GIFs, and can also streamline your color palette. That said, if your GIF is not animated, you should strongly consider converting it to a PNG. PNG files are almost always smaller, they just don’t do animations. The following command would do this for you on a Linux system with imagemagick: convert somefile.gif somefile.png
I want to know more about image optimization, and why you chose these options/tools.
That’s not a question, but since I made it up, I’ll answer it. See these resources:
Pngout, TinyJPG/TinyPNG, JPEGmini, and Pngquant were recommended by EWWW IO users. Pngout (usually) optimizes better than Optipng, and best when they are used together. TinyJPG is the best lossy compression tool that I have found for JPG images. Pngquant is an excellent lossy optimizer for PNGs, and is one of the tools used by TinyPNG.
- Thank you to everyone who donated for a new Macbook, new binaries are here!
- Feature requests can be submitted via https://ewww.io/contact-us/ and commented on here: https://trello.com/b/Fp81dWof/ewww-image-optimizer
- If you would like to help translate this plugin in your language, get started here: https://translate.wordpress.org/projects/wp-plugins/ewww-image-optimizer/
- added: move the Alt WebP script to an external resource by defining EWWW_IMAGE_OPTIMIZER_WEBP_EXTERNAL_SCRIPT
- changed: API keys are partially revealed, for easier verification
- changed: API key no longer uses password field to avoid problems with auto-fill
- changed: API key activation raises JPG and PNG to lossy and enables backups
- fixed: bulk delay setting not carried over to bulk optimizer
- fixed: WP Offload S3 uploads images prior to background optimization, resulting in a second upload afterwards
- fixed: single-site settings override not saving in certain cases on multisite
- fixed: AMP pages are broken when Alt WebP is enabled with old versions of libxml (less than 2.8.0)
- removed: unnecessary call to WP Offload S3 update function after optimization
- added: optional usage tracking
- added: close sessions even earlier in background/async handling to prevent lock-ups
- added: multisite option to network activate and allow individual site configuration
- changed: disabling resizes must be done on individual sites even when network activated
- changed: PNG files with empty alpha channels can be converted to JPG without setting a background/fill color
- fixed: webp migration script sending wrong nonce variable
- fixed: wp-cli help text was not being parsed properly
- updated: bundled cwebp to version 0.6.0
- updated: bundled pngquant to verision 2.9.1 (2.8.1 for Windows)
- deprecated: cwebp will not be updated for Mac OS X 10.9 past 0.5.1
- obsoleted: FreeBSD 9 and CentOS 5 are “End of Life” and will no longer be tested
Please refer to the separate changelog.txt file.