Lately I've been testing out the best image optimization options for WordPress. This time around it's Kraken.io's turn.
Like the other image optimization options, Kraken.io aims to reduce the file size of the images on your WordPress site with little or no impact on image quality. That saves bandwidth and storage space and can drastically improve the speed at which your site loads. And that, in turn, can make Google happy and improve search rankings, and it makes your site's visitors happy to have a fast-loading website.
Images tend to require a lot of data and so are common culprits in slowing down your page load speed. I could, of course, just use fewer images, but I'm a photographer and visual matter to me. Whether it's photos or screenshots, I like to include them. But there are also ways to make images smaller that don't necessarily have to sacrifice image quality.
There are two main ways to do this. One is lossless image optimization, which strips out redundant information that isn't being used while leaving the image pixel information untouched. The other is lossy compression, which discards information that, ideally, won't be noticed if its gone. It's the difference between no quality loss and almost no quality loss.
How much of a saving you get varies image to image and based on what settings you're using, but it's very realistic to expect at least 10% reduction in image sizes. If you use more aggressive settings it's not at all unusual to be able to get much larger reductions in individual images of up to, say, the 60% range. A realistic range to expect is probably somewhere around 10% to 12% with the lossless settings and something like 25% to 30% with lossy compression. But, as I say, your results are really going to depend on the specifics of the images you feed into the system and how aggressively you apply the optimization or compression. As an interesting experiment, the folks at Kraken.io ran the images from some of top sites in the world through the optimization, and you can find their results here.
If you're using WordPress, there are a number of options for tackling this. I've previously reviewed EWWW Image Optimizer Cloud and Optimus HQ. WP Smush is another very popular option that has been around for a long while but has recently been born again.
While it is possible to build an optimization service right on your own server, most of these options involve both a WordPress plugin and a backend cloud service to handle the heavy lifting. Basically, your images get sent from your WordPress site to the cloud service, crunched, and then the resulting processed images get returned to your WordPress site. That's slower and can be more expensive that running it on your own server, but it's also vastly simpler and has the distinct advantage of working on a much broader range of hosting environments (many web hosts don't let you compile and run the kinds of scripts that you need to host it yourself).
Kraken.io fits in to this category of WordPress plugin+cloud service. Technically, the plugin itself is free, but you pay for the backend cloud service.
So here's a rundown of how it works.
The plugin installs the way that WordPress plugins normally get installed, but there's a second part to it before you can get it working.
To make the plugin work you need to sign up for a Kraken.io account on their website. They have various plans, but all start as a free trial account with a 50MB quota (you don't need a credit card to create the account). Once you use up that 50MB you'll need to upgrade to one of the paid plans.
Once you sign up for your account and verify your email address, go to your account page on the website and choose the API Credentials tab. There you'll find an API Key and an API Secret. You need to copy those into the corresponding fields in the Kraken.io Settings page in your WordPress dashboard (make sure you've activated the plugin, of course).
You also then have a choice of whether to enable Lossy or Lossless optimization, whether images are automatically optimized during the process of uploading to the WordPress media library, and the status of your account (API).
If you want to play it safe, stick with the lossless option. The files will be smaller using the lossy option, but use with care because it is discarding information that does, however imperceptibly, have an impact on image quality. By all means use it if you're comfortable using it, but I'd recommend testing on some non-critical individual images first.
If you expand the Advanced section, you get two more options. The first is to reset the optimization status of images which allows Kraken to reprocess them. The second is rather opaquely called Bulk Concurrency but refers to how many images can be processed at once. In theory a higher number should be faster, but higher numbers can also trigger problems on some shared hosting accounts because it places a bigger strain on the shared resources and in extreme cases looks like suspicious server behavior.
Once the plugin is active, and assuming you've left the "Automatically optimize uploads" setting checked, all new images you upload to the media library will be optimized as part of the upload process. It does slow things down a little.
If you want to optimize images that are already in the media library, you can either do it on an image-by-image basis or in bulk. Both are handled in the media library page--make sure you're using the list view rather than the thumbnail grid (you toggle with the small icons at the top left of the media library).
Beside each image you'll see an orange Optimize this Image button.
After each image processes, the button will be replaced by a report that shows the new file size, the type of optimization performed, and how many thumbnail versions were processed.
To optimize a bunch of images at once, check the box next to each one or check the box at the top or bottom to select all, and then use the drop down Bulk Actions to select "Krak 'em all." Then hit Apply.
Tip: By default, the WordPress dashboard lists 20 items at once. If you want to list more items, go to to Screen Options at top right. One of the settings there controls how many items to display in a list in the dashboard.
You'll then get a bulk image optimization panel that lists all the images that are going to be processed. You can also choose whether to apply Lossy or Lossless compression.
Once you hit the Krak 'em all button at bottom left it'll start giving you progress on the optimization process and show the new file size and size savings.
Those results will now also be visible in the regular media library panel as well.
If you want to find out how much of your data quota you've used, you can't see it through the WordPress panel but you can log into your account on Kraken.io for a summary of your usage.
(Note: There is also an Optimization History tab, but it doesn't register processes done using the WordPress plugin.)
Pricing and Plans
Kraken.io's pricing is a bit different to its competitors. Optimus is a flat rate regardless of how many images you process. EWWW Image Optimizer Cloud is priced per image processed. WP Smush is free for the basic version, with the WP Smush Pro version using a monthly subscription model for the use of the plugin.
Kraken.io's pricing model is based on the amount of data processed. There are plans for 2GB of images a month for $9/month all the way up through 60GB a month for $79/month. All of the have overage rates if you need to process more data in a particular month. And if you pay yearly you get a discount equivalent to two months free. You can find details here.
It's important to remember that your data usage applies not only to the image you upload but all of the thumbnails variants that WordPress generates as part of the upload process.
You can use your API key on as many websites as you like. They'll all draw from your consolidated account quota.
Note: There is technically a free plan, but it doesn't work with the WordPress plugin, so it's not a practical option for WordPress users. It also has some other important limitations.
JPG and PNG. It can apply lossless optimization or lossy compression to either format.
Maximum size of 16MB. This is quite generous, especially compared to the free plan of WP Smush that is limited to 1MB (WP Smush Pro allows images up to 32MB). Optimus HQ is limited to 5MB files. In practice, this isn't a big deal for me since I'm not embedding 16MB images in my WordPress pages.
Lossless and Lossy Compression. You can choose lossy compression or lossless optimization, but you don't have any further control beyond that.
Web Interface Pro. The WordPress plugin is just one part of the Kraken.io ecosystem, and there are extra features that you access through the web interface like resizing, processing all images at a URL (the processed versions can be downloaded packaged as a ZIP file or to your Dropbox account). These functions don't work through the WordPress plugin and are only of limited use for WordPress. But there are times they can come in handy. The Kraken.io plugin only works on images in your WordPress media library. If you're hosting icons or header graphics outside of the media library, you can process them with the web interface.
What It Doesn't Have
The version of the WordPress plugin I've been testing is v.2.0.0. It's entirely possible that some of these points will be added or addressed in future versions. You can find the latest version here.
When you compare Kraken.io to something like the option-rich EWWW Image Optimizer Cloud, there are a lot of options that Kraken.io doesn't have. I'm not going to list all of the fine-grained option differences, but here are some of the ones I consider key.
Preserving Metadata. Stripping out metadata like IPTC and EXIF data can be a very effective way to make a photo's file size smaller. But there are times you might want to keep that data there. If you're hosting a photography website, for example, you might be dynamically pulling in EXIF data like date, GPS coordinates, or and aperture and shutter speed when you display an image. Or you might want to keep copyright or licensing information embedded in each image file. By default, the Kraken.io optimization strips out all metadata from the image files. The underlying Kraken.io API code does allow for preserving some metadata fields, but that option is not available in the WordPress plugin version at the moment.
WebP Support. WebP is an emerging image format that is designed to create smaller files without any perceptible loss in image quality. It still has relatively limited support in web browsers and, frankly, the vast majority of websites aren't using it yet. But after testing, I've been impressed with the file savings it offers. I have much more detail on WebP here.
A real "optimize all" function. Okay, so this is a pretty pedantic quibble and is presumably something that the developers could easily add in a future version. But if you want to bulk optimize more than a few hundred images at once it gets a bit tedious doing it through the media library panel. It would be nice to have a true Krak 'em all function that works on every unoptimized image.
Leave original image untouched. It would be useful to be able to tell the plugin to leave the original image that you've uploaded untouched. Unless you're specifically embedding the original full size version, the versions we generally embed into a WordPress posts are derivative "thumbnail" versions that WordPress has created and resized when you first upload the image into WordPress. Being able to preserve the original untouched is a safety precaution that can be useful for regenerating thumbnails or just saving embedded metadata. It's something that's likely to be more important to photographers uploading photos than other users uploading graphics or screenshots. One other aspect of this that some photographers might care about--the optimization process converts the images to sRGB colorspace, so if you're uploading master versions in some other colorspace like AdobeRGB, you'll want to be aware of that.
The Kraken.io WordPress plugin and its associated backend service is designed to be fast, simple, and effective. In my testing, I've found it to be all of those things. I'm not surprised that it has proved to be a popular choice.
But there are, of course, other things to consider.
Kraken.io's pricing model is something you'll have to keep a close eye on when you first start using it until you get a good sense of your regular usage. Pricing is based on the cumulative amount of data processed on a monthly basis, and it's important to remember that that applies not just to the original images you upload but also all of the thumbnail derivatives that WordPress generates automatically. For most users, Optimus HQ Image Optimizer will work out cheaper over the course of a year for the same basic functionality because they have an annual flat rate for an unlimited number of images. If you're not using many images on your site, this isn't going to be much of an issue, but my guess is that if you're reading this and investigating image optimization you're using more than a few images.
The image optimization function worked as it should. Unoptimized images were reduced in file size in the kind of range I'd expect with both the lossy and lossless functions. How much of a saving you get depends on the individual image. If you're partial to tweaking, EWWW Image Optimizer Cloud offers more granular control, but all those extra settings are not going to be everyone's cup of tea. Most of the image optimization options are built on similar underlying toolsets, and so while one might squeeze out more file savings out of this or that file, on balance they all fall in roughly the same range. Some, like EWWW Image Optimizer give you control over how aggressively to optimize, but you don't have that with Kraken.io. You can either apply lossy compression or lossless optimization.
If you're looking for something simple that just works quietly in the background and you don't want to be spending time tweaking things, Kraken.io works well. I personally prefer Optimus HQ's pricing structure and feature set, but everyone's going to have difference preferences and needs. I'm currently using Optimus HQ on some of my sites and EWWW Image Optimizer on this site. You can find my detailed review of Optimus HQ here and EWWW Image Optimizer Cloud here.