Try for free
Speed & mobile6 min read

Slow website? Core Web Vitals explained, and how to fix them

Core Web Vitals are Google's measures of how fast, responsive and stable your pages feel to real visitors. Here's what each one means, how to check yours, why sites are usually slow, and the fixes that move the numbers.

Published Updated
Key takeaways
  • Three metrics: LCP (loading, 2.5s or less), INP (responsiveness, 200ms or less) and CLS (stability, 0.1 or less).
  • Google judges them on real visitors' data, at the 75th percentile, separately for mobile and desktop.
  • Most slow business sites come down to oversized images, too many scripts and slow hosting.
  • Fix by template, not page by page: one change to a template fixes every page that uses it.

What are Core Web Vitals?

Core Web Vitals are three measurements Google uses to describe the experience of loading and using a page: how quickly the main content appears, how quickly the page responds when someone interacts with it, and how much the layout jumps around while it loads.

They matter for two reasons. Google uses them as part of its page experience signals in ranking, though relevance and content quality matter far more. And they measure real frustration: a slow, jumpy page loses visitors before they read a word.

Metric What it measures Good Needs improvement Poor
Largest Contentful Paint (LCP) Loading: when the largest image or text block becomes visible 2.5s or less 2.5–4s Over 4s
Interaction to Next Paint (INP) Responsiveness: how quickly the page reacts to taps, clicks and key presses 200ms or less 200–500ms Over 500ms
Cumulative Layout Shift (CLS) Visual stability: how much content moves unexpectedly 0.1 or less 0.1–0.25 Over 0.25

INP replaced First Input Delay (FID) as a Core Web Vital in March 2024.

To pass, a page needs to be "Good" on all three, measured at the 75th percentile of real visits. In other words, three out of four visits must have a good experience. Mobile and desktop are assessed separately, and mobile is usually the harder one.

How to check your Core Web Vitals

There are two kinds of data, and the difference matters.

  • Field data comes from real Chrome users visiting your site (the Chrome User Experience Report). This is what Google uses. It needs enough traffic to be reported, and reflects the last 28 days.
  • Lab data comes from a simulated test, such as Lighthouse. It's useful for diagnosing problems and testing fixes, but it isn't what Google judges you on.
Tool Shows Use it to
Search Console, Core Web Vitals report Field data, grouped by similar URLs, for mobile and desktop See which page groups fail, and which metric
PageSpeed Insights Field data (if available) plus a Lighthouse lab test Diagnose a specific page and see suggested fixes
Chrome DevTools (Lighthouse and Performance tabs) Lab data Dig into what loads, when, and what blocks it

Start with Search Console. It groups pages that share a template, so you can see, for example, that every blog post has a poor LCP on mobile. Then test one example page from each failing group in PageSpeed Insights.

If your site doesn't get enough traffic for field data, use the lab results as your guide and aim for the same thresholds.

Why is my website slow?

Most slow business websites come down to the same handful of causes:

Cause Typical sign Usually affects
Oversized images Hero images several megabytes in size; slow LCP LCP
Too many scripts Chat widgets, trackers, sliders, page-builder code; sluggish taps INP, LCP
Slow hosting or no caching Slow server response (time to first byte) on every page LCP
Web fonts loading late Text appears late or swaps style LCP, CLS
Images and embeds without dimensions Content jumps as images load CLS
Banners and pop-ups inserted at the top The page shifts down after loading CLS
Heavy theme or page builder Large amounts of CSS and JavaScript on every page All three

If your site loads quickly for you but slowly for others, it's often because your browser has cached it, or you're near the server. Test in a private window, on a phone, using mobile data.

See exactly what's slowing your pages
NetNav checks speed and Core Web Vitals across your key pages, pinpoints the images, scripts and settings behind each problem, and ranks the fixes by impact.
See how it works

How to improve LCP (loading)

LCP is usually the hero image or the main heading at the top of the page.

  1. Compress and resize images. Serve images at the size they're displayed, in a modern format such as WebP or AVIF. A hero image rarely needs to be more than a few hundred kilobytes.
  2. Don't lazy-load the main image. Lazy loading is good for images further down the page, but the LCP image should load straight away. You can also mark it as high priority (fetchpriority="high").
  3. Speed up the server. Use page caching, a content delivery network (CDN) and decent hosting. A slow server delays everything else.
  4. Reduce render-blocking CSS and JavaScript. Load non-essential scripts later (defer or async), and remove what isn't used.
  5. Load fonts efficiently. Use fewer font files, host them yourself or preload the main one, and use font-display: swap.

How to improve INP (responsiveness)

Poor INP means the page is busy running JavaScript when someone taps or clicks.

  1. Remove scripts you don't need. Audit your tag manager and plugins: old tracking pixels, unused chat tools and duplicate analytics all add work.
  2. Delay third-party scripts such as chat widgets until the visitor interacts, or until after the page has loaded.
  3. Lighten heavy components: sliders, animations and complex menus often run a lot of code.
  4. Break up long tasks in custom JavaScript, so the browser can respond in between (a job for your developer).

How to improve CLS (stability)

  1. Set width and height on images, videos and iframes, so the browser reserves the space before they load.
  2. Reserve space for anything injected later, such as cookie banners, announcement bars and embeds. Banners that overlay the page don't cause shifts; ones that push content down do.
  3. Avoid inserting content above existing content after the page has loaded.
  4. Load fonts in a way that doesn't change text size dramatically when they swap in.

Fix by template, not page by page

Most sites have a few templates: homepage, service page, blog post, contact page. Core Web Vitals problems usually live in the template, not in individual pages, which is why Search Console groups URLs together. Fix the template once and every page using it improves.

A sensible order:

  1. The template with the most traffic that's failing on mobile
  2. The failing metric with the biggest gap from "Good"
  3. The biggest single cause for that metric (often one image or one script)

After deploying a fix, retest in PageSpeed Insights straight away (lab data), then use Validate fix in Search Console's report. Field data takes up to 28 days to reflect the change.

On WordPress, see our guide to speeding up WordPress for platform-specific fixes.

How much do Core Web Vitals matter for SEO?

They matter, but less than relevance and content. Google's guidance is that page experience signals help it choose between pages of similar relevance and quality; a great experience won't make up for a page that doesn't answer the search. Treat good Core Web Vitals as part of a well-run site, and because faster pages keep more visitors, not as a ranking shortcut.

Questions

What are the three Core Web Vitals?

Largest Contentful Paint (loading), Interaction to Next Paint (responsiveness) and Cumulative Layout Shift (visual stability). INP replaced First Input Delay in March 2024.

What is a good Core Web Vitals score?

LCP of 2.5 seconds or less, INP of 200 milliseconds or less, and CLS of 0.1 or less, for at least 75% of real visits, measured separately on mobile and desktop.

Why is my website so slow?

Most often: oversized images, too many third-party scripts, slow hosting without caching, or a heavy theme or page builder. Test a key page in PageSpeed Insights to see which applies.

How do I improve my website speed?

Compress and resize images, add caching and a CDN, remove unused scripts and plugins, delay third-party widgets, and set dimensions on images and embeds. Fix the templates your busiest pages use first.

How long does it take for Core Web Vitals to update?

Search Console's field data covers the previous 28 days, so improvements take up to four weeks to show fully. PageSpeed Insights lab tests show the effect of a fix immediately.

About the author
Bálint Székely
NetNav

Every guide is checked against the platform it describes before it’s published, and re-checked when the platform changes.

Sources: Google Search Central, "Understanding Core Web Vitals and Google search results"; web.dev, "Web Vitals"; web.dev, "Optimize Largest Contentful Paint"; web.dev, "Optimize Interaction to Next Paint"; web.dev, "Optimize Cumulative Layout Shift"; Search Console Help, "Core Web Vitals report".
Free audit, ready in 20 minutes

See what's holding your website back.

Enter your website. You'll get your score, your plan and the first things to fix.

Try for free
No expertise needed
Your Blueprint in 20 minutes
No credit card required