Reduce image file sizes and improve performance for images within WordPress including NextGEN Gallery. Uses jpegtran, optipng, and gifsicle.
|Author:||Exactly WWW (profile at wordpress.org)|
|WordPress version required:||4.9|
|WordPress version tested:||5.2|
|Added to WordPress repository:||07-06-2012|
|Total downloads:||12 853 019|
|Active installs:||700 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.
Google Pagespeed says my images need compressing or resizing, but I already optimized all my images. What do I do?
Try this for starters: https://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): https://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 Resize tab.
Can I lower the compression setting for JPGs to save more space?
The lossy JPG optimization using the API 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: https://docs.ewww.io/article/12-jpq-quality-and-wordpress
The bulk optimizer doesn’t seem to be working, what can I do?
See https://docs.ewww.io/article/39-bulk-optimizer-failure for full troubleshooting instructions.
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.
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 using the Overrides. Optipng is an automated derivative of pngcrush, which is another widely used png optimization utility.
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:
- Feature requests can be viewed and submitted at https://github.com/nosilver4u/ewww-image-optimizer/labels/enhancement
- 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: disable WebP script block on certain pages by defining EWWW_IMAGE_OPTIMIZER_NO_JS as true
- changed: use SVG inline image placeholder if width and height are known when LQIP is disabled or ExactDN is not available
- changed: Lazy Load ignores images using browser-native loading attribute
- fixed: page parsers (ExactDN, Lazy, JS WebP) do not properly handle attributes that start on a new line
- fixed: page parsers do not recognize img elements with unquoted attributes
- fixed: uninstaller cannot clear queue table due to undefined table name
- fixed: implode throws notice when image sizes array is multi-dimensional
- fixed: srcset url replaced incorrectly when using pixel density descriptors
- fixed: srcset url added with 0 width when width attribute is empty
- changed: JS WebP no longer necessary with ExactDN
- fixed: fatal error from NextGEN get_image_sizes() method
- fixed: debugging mode gets stuck
- fixed: ExactDN has unexpected results when content_width global equals zero
- fixed: img elements with unquoted src attributes ignored by ExactDN, Lazy Load, and JS WebP
- added: CSS background image support for
- added: ExactDN + Lazy Load will auto-calculate dimensions for img elements without srcset/responsive markup
- added: ExactDN parses thumbnail url for personalization.com + WooCommerce integration
- added: ExactDN can use data-actual-width attribute for srcset generation
- added: ExactDN + Lazy Load uses devicePixelRatio to provide clearer background images
- fixed: Lazy Load for CSS background images misfires when display height is greater than width
- fixed: visitors without JS see Lazy Load placeholder + fallback image
- added: lazy load (on ExactDN tab for now)
- added: JS WebP supports background images via lazy load (div elements only for now)
- added: ExactDN supports compression of background images (div elements only for now)
- added: compat with Google Cloud Storage via WP Offload Media
- added: automatic PNG to JPG conversion for ExactDN
- added: ExactDN parsing for legacy WooCommerce API (current API works as-is)
- changed: responsive image ‘sizes’ attribute can be auto-calculated by lazy load
- changed: JS WebP no longer requires jQuery
- changed: ExactDN srcset multipliers include fullscreen value of 1920px
- changed: force resize function to ignore filesize with ewww_image_optimizer_resize_filesize_ignore filter
- changed: prevent .php script/style generators from going through ExactDN
- changed: ExactDN sites can dismiss exec notice to disable local compression
- changed: automatic compression disabled during WooCommerce regen with admin notice
- changed: use wp_resource_hints filter to include ExactDN dns-prefetch earlier in the page header
- changed: gather debugging information on settings page even when debugging is not enabled yet
- fixed: Bulk Optimize scanner does not update queue in some cases
- fixed: ExactDN does not handle themes that support wide and full-screen images in block editor
- fixed: ExactDN constrains images to 640px in Twenty Nineteen theme
- fixed: ExactDN mangles Flatsome lazy load placeholder image URL
- fixed: empty attributes not recognized properly by HTML parser, resulting in broken markup
- fixed: table nav button styling broken in WP 5.1
- fixed: ExactDN applies resizing args during image_downsize() even when full/original image is too small
- fixed: animated GIF resizing breaks the use of image_resize_dimensions filter in WP_Image_Editor_GD
- fixed: NextGen bulk optimizer unable to decode meta_data
Please refer to the separate changelog.txt file.