Core Web Vitals without the magic — what really affects speed
Everyone says “the site should be fast”, few explain what that means in numbers. I explain Google’s three metrics, what breaks them, and how to fix them.
In short
Core Web Vitals are three measurable quality metrics for a page, per Google: LCP (time to display the largest element, target < 2.5 s), INP (response time to an interaction, target < 200 ms), and CLS (layout stability, target < 0.1). They’re most often broken by overly heavy images, too much JavaScript, slow hosting, and no reserved space for elements. They’re improved by image optimization, fewer scripts, server-side rendering, and good hosting.
Site speed isn’t a matter of impression — Google measures it with three concrete numbers and factors them into rankings. More importantly, the client measures it too: a slow site loses some visitors before it even appears.
The three metrics Google counts
| Metric | What it measures | Target |
|---|---|---|
| LCP | How fast the main content appears | under 2.5 s |
| INP | How fast the page responds to a click | under 200 ms |
| CLS | Whether the layout “jumps” while loading | under 0.1 |
What actually breaks them
- Heavy, unoptimized images — the most common cause of poor LCP. A 4 MB photo where 150 KB would do.
- Too much JavaScript — plugins, trackers, sliders, chats. Every script is work for the browser that delays the response (INP).
- No reserved space for images, ads, and banners — content jumps as they load in (CLS).
- Slow or overloaded hosting — the server responds slowly, so everything starts later.
- Fonts loaded without a fallback — text flickers or disappears for a moment.
Rule
The fastest code is the code that isn’t there. Before you optimize a script, ask whether it’s needed at all. Half of performance problems are things you can simply remove.
How to fix it — from the biggest impact
- 01Optimize images: modern formats (WebP/AVIF), the right size, lazy loading below the first screen.
- 02Cut JavaScript: remove unused plugins and trackers, and load the rest only when it’s needed.
- 03Reserve space for elements (image dimensions, containers) so the layout doesn’t shift.
- 04Pick good hosting and server-side rendering — ready HTML instead of building it in the browser.
- 05Measure again in PageSpeed Insights and repeat for the biggest remaining problem.
Why the technology matters
Some of these problems solve themselves with a good foundation. A server-rendered site (e.g. in Next.js) starts with ready HTML and automatic image optimization, so LCP and CLS are good by default. The same results are achievable on WordPress, but they require deliberate decisions about plugins and configuration — speed has to be watched, not assumed.
Frequently asked questions
Do Core Web Vitals affect your Google ranking?expand_more
How do I check my site’s speed?expand_more
What slows sites down the most?expand_more
Have a similar question about your own project?
The first consultation and quote are free. I usually reply within one business day — with specifics, not a generated offer.