“You’re losing visitors because your site is too slow.” This statement is true for almost everyone. The longer it takes a page to load, the more likely your readers will leave. Research shows that the bounce rate increases with your page load time. One of the most impactful improvements you can make when you develop a site using WordPress is to reduce the file size of your images. Reducing the volume of data sent to your web browser can dramatically decrease page load time. If you’re using WordPress, you’re in luck, since there are a plethora of plugins that can automate this task for you. At Solid Digital, we rely on these plugins to help our customers, so we decided to compare them to figure out which ones perform the best.
In an ideal world, content editors would optimize images before they upload them. When this doesn’t happen, image optimization plugins can step in and help out. They will generally resize image files to make them smaller. Most of them require a little tinkering to set up and find the ideal balance between optimized images and ones that look essentially unchanged from the original.
We evaluated some of the most popular image optimization plugins and decided to compare their performance, price, and key features.
What to consider when choosing an image optimization plugin
Of course, the essential feature of an image optimization plugin is the image compression itself. So what is image compression, and what advantages does it have? Image compression takes an image and reduces the amount of data that is needed to represent it. When an image is optimized and compressed, fewer bytes are delivered to your browser, and your page will load faster as a result.
There are generally two ways to compress images. The overall image dimensions and the compression/optimization settings.
The simplest way to shrink your image is to reduce the width and height of the image to match your design. Often, content creators upload high-resolution images that are larger than needed. If someone uploaded a gigantic 9000px by 3000px image that is displayed as 900px by 300px then the image is far too large.
It’s easy to assume that data savings scales with the with of an image. For example, one could expect that going from 9000×3000 to 900×300 will offer a ten-fold reduction of bytes, but the savings are much more dramatic since we are dealing with a surface of pixels and not just a line of them. To understand, let’s figure out the total pixels and each case by multiplying the width by the height. So a 9000×3000 pixel image will have a total of 27,000,000 or 27 million pixels. A 900×300 pixel image will have 270,000 pixels. That’s a 100 fold reduction in the number of pixels! It’s essential not to use images that are bigger than the area in which you use them.
WordPress does automatic image resizing, so if you upload a big image, WordPress will resize it to several smaller variations. Additionally, out of the box, WordPress uses source sets. Source sets allow users with different sized screens to receive different sized images. All you have to do is make sure the images on your page use source sets. If they don’t, it could be a function of the theme or a plugin you’re using. An image with a source set will have a “srcset” attribute:
While WordPress handles one type of image optimization – resizing – there’s another type as well. You can take an image, keep it the same dimensions, and make it take up less space. Image compression is where WordPress plugins come in. You can compress the file size and keep the image looking identical to the original, and this method is called lossless compression. You can also degrade the quality of the image to get even more significant compression, and typically you will see your images get fuzzier. This lossy compression method isn’t ideal. In general, you can get away with some lossy compression before people start to notice that something is not right about the image. Often you can go with somewhere between 70% and 80% of the original quality for lossy compression and still get a pleasing result.
Batch optimization vs. on upload
There are two main ways plugins can do image compression. One way is to compress images when you upload them. Optimizing images when they are uploaded, ensure newly added images are the correct size, even if the uploader doesn’t do it. The second way is to do a batch or perform compression on a group of already uploaded images. You will use this method if you’re installing an image compression plugin on a site that already has an existing library of images.
Image Backups
Since image optimization changes your images, it can be a good idea to back up the originals. It is especially important to backup your data before performing batch optimizations.
Image Type Conversion
Different image types are better suited for different images. For example, GIFs are great for simple, transparent images. But generally, the same image in a PNG formate will take up less space. PNGs, however, cannot do animation. Some plugins allow automatic conversion of image types. The most common conversions are from PNG to JPG, images that do not have any transparency should always use the JPG format due to performance. In general, using the image type conversion feature will provide enhanced performance, but be sure to understand the pros and cons of each image type and convert with caution.
Webp Image Creation
Webp is a new image format created for the web. It can be advantageous to use if you know your readers can see it. Unfortunately, it is not yet supported by all major browsers (it is not supported by Safari, iOS Safari, and IE 11), so I would proceed with caution.
CDNs (Content Delivery Networks)
Some plugins integrate with CDNs. A CDN is a delivery platform optimized for files downloaded from the Internet. Some CDNs even optimize delivery based on the geographic location of the reader. While the usage of CDN is not technically related to image optimization, using a CDN will improve the quality of your users’ experience.
Image Lazy Loading
Some of the more advanced plugins, like Smush, offer optional lazy loading of images below the fold. “Below the fold” simply means the area that is not immediately visible upon initial page load. Since the area below the fold is not visible when a user first looks at a page, there is no reason to download images that are not visible. If the user starts scrolling down, then JavaScript is used to load the images. This optimization can be beneficial, but it is a good idea to test it thoroughly before deciding to use it. We have noticed inconsistent behavior when using this feature.
Exif Data Removal
While Exif data does take up space, this is more of a privacy optimization that some plugins offer. Exif data is data embedded in an image that describes the image. Typical examples of Exif data are the date the image was taken, GPS coordinates of the image location, and camera settings such as aperture, exposure, and whether the flash fired. Exif data can be an essential consideration if you deal with user-generated content.
Hosting Compatibility
A final item to consider when picking an image optimization plugin is compatibility with your hosting provider. If you’re hosting yourself, you might have to install a few extra pieces of software on your server. Most plugins are quite good at only requiring typical functionality, but some might need you to install packages such as ImageMagick.
If you’re hosting on a platform such as WordPress Engine, make sure that your plugin is allowed. WP Engine publishes a list of disallowed plugins.
Overall Findings
We found that Imagify, Imsanity, and Smush all performed about the same. Imsanity is the standout in that it is free. Keep reading below the table for some more details.
Description | Page Size | Price | Rating |
---|---|---|---|
Without plugins | 9.4 MB | ||
Imagify | 2.2 MB | By the GB | 4.5 / 5 741 Reviews |
Imsanity | 2.3 MB | Free! | 4.9 / 5 229 Reviews |
Smush | 2.4 MB | Starts at $70 a year | 4.8 / 5 4,817 Reviews |
WP Optimize | 3.6MB | Starts at $40 a year | 4.8 / 5 1,133 Reviews |
Short Pixel (used by autoptimize) | 3.9 MB | Starts at $60 a year (charged $5 a month) | 4.6 /5 514 Reviews |
EWWW | 7.8 MB | Starts at $60 a year (or pay per image) | 4.6 / 5 701 Reviews |
We tried several other plugins that didn’t perform well. Probably because we only tried the free options in each plugin.
- Optimole
- TinyPNG
- LiteSpeedCache
- Optimus
WordPress Image Optimization plugins compared
Imsanity
When we’re considering suggestions for our clients, we always want to balance performance with value. Imsanity is at the top of our list, with fantastic performance and a $0 price tag.
This plugin has a simple admin interface, offers conversions from BMP and PNG to JPG, and can do bulk resizing of images already uploaded as well as resizing images when uploaded. There is an ad for EWWW in the settings panel, but it is subdued.
While Imsanity does not have all the bells and whistles of some of the other plugins, it does what needs to get done, and it doesn’t overwhelm the administrator with complicated choices. We believe it is an excellent solution for most use cases.
Imagify
Imagify can also optimize images as you go or do bulk optimizations. Imagify offers several options that Imsanity does not. These include conversion to the WebP format, stripping Exif data, and backing up images.
The pricing for Imagify is per Gigabyte. The most significant advantage over Imsanity is probably automated backups. But you’re doing periodic backups of your assets and DB anyways… right?
Smush
Smush is the most downloaded plugin out of the ones we examined. There is a free version you can run on a server, and a paid cloud version; however, the free version cannot compress full-sized images bigger than 2048px.
The settings dashboard has a lot of options, and information is organized nicely. There is an optional beta feature to lazy load images below the fold, and an option to use a CDN, and much more.
WP Optimize
In contrast to the other plugins, WP Optimize does more than image optimization. It also does database optimizations and has a page cache. The database optimizations it does include deleting post revisions and trashed posts. The plugin delivers a lot of functionality, so it’s worth considering if you’re looking for something that can do image compression, database optimization, and page caching. In general, I would use separate plugins for image compression and page caching.
ShortPixel
We often use Autoptimize for caching. Autoptimize has image optimization built into it via ShortPixel. ShortPixel is another plugin with a freemium model. The free version is limited to 100 pixels a month. Definitely a limit that is not too difficult to hit.
ShortPixel has a lot of options, and they are well organized across multiple tabs. Webp conversion is possible, as is excluding specific thumbnail sizes from optimization. ShortPixel can also update images on Cloudflare if you use the Cloudflare CDN.
EWWW
EWWW is a freemium plugin. It comes in two flavors. If you do the optimizations on your server, you can run the plugin for free, but compression options are limited unless you go premium. If you use the version with optimizations in the cloud, then you have to pay.
The EWWW dashboard has an excellent summary up top, and the settings are organized into tabs. However, there are a total of nine tabs, and this can feel a little overwhelming. The compression results on the same four images were much worse for EWWW than Imsanity, likely because the better image compression options are premium.
Note that EWWW is on WP Engine’s disallowed list, so you can only use the cloud version.
Summary
Overall, if you’re looking for a free and straightforward option for high-quality image optimization, you don’t have to look further than Imsanity. If you need some advanced features like conversion to Webp, then you’ll have to go the paid route. I would personally go with Smush since its settings dashboard is better organized than Imagify, and its pricing is more straight forward.