There's no downside to making your website faster. And there are a lot of upsides: happier visitors, better search rankings on Google, and ideally lower bandwidth usage. Some techniques for speeding up your website, like caching, CDNs, and moving to a high-end web host can be expensive and complicated to set up. But one of the easiest and cheapest is optimizing your images.
Images are important, but they also require a lot of data--vastly more than text. If you can slim down the images on your page, you can make big improvements in how quickly the page loads.
There are several ways you can make your images smaller. One is to reduce the physical size of them, so they're smaller on the page. But that's not an especially good option in a lot of cases because it doesn't always look good. Another option is to heavily compress your JPGs, but that again doesn't look good because it degrades the image quality.
Another option is to optimize your images. Image optimization involves techniques that take out superfluous information from image files. In its purest form it is lossless, which is to say it has no effect at all in degrading image quality. It takes out things like metadata, color profile information, and other chunks of information that are usually included with images but that aren't necessary on the web. The reduction in file size varies from image to image but can be dramatic--it's not unusual to be able to reduce a JPG by 30% or 40% or even more. You can get the same sort of grains with PNG files too. And this is without degrading the image quality at all.
If you're putting photos in your posts on your WordPress site--or any website, for that matter--there are basically two ways you can optimize your images. One is to optimize the images on your computer before you upload them to your site. Free apps like ImageOptim do that. The downside if you're using WordPress is that different thumbnails or variants are created as part of the upload process in WordPress (ie. the thumbnail, medium, and large variants are the ones built-in, but you can also add others). If you optimize before you upload, you're only optimizing the original image, not the generated variants or thumbnails.
So the other option is to do the optimization on the WordPress side of things. There are different plugins and services to do this. Some run solely on your server. Others connect to a cloud service to do the heavy lifting. Some are free; others are paid premium services. The one I use on this site and have written about before is EWWW Image Optimizer Cloud. But that's not going to be a good fit for everybody. For one thing, its pricing model can lead to significant costs if you use large numbers of images. For another, its power and fine-grained control over options adds complexity.
Optimus Image Optimizer
Recently I've been testing Optimus. It's put out by a Swiss company that focuses on CDN (content delivery network) services. Optimus is both a WordPress plugin and a cloud service.
Like EWWW Image Optimizer Cloud, Optimus is a cloud service. What that means in practice is that you install the WordPress plugin on your own site but the heavy lifting of the actual compression takes places on Optimus's servers. Each image is uploading from your site to Optimus servers, crunched, and then returned to your site.
The advantage of doing it as a cloud service is that many managed WordPress hosts don't allow the server functions that would enable the processing to be done on your own server. If misused they can cause security and performance issues on a shared hosting environment, although if you're using a self-service VPS or dedicated hosting environment you might have much more control over the ability to run those functions. In my case, my sites are hosted by WP Engine, and the Optimus service is working well.
One of the most attractive things about Optimus is its pricing structure. With EWWW Image Optimizer Cloud you pay for every image (including thumbnails and other variants). With Optimus it's a flat yearly rate, and a very reasonable one at that. Whether you're processing 1000 images or 50,000, it's the same price. Presumably this is because the company behind Optimus, KeyCDN, already has the massive infrastructure on hand for its primary CDN service and is simply piggy backing off that for the image optimization.
There are three levels in the pricing structure: a free version that has limits on things like the file size of the pre-optimized image as well as being limited to the core optimization function; an Optimus HQ version that is a flat rate of $29 per year for as many images as you like and is licensed for all your own projects; and Optimus HQ Pro which has the same features as Optimus HQ but is licensed for use on any website projects your create for customers as well.
I've been testing out the Optimus HQ version on my own sites. At a flat rate of $29/year it's much less expensive than my usage costs with EWWW Image Optimizer Cloud. There is technically a free version of Optimus, but I'm not focusing on it here because it only works on images under 100K; most photos that photographers post on their sites are likely to be larger than that.
You can find more details on what's included within each pricing category here.
Lossless Optimization. With one optional exception, Optimus only does lossless optimization. That means it's not going to degrade the quality of your images. So it's safe. While there are some really impressive lossy compression options now out there, they're mostly not available with Optimus. The exception is that you have the option to generate versions of your images in the WebP format, an emerging format championed by Google that makes files that are much smaller than JPG equivalents with minimal or imperceptible impact on image quality. Not all web browsers support WebP, and setting your server up to delivery them to compatible browsers can be tricky, so this should be considered a pro option, but it's nice to have.
Progressive JPGs. There are two main types of rendering images in web browsers. The older, traditional method is known as the baseline method. That loads the full image from top to bottom. The newer method is known as progressive, where a lower quality version of the whole image is shown first and then incrementally replaced by better quality versions. The effect is that something is shown to the viewer much more quickly rather than waiting for the whole image to display. JPGs that are encoded for progressive rendering can result in better optimization and quicker viewing. Progressive encoding has two main benefits: it usually (but not always) creates a smaller file, and the user can see a version of the image almost right away rather than a blank space. A catch is that not all browsers support it. And Optimus re-encodes JPGs to progressive by default. You can find more about it here and here.
Options / Settings
There aren't many options. It's designed to be pretty much a set-and-forget service that works out of the box, and all of these options are off by default.
Some of the options are only available with the licensed version.
All derivative thumbnails/variants generated by WordPress are processed--there's no way to choose which are processed and which aren't--but it lists at the top all the variants that are registered in WordPress for your site.
The available options are:
Original Images: Toggling this either leaves your original uploads untouched or it runs them through the optimization.
Image Metadata: Stripping metadata like IPTC and EXIF is a good way to reduce file size, but there are also situations you might want to keep them. This option toggles whether or not metadata is stripped. Licensed version only.
WebP Files: This toggles whether WebP versions of your images are created as part of the optimization process. To actually make use of the WebP formats and serve them to your site's visitors you'll need to configure your site or server to support them. Licensed version only. I have much more on WebP here.
HTTPS Connection: This encrypts the connection between your site and the Optimus servers. It slows down the process slightly. Licensed version only.
By default, Optimus is set to optimize images as you upload them to your site's media library (there's no option to optimize images outside of your WordPress media library). But you can also go back and bulk optimize images that are already there.
There are two ways to do this. One is to go to the media library (in list view, not grid view), select the images you want to process using the checkbox, and then use the bulk operations drop-down menu at the top to start the bulk optimization of the selected images.
The second is that you can just process all the images in the media library by going to Tools > Optimize All Images. It'll then open a list of all your images and add progress bars to the right of each one telling you how it's going.
One relatively minor point worth knowing is that you can only run the optimization on each image once. Most of the time that's fine, but if you run the bulk optimization and then decide you want to enable the WebP functionality, running the bulk optimization again won't generate the WebP versions.
Once you've gone ahead and optimized the images that are already in your WordPress medial library, Optimus is designed to run silently in the background. It will take care of the optimization automatically when you upload new images. It can slow down the upload process a little--especially if you have the WebP option enabled.
You can check that images have been optimized in your media library. You'll have a new column to the right of each image (make sure you're using the list view and not the grid view). It has a green circle with a percentage in it, like this:
There are two pieces of information being conveyed. If the circle is all green, all the variants were optimized. If it's not all green, not all variants were optimized for some reason. The percentage is supposed to reflect the optimization rate, but I've not found it especially useful. I've reached out to Optimus support to ask specifically what the percentage refers to, but it's still not clear to me. What is clear is that a percentage of 95% does not mean that the result is 95% smaller than the pre-optimized version. It also somehow applies across all the variants of the image.
Here's the key that Optimus themselves provides:
In real-world use, most images can be safely reduced in file size, but the amount varies from image to image. On my sites, I consistently get reductions in the 10% to 30% range--sometimes more, sometimes less. On some instances of images that had already been optimized by other means I got a small negative percentage. But even the slightest reduction has a direct effect on page load speed, especially when images form such a large proportion of the data that has been downloaded every time the page loads.
As part of the service, the images you want to optimize are uploaded to the Optimus servers for processing. Optimus is very clear about taking the privacy and security of your images seriously:
The Optimus plugin transfers images uploaded to WordPress to the Optimus server to optimize them. The Optimus server does not keep any images: every compression is followed by an immediate deletion of the files. Optimus transparency report. The Optimus servers are located in Germany. Connection uses SSL encryption.
Optimus vs EWWW Image Optimizer Cloud
Optimus doesn't have as many options and features as EWWW Image Optimizer, but that relative simplicity is going to be a better fit for some people. Under the hood, the core optimization performance is fundamentally the same because they both draw on a similar toolbox. Both create Progressive images, although EWWW IO's approach is a little more sophisticated because it makes a judgment on which is smaller on a case-by-case basis.
EWWW Image Optimizer has a lot more features. Things like scheduled optimization, processing images outside of the WordPress media library, and lossy compression. By comparison, the settings panel in Optimus looks positively bare.
Here are the EWWW IO Cloud options panels:
But not everyone likes tinkering with a bunch of options. And that's where the relatively simplicity of Optimus can be a virtue. For comparison here's the Optimus options panel:
But arguably the most significant difference between Optimus and EWWW Image Optimizer comes down to the pricing structure. EWWW Image Optimizer Cloud charges by image processed. The price per image is minuscule, but it can add up quickly because it applies to every version of an image, including the thumbnails and variants that WordPress generates automatically. Optimus has a flat rate regardless of the number of images. If you're working with thousands of images, Optimus can work out much cheaper.
In my testing on this site, Optimus HQ has been working very well. The images are getting optimized as they should and the plugin and service have been working smoothly with no errors. It works on WordPress Multisite (with network activation). I've had some technical questions for the support staff and have found them to be helpful and responsive.
Overall, Optimus is well worth a look if you're looking for a very effective way to speed up how quickly your WordPress site's pages load.
You'll need the WordPress plugin available here. It will work, with some limitations, for free. If you want to process images larger than 100K and add the other features you'll need a license--they start at $29/year (more details here).
And if you'd like to explore other options, I have a detailed review of EWWW Image Optimizer Cloud, a feature-rich premium service here. WP Smush is another popular (and free) option that has been around a long while but has been rejuvenated with some new developers taking it over. Kraken.io and ShortPixel are other premium services (that is, they cost money to use) that are popular and I plan to review soon.