A slow website doesn't just frustrate visitors. It actively costs you customers. Studies consistently show that more than half of people will leave a page that takes longer than three seconds to load on mobile, and they generally don't come back. Google factors speed into its rankings too, so a slow site is getting penalised twice over.

The good news is that most speed problems come from a small number of causes, and several of them can be fixed without touching a line of code. Here's where to start.

Sort your images first — this is where most sites lose the most time

Images are responsible for the majority of slow load times on small business websites. A photo taken on a modern phone is typically 3 to 8 megabytes. That same image, properly sized and compressed for web use, should be under 200 kilobytes. That's a difference of 20 to 40 times the file size, all of which your visitor's browser has to download before the page feels ready.

The fix is straightforward. Before uploading any image to your site, run it through Squoosh (squoosh.app, free, works in your browser). Resize it to the actual dimensions it'll be displayed at on screen, and export it as WebP format if your site supports it, or JPEG if not. You'll see no visible difference in quality but the file will be a fraction of the size.

If you've got a lot of existing images already on your site, go through them and replace the worst offenders. The homepage is the most important place to start.

Use lazy loading for images that aren't visible straight away

Lazy loading means images below the fold (the part of the page visitors don't see until they scroll down) only load when someone actually scrolls to them, rather than all loading at once when the page opens. This makes the initial load significantly faster.

If you're on WordPress, most caching plugins handle this automatically. On a hand-coded site, it's as simple as adding loading="lazy" to your img tags. On Squarespace or Wix, it's usually on by default.

Cut down on what loads before the page is usable

Every script, font, and stylesheet your page loads adds time before a visitor can actually read or interact with anything. Some of this is necessary. A lot of it isn't.

Common things to look at: Are you loading a font library just to use one or two fonts? Are there old plugins or integrations that were added at some point and are no longer used? Is there a chat widget, cookie banner, or analytics script loading that could be deferred until after the main page content? Each one adds milliseconds, and they stack up fast.

If you're on WordPress, a plugin like WP Rocket or Perfmatters handles most of this for you. If you're on a static site or a simpler builder, you may need to look at this manually or get a developer to help.

Enable caching

Caching means your server stores a pre-built version of each page and serves that to visitors rather than rebuilding the page from scratch every single time someone loads it. For most small business sites this is a significant speed improvement with almost no downside.

On WordPress, any of the major caching plugins (W3 Total Cache, WP Super Cache, WP Rocket) will handle this. On hosting platforms like SiteGround or Cloudways, caching is often available as a one-click feature in your hosting dashboard. It's worth checking whether yours has it switched on.

Make sure you're using a CDN

A CDN (content delivery network) stores copies of your site's files on servers around the world, so visitors load your site from a server that's physically closer to them. If your hosting is based in the UK and someone visits from Scotland, the difference is negligible. But if they're visiting from further afield, it can make a meaningful difference.

Cloudflare offers a free CDN that works with almost any hosting setup and takes about 20 minutes to set up. As a bonus it adds a layer of security and can reduce your hosting load.

Check your hosting isn't the bottleneck

The cheapest shared hosting plans put hundreds of websites on the same server. When other sites on that server get traffic spikes, your site slows down too. This is a genuine problem with budget hosting and not something you can optimise your way out of.

If you've done everything else and your site is still slow, your hosting might simply be underspec'd for what you need. Moving to a better plan or a different provider (SiteGround, Kinsta, and Cloudways are well regarded for speed) is often the fastest single improvement you can make.

How to measure where you actually stand

Before and after making any of these changes, it's worth getting an actual score so you can see the difference. Google PageSpeed Insights will give you a score and flag specific issues, though it can be hard to interpret if you're not used to it.

A1 Site Solutions gives you a speed score as part of a full site audit that also covers SEO, accessibility and best practices. It takes about 30 seconds, it's free, and it tells you what to fix in plain English rather than leaving you to decode the technical output.

See your site's speed score right now

Free instant audit. Paste your URL and find out exactly where you stand.

Run your free audit
No account needed. Takes about 30 seconds.