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.6|
|WordPress version tested:||4.8.1|
|Added to WordPress repository:||07-06-2012|
|Total downloads:||6 024 102|
|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
- 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)
- Kinsta – use EWWW Image Optimizer Cloud fork: https://wordpress.org/plugins/ewww-image-optimizer-cloud/
- 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: 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/
- fixed: bulk optimizer fails to initialize if the bulk_attachments array is set to an empty string
- fixed: misplaced parenthesis breaks option overrides
In an effort to simplify the settings page and make room for new features, many settings have been “hidden” and/or rearranged. It is my hope that this will make it easier for new users to get going with EWWW IO.
You can find more information about overriding options in the Documentation
* added: ability to override any boolean/integer options by defining constant of the same name
* added: debug information included automatically with help beacon requests when debugging is enabled
* added: use wp_raise_memory_limit (WP 4.6+) to avoid memory issues
* added: use wp_is_ini_value_changeable (WP 4.6+) to avoid errors when raising max_execution_time
* added: notice to use cloud version on Kinsta sites
* changed: Better Lossless and Maximum Lossless have been combined for PNG images with more intelligent usage of advpng on the API
* changed: resize settings moved to new tab
* changed: various options have been removed from the settings page, but are still available via constants, see removals
* changed: bulk optimizer will auto-adjust settings if an image fails to optimize
* changed: bulk scanner will go into fall-back mode if the normal mode is too slow or if the image table takes longer than 5 seconds to load
* changed: images previously compressed by TinyPNG/JPG will be skipped during bulk optimization
* fixed: Optipng not working properly on Windows servers.
* fixed: notice on settings and bulk pages when debug mode is disabled
* removed: ewww_image_optimizer_delay (Bulk Delay), can be selected on the bulk page instead
* removed: ewww_image_optimizer_optipng_level (OptiPNG level) option
* removed: ewww_image_optimizer_pngout_level (PNGOUT level) option
* removed: ewww_image_optimizer_disable_pngout (Disable PNGOUT) option
* removed: ewww_image_optimizer_skip_size (Skip Small Images) option
* removed: ewww_image_optimizer_skip_png_size (Skip Large PNG Images) option
* removed: ewww_image_optimizer_lossy_skip_full (Exclude full-size images from lossy optimization) option
* removed: ewww_image_optimizer_metadata_skip_full (Exclude full-size images from metadata removal) option
* removed: ewww_image_optimizer_skip_bundle (Use System Paths) option
- added: optional help beacons on bulk and settings pages
- added: disable deferring of WP Offload S3 uploads with EWWW_IMAGE_OPTIMIZER_NO_DEFER_S3
- added: override use of wp_add_inline_script with non-standard jQuery by defining EWWW_IMAGE_OPTIMIZER_WEBP_INLINE_FALLBACK
- added: compatibility with S3 Uploads by Human Made
- added: MediaPress uploads fully optimized on upload
- changed: WebP .htaccess rewrite rule verifier more flexible
- changed: WebP .htaccess rewrite rules allow appending type=original to access non-WebP image
- changed: if an image is too small for resizing, but the dimensions in the metadata are incorrect, it will attempt to update them
- fixed: fatal error if image metadata cannot be read by PEL
- fixed: WebP .htaccess rewrite rules work better on LiteSpeed
- fixed: WP Symposium integration using old options, scanner now includes avatars folder by default
Please refer to the separate changelog.txt file.