The increasing internet connection speed of recent years has allowed web developers to enrich their pages with more and more media. Just a few years ago, the average size of a web page was 600–700K. Now, the average is 3MB and it’s increasing every year.
Images can help engage visitors and minimizing the bounce rates, but they can also be the cause behind poor web performance. Images can account for over 50% of a web page’s total size on average thus significantly slow down the time it takes to load a web page.
This article will cover all the aspects of image optimization for web and will explore how to maintain fast loading time while using good quality images.
Image optimization is the process of decreasing their file size, dimension, and format without losing quality. To optimize images for the web you can use either a plugin or script, which in turn speeds up the load time of the page. Lossy and lossless compression are two methods commonly used.
Optimizing images for the web has a lot of advantages which sometimes are neglected by web developers. Let’s look at them one by one and see what each can contribute to the performance of your website:
- Less server storage space and bandwidth—optimized images occupy less storage space on a web server. Retrieving optimized images from the server requires less bandwidth.
- Improved page load speed—websites with well-optimized images take less time to load. Optimized images follow the best practices of all kinds of browsers and multiple screen sizes which enhance the performance of your website.
- Improved user-experience—fast loading websites improve the overall user-experience of visitors. Visitors are most likely to revisit fast-loading websites
- Improved SEO—search engines will rank higher fast-loading sites
The main goal of image optimization is to find the balance between the lowest file size possible and acceptable quality. There is more than one way to perform these optimizations. One of the most popular ways is to compress them before uploading.
Before optimizing your images, start by running a speed test on your site with Google PageSpeed Insights. This test will let you know exactly which images to optimize and what is the best way to optimize them.
There are multiple types of image formats available on the web. Choosing the right format for your website is essential.
- JPEG—a commonly used file format due to its small file size the flexibility. You can adjust the image quality for a good balance of quality and file size.
- PNG—a file format with higher image quality images, but has a larger file size. Files in this format are transparent and are suitable for small images like icons.
- GIF—supports only 256 colors and can only be losslessly compressed. Files in this format are a good choice for animation graphics.
There are several other formats such as JPEG 200JPEG XR and WebP. Google’s Lighthouse tool for developers recommends encoding images in these modern formats rather than JPEG or PNG. These formats have superior compression and quality characteristics and they will load faster and consume less cellular data.
One of the easiest ways to optimize images for the web is to resize them before you upload them to your site.
Resizing and cropping images before uploading will make their size smaller, which will help websites to load faster and to save server storage space for more images.
Compressing an image for the web means reducing its file size. Compression is achieved by minimizing the size of an image without any quality loss. There are two main types of compression, lossy and lossless:
- Lossy compression—this means completely removing some information from the original image in a way that it will not be noticed by most users.
- Lossless compression—this means the image file size will be reduced without removing any information from the original file.
Lazy loading is a technique that defers the loading of non-critical images at page load time. Instead, these non-critical images are loaded at the moment of need. Non-critical images are images that the user can’t see.
SVG is a scalable vector format which works great for logos, icons, text, and simple images. SVG images are automatically scalable in both browsers and photo editing tools. SVGs are usually smaller in file size than PNGs or JPGs. This can result in faster load times.
If your site is built with WordPress then you can optimize images using WordPress plugins. It is important though that you don’t solely rely on the plugins themselves. For example, you shouldn’t upload 2MB images to your WordPress media library. This can result in eating up your web hosts disk space really fast. The best method is to quickly resize the image in a photo editing tool beforehand, and then upload it and use plugins to reduce it further.
Image optimization is both an art and a science. It is an art because there is no one definitive answer for how best to optimize an image, and a science because there are many techniques and algorithms that can reduce the size of an image. Finding the optimal settings for your image requires careful analysis along many dimensions such as format capabilities, content of encoded data, quality, pixel dimensions, and more.