Site Speed Core Web Vitals

Site Speed & Core Web Vitals: What Really Moves the Needle

Speed reports are addictive and misleading. A score out of a hundred feels like a grade, so teams chase the number, spend weeks on marginal gains, and end up with a slightly better score and no change in how the site feels to use.

The metrics that matter describe experience, not compliance. Here is where effort tends to pay and where it tends to be wasted.

Test the pages that carry traffic, on the devices people use.

A homepage score is close to irrelevant if most visits land on service pages or blog posts. Pull your top landing pages from analytics and test those on mobile, on a throttled connection.

Lab tools are useful for diagnosis, but they are a simulation. Field data from real visits tells you what is actually happening, and the two frequently disagree. When they do, believe the field data.

Largest Contentful Paint: usually an image or a font problem.

The most common cause of a slow main render is a hero image that is far larger than it needs to be, served in an outdated format, and not prioritised in the loading order. The second most common is a web font blocking text from appearing.

The fixes are unglamorous and effective: resize images to the dimensions they actually display at, serve modern formats, set explicit width and height, preload the one image that matters, and let text render in a fallback font rather than waiting.

This is where most of the available gain sits on most sites. It is also where teams spend the least time, because compressing images feels less substantial than refactoring code.

Interaction delay: almost always third-party scripts.

If a page feels sluggish when tapped, the cause is usually the main thread being busy with tasks unrelated to the page. Chat widgets, heatmap recorders, multiple analytics tags, ad pixels, review widgets, consent managers, A/B testing tools.

Audit what is loading and ask what each script earns. Most sites are carrying at least two tools nobody has looked at in a year. Removing them is free performance, and it is the highest-return action available on a heavily instrumented site.

For what remains, defer anything that is not needed for the first render, and load nothing before the content.

Layout shift: reserve the space.

Content jumping around as a page loads is irritating out of proportion to its technical difficulty. It comes from images without dimensions, ads and embeds injected into the flow, fonts swapping at different sizes, and banners appearing above content after render.

low poly core web vitals workspace

Every one of those is fixed by reserving the space in advance. It is a design and markup discipline more than an engineering problem, and it is worth building into how new templates get made rather than fixing repeatedly after the fact. Modern design practice has largely caught up with this, and there is a useful survey of where web design trends have landed on performance-conscious layout.

Know when you have finished.

Past a certain point, further speed work stops changing outcomes. If your key pages render quickly on a mid-range phone, respond immediately to taps, and do not shift as they load, you are done. Chasing the last few points of a score is a hobby, not a strategy.

The remaining budget is better spent on whether the page answers the question it was built for.

Keep it from regressing.

Performance decays with every new plugin, tracking tag, and marketing request. Without a check in place, a site that was fast in March will be slow by September, and nobody will know which change did it.

Set a monitor on your key templates, review it monthly, and make performance a gate on new scripts rather than something audited annually. Building that discipline into the development and marketing workflow is a large part of what ongoing technical SEO support is for - the audit is the easy part; holding the line afterwards is the work.

One caveat worth keeping.

Speed is a tie-breaker, not a trump card. A fast page with weak content will not out-rank a slower page that answers the query better. Fix the obvious problems, then go back to the content.

0.259