Guide

Why your website loads slowly, and what actually fixes it.

In most cases it's images — full-size photos sent to phone screens. It's also usually the cheapest thing on the site to fix, and it's the most common reason a page fails Google's speed thresholds on mobile.

Speed matters for two separate reasons, and it's worth keeping them apart. Visitors leave slow pages, which costs you enquiries directly. And Core Web Vitals are a genuine but modest ranking input — a tiebreaker between comparable pages rather than something that outranks relevance.

The second one gets talked about more. The first one costs more.

The three numbers Google measures

Largest Contentful Paint — how long until the biggest visible thing appears. Good is under 2.5 seconds. Interaction to Next Paint — how quickly the page responds when someone taps. Good is under 200 milliseconds. Cumulative Layout Shift — how much the page jumps around while loading. Good is under 0.1.

All three are measured at the 75th percentile of real visitors over 28 days, which means a fast connection in your office doesn't count for much. LCP is the one most sites fail on mobile; INP is the most commonly failed overall.

Find your own problem in two minutes

Run the page through PageSpeed Insights and read the mobile tab, not desktop. Then open your browser's developer tools, go to the Network tab, and reload. Sort by size.

If the largest item is an image measured in megabytes, you have found it and you can stop looking. A 4MB photo on a page is not unusual on sites nobody has audited, and it is single-handedly capable of failing LCP on every phone.

Fix images first, because it's most of the problem

Serve images at the size they're displayed. A photo shown 800 pixels wide does not need to be 4,000 pixels wide — generate a few sizes and let the browser pick with srcset. Use WebP or AVIF rather than JPEG; the same photo is typically 30 to 50% smaller with no visible difference.

Give every image explicit width and height attributes. This costs nothing and it's the main fix for layout shift — without dimensions the browser doesn't know how much space to reserve, so everything jumps when the image arrives. And lazy-load everything below the fold, but never the main hero image: lazy-loading the LCP element makes the exact number you're trying to improve worse.

Then look at what else you're loading

Third-party scripts are the second big cost — chat widgets, analytics, tag managers, review embeds, tracking pixels. Each one is a request to someone else's server that you don't control, and several of them block rendering.

Audit them honestly and remove anything nobody is actually reading data from. Fonts are worth a look too: use display=swap so text renders immediately in a fallback rather than staying invisible, and don't load nine weights when you use three.

The structural cause, if the basics don't fix it

If the page content is assembled in the browser rather than delivered as HTML, the visitor waits for the JavaScript to download, parse and execute before they see anything. That is a slow first paint by construction, and no amount of image optimisation fixes it.

Rendering the pages to static HTML at build time removes the problem entirely — and it happens to solve a search problem at the same time, because most AI crawlers don't run JavaScript and can only read what's in the served file.

Common questions

How much will speed actually improve my rankings?

Less than most articles imply. Google has been consistent that Core Web Vitals are one input into page experience, not a dominant factor. Where it matters is between pages that are otherwise closely matched. The stronger argument for fixing it is that slow pages lose visitors before they read anything.

My score is green on desktop and red on mobile. Which counts?

Mobile. Google indexes mobile-first, and for a local business most searches happen on a phone, often on cellular data. Desktop scores are close to irrelevant for this purpose.

Does a faster host fix it?

Rarely, on a small site. Server response is usually a small fraction of the total, and moving hosts is often the most expensive change with the least effect. Check what's actually large in the Network tab before spending money on infrastructure.

Speed problems are the most satisfying kind of website problem, because the diagnosis is objective and the fixes are usually measured in hours. If PageSpeed is telling you something you can't interpret, send it over.

Is my website actually findable?

Search Google for site:yourdomain.com. If it returns one result, or none, search engines cannot see most of your website — and no amount of design work will fix that.

Why your Google Business Profile beats your website

Google Business Profile signals account for roughly a third of local pack ranking — more than the website contributes. A complete profile with steady reviews will outrank a better website attached to a neglected one.

Why city pages usually backfire

Near-identical pages get clustered by Google, which picks one and ignores the rest — so fifty city pages earn roughly the ranking value of one, while the site-wide quality signal drags down the pages that were genuinely good.

Want to know where you actually stand?

Send over your domain and you'll get back a specific list of what's working and what isn't — including when the honest answer is that nothing needs replacing.