WordPress.org

Plugin Directory

EWWW Image Optimizer

Reduce file sizes for images in WordPress including NextGEN, GRAND FlAGallery and more using lossless/lossy methods and image format conversion.

The EWWW Image Optimizer is a WordPress plugin that will automatically optimize your images as you upload them to your blog. It can optimize the images that you have already uploaded, convert your images automatically to the file format that will produce the smallest image size (make sure you read the WARNINGS), and optionally apply lossy reductions for PNG and JPG images.

Why use EWWW Image Optimizer?

  1. Your pages will load faster. Smaller image sizes means faster page loads. This will make your visitors happy, and can increase ad revenue.
  2. Faster backups. Smaller image sizes also means faster backups.
  3. Less bandwidth usage. Optimizing your images can save you hundreds of KB per image, which means significantly less bandwidth usage.
  4. Super fast. The plugin can run on your own server, so you don’t have to wait for a third party service to receive, process, and return your images. You can optimize hundreds of images in just a few minutes. PNG files take the longest, but you can adjust the settings for your situation.
  5. Best JPG optimization. With TinyJPG integration, nothing else comes close (requires an API subscription).
  6. Better PNG optimization. You can use pngout, optipng, and pngquant in conjunction.
  7. Root access not needed Pre-compiled binaries are made available to install directly within the WordPress folder, and cloud optimization is provided for those who cannot run the binaries locally.
  8. Optimize everything With the wp_image_editor class extension, and the ability to specify your own folders for scanning, any image in WordPress can be optimized.

By default, EWWW Image Optimizer uses lossless optimization techniques, so your image quality will be exactly the same before and after the optimization. The only thing that will change is your file size. The one small exception to this is GIF animations. While the optimization is technically lossless, you will not be able to properly edit the animation again without performing an --unoptimize operation with gifsicle. The gif2png and jpg2png conversions are also lossless but the png2jpg process is not lossless. The lossy optimization for JPG and PNG files uses sophisticated algorithms to minimize perceptual quality loss, which is vastly different than setting a static quality/compression level.

The tools used for optimization are jpegtran, TinyJPG, JPEGmini, optipng, pngout, pngquant, TinyPNG, and gifsicle. Most of these are freely available except TinyJPG/TinyPNG and JPEGmini. Images are converted using the above tools and GD or 'convert' (ImageMagick).

EWWW Image Optimizer calls optimization utilities directly which is well suited to shared hosting situations where these utilities may already be installed. Pre-compiled binaries/executables are provided for optipng, gifsicle, pngquant, cwebp, and jpegtran. Pngout can be installed with one-click from the settings page. If none of that works, there is a cloud option that will work for any site.

If you need a version of this plugin for cloud use only, see EWWW Image Optimizer Cloud. It is much more compact as it does not contain any binaries or any mention of the exec() function.

Bulk Optimize

There are two functions on the Bulk Optimize page. One is to optimize all images in the Media Library. The Scan and Optimize is for everything else. Officially supported galleries (GRAND FlaGallery and NextGEN) have their own Bulk Optimize pages.

Skips Previously Optimized Images

All optimized images are stored in the database so that the plugin does not attempt to re-optimize them unless they are modified. On the Bulk Optimize page you can view a list of already optimized images. You may additionally choose to remove individual images from the list, or use the Force optimize option to override the default behavior. The re-optimize links on the Media Library page also force the plugin to ignore the previous optimization status of images.

WP Image Editor

All images created by the built-in WP_Image_Editor class will be automatically optimized. Current implementations are GD, Imagick, and Gmagick. Images optimized via this class include Meta Slider, BuddyPress Activity Plus (thumbs), WP Retina 2x, Imsanity, Simple Image Sizes, Hammy, Animated GIF Resize and probably countless others. If you are not sure if a plugin uses WP_Image_Editor, post your question in the support forums.

Optimize Everything Else

Site admins can specify any folder within their wordpress folder to be optimized. The 'Scan and Optimize' option under Media->Bulk Optimize will optimize theme images, BuddyPress avatars, BuddyPress Activity Plus images, Meta Slider slides, WP Symposium images, GD bbPress attachments, Grand Media Galleries, and any user-specified folders. Additionally, this tool can run on an hourly basis via wp_cron to keep newly uploaded images optimized. Scheduled optimization should not be used for any plugin that uses the built-in WordPress image functions unless you have disabled automatica optimization.

WP-CLI

Allows you to run all Bulk Optimization processes from your command line, instead of the web interface. It is much faster, and allows you to do things like run it in 'screen' or via regular cron (instead of wp-cron, which can be unpredictable on low-traffic sites). Install WP-CLI from wp-cli.org, and run 'wp-cli.phar help ewwwio optimize' for more information.

NextGEN Gallery

Features optimization on upload capability, re-optimization, and bulk optimizing. The NextGEN Bulk Optimize function is located near the bottom of the NextGEN menu, and will optimize all images in all galleries. It is also possible to optimize groups of images in a gallery, or multiple galleries at once. NOTE: Does not optimize thumbnails on initial upload for legacy (1.9.x) versions of NextGEN, but instead provides a button to optimize thumbnails after uploading images. No further updates will be provided for NextGEN legacy support, use NextCellent instead.

NextCellent Gallery

Features all the same capability as NextGEN, and is the continuation of legacy (1.9.x) NextGEN support.

GRAND Flash Album Gallery

Features optimization on upload capability, re-optimization, and bulk optimizing. The Bulk Optimize function is located near the bottom of the FlAGallery menu, and will optimize all images in all galleries. It is also possible to optimize groups of images in a gallery, or multiple galleries at once.

Image Store

Uploads are automatically optimized. Look for Optimize under the Image Store (Galleries) menu to see status of optimization and for re-optimization and bulk-optimization options. Using the Bulk Optimization tool under Media Library automatically includes all Image Store uploads.

Translations

Huge thanks to all our translators: Romanian translation by MediasInfo.ro Spanish translation by Manuel Ballesta Ruiz and Adrián López Galera Dutch translation by Ludo Rubben Polish translation by Grzegorz Janoszka Russian translation by Elvis of turkenichev.ru Portuguese translation by Pedro Marcelo de Sá Alves

If you would like to help translate this plugin (new or existing translations), register for an account at our online translation hub: http://translate.ewww.io/

Requires: 3.5 or higher
Compatible up to: 4.2.2
Last Updated: 2015-5-14
Active Installs: 100,000+

Ratings

4.5 out of 5 stars

Support

76 of 79 support threads in the last two months have been resolved.

Got something to say? Need help?

Compatibility

+
=
Not enough data

2 people say it works.
0 people say it's broken.

100,2,2 100,1,1 100,2,2 100,2,2
100,2,2 100,1,1 50,2,1 100,1,1
100,1,1 0,1,0 100,5,5
0,1,0 100,1,1 100,3,3 100,1,1 0,1,0 100,1,1 100,1,1 0,1,0
100,1,1 100,1,1 100,2,2 100,2,2
100,1,1 100,5,5 100,1,1 100,2,2 0,1,0 100,4,4 100,3,3 100,3,3
75,4,3 100,1,1
100,5,5 100,2,2 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1
100,1,1
100,1,1 33,3,1 100,5,5 100,1,1 100,2,2 100,1,1 100,1,1
100,3,3 80,5,4
100,8,8 33,3,1 100,1,1 100,6,6 100,1,1 100,6,6 100,2,2
100,5,5 50,2,1
100,2,2 100,2,2 100,3,3 100,6,6
100,5,5 100,2,2 100,1,1
100,4,4 100,3,3 100,4,4
100,7,7 100,2,2 100,1,1 100,1,1
100,1,1 100,1,1 92,12,11
78,9,7 0,1,0 67,3,2 100,2,2
100,1,1 100,1,1
100,1,1
100,2,2