On this page · 9 sections
Your developer talks about LCP, CLS, INP. Your SEO agency says “the Core Web Vitals are in the red”. Google Search Console shows orange alerts. And you just want to know whether your site is healthy — and what to do if it is not.
This guide is written for you. Not for developers.
The three metrics Google measures on every page of your site, what they actually mean for your visitors, and the actions to take if your scores are bad. Zero lines of code.
Three scores, not thirty
Google measures hundreds of signals to rank your site. But in 2024, it narrowed the user experience assessment down to three precise metrics. Three. That is manageable.
These three metrics are called Core Web Vitals. Each one measures a different aspect of what a person feels when visiting your site:
- LCP — Does the page load fast?
- INP — Does the page respond when you click?
- CLS — Does the page shift during loading?
Each metric has a threshold. Below it, Google considers the experience “good”. Above it, the experience is “needs improvement” or “poor”. There is no grey area.
LCP: time before seeing something useful
Largest Contentful Paint. The time it takes for the largest element on your page to appear. Usually, that is the hero image, the banner, or the first large block of text.
| Threshold | Score |
|---|---|
| Good | Under 2.5 seconds |
| Needs improvement | Between 2.5 and 4 seconds |
| Poor | Over 4 seconds |
What this means for you: if your page takes more than 2.5 seconds to display something, your visitors see a white screen. And 32% of them leave if loading exceeds 3 seconds.
Most common causes: unoptimised images (too heavy, wrong format), slow server, too much CSS and JavaScript to load before displaying anything.
INP: time before the page responds
Interaction to Next Paint. This is the newest metric — it replaced FID (First Input Delay) on March 12, 2024. The difference: FID only measured the first click. INP measures every interaction.
You click an “Add to Cart” button. INP measures the time between your click and the moment something changes on screen.
| Threshold | Score |
|---|---|
| Good | Under 200 milliseconds |
| Needs improvement | Between 200 and 500 ms |
| Poor | Over 500 ms |
What this means for you: if your site takes more than 200 ms to respond to a click, your visitors feel a lag. On mobile, this is even more noticeable — and 23% of mobile sites fail this threshold. When all three metrics are combined, only 48% of mobile sites pass the full Core Web Vitals assessment.
Most common causes: too much JavaScript blocking the browser, poorly coded WordPress plugins, third-party scripts (chatbots, analytics, social widgets).
An average WordPress site loads between 300 and 450 KB of JavaScript. Every script blocks the browser while it executes. Result: even if the page looks loaded, it does not respond to clicks. This is exactly what INP measures — and it is the most commonly failed metric in 2026.
CLS: elements that move on their own
Cumulative Layout Shift. You are reading text, and suddenly the content jumps down because an advert loaded above it. Or you are about to click a link, and an image loads just before — you click the wrong thing.
CLS measures the amount of involuntary movement on your page.
| Threshold | Score |
|---|---|
| Good | Under 0.1 |
| Needs improvement | Between 0.1 and 0.25 |
| Poor | Over 0.25 |
What this means for you: a CLS score of 0 means nothing moves on your page during loading. A score above 0.1 means something shifts visibly and annoyingly.
Most common causes: images without declared dimensions (width × height), web fonts replacing system fonts late, adverts and embeds inserted dynamically.
Why Google cares (and so should you)
Google does not penalise you for fun. It wants its users to find results that load fast, respond to clicks, and stay still. If your site does all of that, Google favours it. If two sites have similar content quality, the one with better Core Web Vitals ranks higher.
The numbers are concrete:
| Indicator | Measured impact | Source |
|---|---|---|
| Abandonment rate | -24% when all 3 thresholds are met | Google (2024) |
| Bounce rate | +32% when loading exceeds 3 seconds | Google / Akamai |
| Conversion rate | -40 to -50% when LCP goes from 2s to 4-5s | Blue Triangle |
| Load abandonment | -76% after LCP optimisation (Agrofy) | web.dev |
| Overall bounce rate | -43% after LCP + CLS optimisation (Economic Times) | web.dev |
In short: poor Core Web Vitals do not just lower your Google position. They drive away the visitors who arrive anyway.
A site that passes all three Core Web Vitals thresholds loses 24% fewer visitors than one that fails them. This is not an SEO advantage — it is a business advantage.
Google data, confirmed by web.dev case studies.How to check your scores
You do not need to open a terminal. Three free tools are enough:
Open the Core Web Vitals report. It groups your pages by good / needs improvement / poor, based on real data.
Test a specific URL. The top score is a lab test. The "Field Data" section shows real users.
F12 → Lighthouse tab → Generate report. Instant result, but it is a lab test — not real-world data.
The difference between lab data and field data matters. A Lighthouse test simulates a page load. Field data (in Search Console and PageSpeed Insights) measures what your real visitors experience. Google uses field data for ranking — not the Lighthouse score.
If your Lighthouse is 95 but your field data is “poor”, the field data is what counts.
Go to pagespeed.web.dev, paste your homepage URL, and look only at the “Core Web Vitals Assessment” section at the top. Three green indicators = all good. One orange or red indicator = action needed.
Why Astro sites pass all three thresholds by default
This is not magic. It is architecture.
An Astro site generates static HTML at build time. When a visitor arrives, the server sends a ready-made HTML page — not a JavaScript framework that has to rebuild the page inside the browser.
In practice:
- LCP → The page is pure HTML. No JavaScript to execute before displaying content. On the sites we deliver, median LCP is under 1.2 seconds.
- INP → Zero JavaScript shipped by default. No script blocking the browser. On pages without interactivity, measured INP is 0 ms.
- CLS → Astro optimises images at build time (declared dimensions, WebP formats, responsive). Nothing shifts during loading. Measured CLS at 0 across our deployments.
The Astro sites we deliver at Astro4B score 95 to 100 on Lighthouse Performance. That is not a goal — it is a consequence of the architecture.
What to do if your scores are bad
Your site is in the red? Here are the actions ranked by impact, no code required:
To improve LCP:
- Compress your images (WebP format, no files above 200 KB)
- Reduce the number of active WordPress plugins
- Move to faster hosting (or add a CDN like Cloudflare)
To improve INP:
- Disable non-essential JavaScript plugins (sliders, popups, chatbots)
- Defer loading of third-party scripts (analytics, ad pixels)
- If the problem persists despite these measures, the cause is structural — tied to WordPress’s server + client architecture, not its configuration
To improve CLS:
- Add dimensions (width × height) to all your images
- Reserve space for adverts and embeds
- Avoid late-loading web fonts (or preload them)
If your WordPress site scores below 60 on Lighthouse Performance despite image optimisation and plugin reduction, the problem is no longer configuration. It is architecture — PHP on the server, JavaScript on the client, a database query on every request. No caching plugin fixes that for good.
What Core Web Vitals do not measure
Let’s keep perspective. Core Web Vitals do not measure:
- Content quality (which remains the most important ranking factor)
- Keyword relevance
- Backlink quality
- Search intent
A site with mediocre content and perfect Core Web Vitals will not rank. But a site with excellent content and poor Core Web Vitals leaves money on the table — in SEO and in conversions.
Paste your URL into PageSpeed Insights — the diagnosis takes 30 seconds. If your Core Web Vitals are in the red and optimisation has reached its limits, build your project in the configurator: you will see what a 95+ Lighthouse site would cost, same features.