Kualo / docs
On this page

How to optimise WordPress images for faster loading

Oversized and uncompressed images are one of the most common reasons WordPress sites load slowly. Fixing them is one of the highest-impact things you can do for page speed.

7 min read Updated 8 Jun 2026

Oversized and uncompressed images are one of the most common reasons WordPress sites load slowly. Fixing them is one of the highest-impact things you can do for page speed.

Upload images at the right size to begin with

Before any plugin gets involved, the single most effective step is uploading images at a sensible size. If your content column is 800 px wide, uploading a 5,000 px wide photo wastes bandwidth on every page load, even after compression - and on mobile or slower connections, images that are several megabytes in size will make your pages feel sluggish regardless of anything else you do.

Resize images on your computer before uploading them. As a rough guide, a full-width hero image rarely needs to exceed 1,920 px wide, and a blog post thumbnail rarely needs more than 1,200 px. If you are not sure where to start, Squoosh is a free, browser-based tool that lets you resize and compress images before you upload them - it is a good first step for anyone new to image optimisation. GIMP is a free desktop alternative if you prefer working offline.

When you upload an image, WordPress automatically generates several size variants (thumbnail, medium, large, and any sizes your theme registers). Those variants are useful, but they also consume storage and inodes. We cover that in more detail in the inode and storage caveat section below.

Optimise images with LiteSpeed Cache (recommended)

If your site is on Kualo shared hosting, LiteSpeed Cache is almost certainly already installed. If you are not using it yet, we strongly recommend it - it is one of the most effective performance plugins available for WordPress on our hosting stack. See our guide on configuring LiteSpeed Cache with WordPress to get started.

Its image optimisation feature uses the QUIC.cloud service to compress and convert images in the cloud and return the optimised files to your site. You just need a free QUIC.cloud account linked to your site.

Once the plugin is active and linked to QUIC.cloud, follow these steps to enable image optimisation:

  1. In your WordPress dashboard, go to LiteSpeed Cache > Image Optimization.
  2. Under Image Optimization Settings, choose your compression mode:
  • Lossless preserves every pixel exactly - best for logos and graphics with sharp edges.
  • Lossy reduces file size more aggressively by discarding some image data - usually unnoticeable on photographs and the better choice for most sites.
  1. Enable WebP Replacement to generate WebP versions of your images (see the WebP section below for why this matters).
  2. Click Send Optimization Request to queue your existing media library for optimisation. QUIC.cloud processes the images and returns the results.
  3. Once optimisation is complete, check the summary to confirm files have been reduced.

Because we are a LiteSpeed Enterprise partner, Kualo customers receive a boosted QUIC.cloud allowance for image optimisation - more than the standard free tier. This covers most small to medium sites comfortably. Larger sites with many images may still need to monitor their credit usage and top up if needed.

Lazy loading

Lazy loading tells the browser to load images only as they scroll into view, rather than loading every image on the page at once. This can improve initial page load time, especially on long pages - though it needs a little care, particularly for images that appear above the fold. We will cover this in a dedicated guide; for now, you can enable it in LiteSpeed Cache under LiteSpeed Cache > Page Optimization > Media Settings.

Lazy loading and image compression work independently - we recommend enabling both.

Alternative: a dedicated image optimisation plugin

If you are not using LiteSpeed Cache, or you prefer a standalone tool, a dedicated image optimisation plugin is a good alternative. Imagify is a well-supported option that covers the same core features: lossy and lossless compression, WebP output, and bulk optimisation of your existing media library.

Here is how to get started with Imagify:

  1. In your WordPress dashboard, go to Plugins > Add New and search for Imagify.
  2. Install and activate the plugin, then create a free Imagify account when prompted.
  3. Go to Settings > Imagify and choose your compression level. Aggressive (lossy) gives the best file size reduction for most sites; Lossless is available if you need pixel-perfect output.
  4. Enable Create WebP versions to generate WebP files alongside your originals.
  5. Go to Media > Bulk Optimization to process your existing library.

Other plugins such as ShortPixel work on the same principles. You do not need to use more than one - pick one and stick with it.

Keep your original uncompressed files. Imagify and most similar plugins store originals by default so you can re-optimise later if you change your compression settings. Check that this option is enabled before running a bulk optimisation.

WebP conversion

WebP is a modern image format developed by Google. It typically produces files 25-35% smaller than equivalent JPEG or PNG files, with comparable visual quality, and is supported by all major modern browsers.

Both LiteSpeed Cache and Imagify can generate WebP versions of your images automatically. When a visitor's browser supports WebP, the smaller file is served; older browsers fall back to the original. Once the feature is enabled in whichever plugin you are using - refer to the relevant section above for the exact setting - nothing further is needed.

Image optimisation via a CDN

Some content delivery networks go beyond simply serving your files from locations closer to your visitors - they can also optimise images on the fly. Two worth knowing about are:

  • Cloudflare - Cloudflare's Polish feature (available on paid plans) automatically compresses and converts images to WebP as they pass through the CDN, without you needing to change anything in WordPress.
  • BunnyCDN - Bunny's Bunny Optimizer add-on resizes, compresses, and converts images to WebP on request, based on rules you configure in the BunnyCDN dashboard.

CDN-level optimisation works alongside plugin-based compression rather than replacing it - if you are already using LiteSpeed Cache or Imagify, a CDN adds an extra layer of delivery speed on top. See our guide on using a CDN with WordPress on Kualo for more detail on setting up Cloudflare and BunnyCDN.

Controlling image size variants to save storage and inodes

Every image you upload to WordPress can generate multiple derivative files. WordPress core creates a thumbnail, a medium, a medium-large, and a large variant by default. Your theme and some plugins register additional sizes on top of those. On a site with hundreds of images, this can mean thousands of extra files, which increases both your storage usage and your inode count - and inode limits matter on shared hosting.

There are two practical steps you can take:

Stop WordPress generating sizes you do not need. The plugin Stop Generating Unnecessary Thumbnails (search for it in the plugin directory) lets you review which image sizes are registered on your site and disable the ones nothing actually uses.

Regenerate thumbnails after making changes. If you disable unused sizes and want to clean up the derivative files already on your server, the Regenerate Thumbnails plugin rebuilds your media library using only the sizes that are currently active. Run this after disabling any sizes you no longer need.

Remove duplicate images from your media library. Over time it is easy to end up with duplicate uploads taking up unnecessary space and inodes. The Media Deduper plugin scans your media library for duplicates and lets you remove them safely.

Before running a bulk thumbnail regeneration, back up your WordPress site so you can restore it if anything goes wrong.

Also be aware that image optimisation plugins themselves add files to your media library. When WebP conversion is enabled, each image gains a WebP copy alongside the original. If the plugin also stores a backup of the pre-optimisation original, each upload can result in three or more files. On a storage-constrained plan, it is worth checking your disk usage periodically.

Check your results

Once you have applied these changes, run your site through a speed testing tool to confirm the improvement. Our guide on how to read speed reports explains how to interpret the output from GTmetrix, Pingdom, and Google PageSpeed Insights, and what to do with what you find.

Image optimisation is one part of overall WordPress performance. For caching, PHP settings, and database performance, see the other articles in the WordPress Optimisation collection.

Was this helpful?
Your feedback helps us find gaps in the docs.
Still need a hand?
Real people, around the clock - start a chat or open a ticket and we'll help you put it right.