How can we help you today?

Support Portal Categories

How to Optimize Your Images

Modified on: Wed, 19 May, 2021 at 3:44 PM

If you want a faster shop, you have probably looked at Google Pagespeed Insights for useful suggestions. It probably told you to optimize your images. Which means, reducing the size-on-disk without losing quality. This is a very cumbersome process if you do this by hand (opening in Photoshop, saving-as, etcetera). But it is very easy if you use Hypernode. If you follow this article, it will take you only a couple of minutes to set up automatic image optimization.

Thanks to Peter Jaap for doing the initial research (in Dutch).

@Hypernode_com hypernode-image-optimizer is pretty effective "Optimization profit over all files: 502812 KB (82%)". Thanks for that!

— Sander Mangel (@sandermangel) March 16, 2015


How Much Can You Win?

First, log in on your Hypernode by SSH and type this command:

$ hypernode-image-optimizer ~/public/media
[46%] /data/web/public/media/custom_options/quote/h/o/46f68f14df54b639546a583a942cd7c2.png (255 KB smaller)
[50%] /data/web/public/media/custom_options/quote/h/o/8a45641021fb82d172b9712f6631c49a.png (405 KB smaller)
[30%] /data/web/public/media/custom_options/quote/p/l/a74e500c8e08c48e54ea65d8422bc68e.png (114 KB smaller)
[77%] /data/web/public/media/custom_options/quote/L/i/8969288f4245120e7c3870287cce0ff3.jpg (426 KB smaller)
[ 0%] /data/web/public/media/custom_options/quote/T/a/6bfddcd09ff981b24fc96e442700f2df.png (0 KB smaller)
[... long list of files ...]
Optimization profit over all files: 226 MB (30%)

Great! It has not changed anything yet, but has calculated that you can save 226MB (or 30%) of disk-usage by optimizing your images.

Saving the optimized images for real

Make sure you have a backup of your media files. Then use this command to replace the old images with the optimized images:

$ hypernode-image-optimizer --quality 80 --write --newonly ~/path/to/media

Visit your site, do a CTRL-F5 (Mac: CMD-R) to refresh your cache and visually inspect the results. You will most likely not see a difference, apart from a much quicker page ;)

Exclude Directories

To use the hypernode-image-optimizer and exclude one or more directories, specify --exclude with one or more paths. For example:

app@83f01a-example-magweb-cmbl:~$ hypernode-image-optimizer /data/web/public | wc -l
app@83f01a-vdloo-magweb-cmbl:~$ hypernode-image-optimizer /data/web/public --exclude /data/web/public/static/frontend /data/web/public/static/adminhtml/Magento | wc -l
# In this example images from the following directories were ignored:
# /data/web/public/static/frontend
# /data/web/public/static/adminhtml/Magento

Recommended: Periodic Optimization Using Cron

To keep the disk usage reduced and your shop fast, we recommend you to add a cronjob to optimize new images every night.

NB: checks for a cronjob that optimizes your images periodically. If you optimized your images only once, the check will come out red.

$ crontab -e

And add this line:

30 4 * * * chronic hypernode-image-optimizer --experimental --quality 80 --write --newonly ~/public/media

Presto, every night at 4:30 all new images (uploaded the previous day) will be optimized.

Pro Tips

The image optimizer will do two things.

First, it will set the image compression level to 90% for JPG images, which is a very safe, conservative value. Many image optimization guides even recommend setting it to 80%. You can do so as well, by running hypernode-image-optimizer --quality 80. See below for samples at different quality levels.

Second, it will shrink big images: 2000+ pixels in width or height. If you want to change the threshold (for example, 3000 pixels), you can use hypernode-image-optimizer --size 2000.

## Experimental mode

Since 21 June 2016, an --experimental mode is available. This yields better compression results (notably for PNG) but is slower. Example runs on our test images:

$ hypernode-image-optimizer ~/public/media
Safe optimization profit over 1002 files: 11 MB (37%)

$ hypernode-image-optimizer ~/public/media --experimental
Safe optimization profit over 1002 files: 17 MB (56%)

So this is another huge win in size! It takes 2 to 3 times more time, so especially the first run (where all image files are considered) may take a while (e.g. several days if you have hundred thousands of products). This should not be a problem, as the image optimizer runs in the lowest possible priority, so will not disturb your live performance.

As with the regular optimizer, ensure you have a backup before using the experimental mode.

Examples of Different Quality Levels



Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.