Get a Proposal

Websites

Core Web Vitals Explained: What LCP, INP and CLS Mean for Your Site and How to Fix Each One

Core web vitals are three Google metrics that measure real visitors' experience of a page: Largest Contentful Paint (loading), Interaction to Next Paint (responsiveness) and Cumulative Layout Shift (visual stability). A page passes when at least 75% of visits score LCP of 2.5 seconds or less, INP of 200 milliseconds or less and CLS of 0.1 or less. This guide shows how to find what is failing and fix it.

Core web vitals gauges for loading, responsiveness and visual stability beside a laptop showing a fast page
LCP, INP and CLS each measure a different part of how a page feels to a real visitor.

Key takeaways

  • The three metrics are LCP, INP and CLS. INP replaced First Input Delay as a Core Web Vital on March 12, 2024.
  • Google judges the 75th percentile of real visits, separately for mobile and desktop. Lab scores are for diagnosis, not the verdict.
  • Most failures trace back to a short list: a heavy hero image, too many third-party scripts, page-builder bloat and images without dimensions.
  • Good scores help, but Google says relevance still comes first. Fix vitals because slow pages lose customers, not to chase a perfect number.
  • After a fix, Search Console watches for 28 days before it confirms the issue is resolved. Plan for it.

What core web vitals are, in one table

Core web vitals are the subset of Google's Web Vitals that apply to every page and are measured from real Chrome users. Google's Web Vitals overview on web.dev defines the three metrics and the targets. Here is everything you need on one screen.

MetricWhat it measuresGoodNeeds improvementPoor
LCP, Largest Contentful PaintHow long until the biggest image or text block is visible2.5 s or lessOver 2.5 s up to 4.0 sOver 4.0 s
INP, Interaction to Next PaintHow quickly the page responds when someone taps, clicks or types200 ms or lessOver 200 ms up to 500 msOver 500 ms
CLS, Cumulative Layout ShiftHow much the layout jumps while loading0.1 or lessOver 0.1 up to 0.25Over 0.25

Two details matter more than people think. First, the verdict uses the 75th percentile, so your slowest quarter of visits decides the grade. Second, mobile and desktop are graded separately, and mobile is almost always the one that fails.

If you remember an older acronym, FID, it is gone. Google's announcement that INP replaced FID on March 12, 2024 made INP the responsiveness metric. INP is stricter because it looks at interactions across the whole visit, not just the first one.

How much core web vitals matter for SEO and sales

They matter, but less than relevance for rankings and more than most owners think for sales. Google says it recommends good vitals for success in Search, and also that relevance comes first.

Google's page experience documentation states that Search always seeks to show the most relevant content, even if the page experience is sub-par, and that good scores in its reports do not mean a page will rank at the top. It also warns that chasing a perfect score purely for SEO may not be the best use of time.

So here is how we frame it for clients:

  • When it matters most: competitive searches where several pages are equally helpful. Page experience can be the tiebreaker.
  • When it matters less: you are the only real answer for a query. A slow page will still rank, it will just convert worse.
  • When it always matters: paid traffic. You pay for every click, and a visitor who leaves before the page draws is money gone.

We fix vitals because slow, jumpy pages lose customers. Ranking is a side benefit. If conversions are the real goal, pair this guide with our article on how to improve website conversion rate.

Field data vs lab data: read the right number

Field data comes from real visitors and decides whether you pass. Lab data comes from a simulated test and tells you why. Start with field data, then use lab tools to find the cause.

ToolData typeUse it for
Search Console, Core Web Vitals reportField (Chrome UX Report)Which groups of pages fail, on mobile or desktop
PageSpeed Insights, top sectionField, when the page has enough trafficThe real 75th percentile for one URL or the whole origin
PageSpeed Insights, Lighthouse sectionLabA list of likely causes and opportunities
Chrome DevTools, Performance panelLab, on your machineFinding the exact script or element at fault

Google's help page for the Search Console Core Web Vitals report explains that the data comes from the Chrome UX Report, that URLs are grouped by similar experience, and that a group takes the status of its slowest metric. A low-traffic site may show no data at all. In that case, rely on PageSpeed Insights at the origin level and on lab tests.

The most common mistake we see: an owner runs a Lighthouse test, sees 98, and assumes the site passes. Then Search Console shows mobile failing because real phones on real networks are slower than the test.

The core web vitals triage process our developers follow

Find the failing metric, find the template it fails on, find the single biggest cause, fix it, then measure again. Work one cause at a time so you know what worked.

  1. Open Search Console. Note which metric fails and whether it is mobile, desktop or both.
  2. Open the example URLs. Failures usually cluster by template: all blog posts, all service pages, the homepage.
  3. Run PageSpeed Insights on one example per template. Read the field numbers first, the diagnostics second.
  4. Identify the element. For LCP, PageSpeed names the LCP element. For CLS, it lists the shifting elements. For INP, record an interaction in DevTools and look for long tasks.
  5. Fix the top cause on the template, not page by page.
  6. Retest in the lab to confirm the fix, then click Validate fix in Search Console.
  7. Wait. Search Console monitors for 28 days before it marks the issue fixed.

This is the same process our technical SEO audit uses, and it sits alongside the rest of our technical SEO checklist.

How to fix LCP (loading)

LCP is usually slow because the main image is too big, discovered too late, or waiting on a slow server. Fix the hero element first. It is the biggest win on most sites.

According to web.dev's LCP article, the LCP element can be an image, the poster of a video, an element with a CSS background image, or a block of text. On most small business sites it is the hero photo or the headline.

LCP fixes in the order we try them

  1. Right-size the hero image. Serve WebP or AVIF, sized for the screen, with responsive srcset. A 4,000-pixel photo on a phone is the classic culprit.
  2. Load it early. Use a normal img tag rather than a CSS background, add fetchpriority="high", and never lazy-load the hero.
  3. Cut render-blocking files. Inline the critical CSS, defer scripts the first screen does not need.
  4. Fix the server. If time to first byte is slow, add page caching and a CDN, or move off overcrowded shared hosting.
  5. Drop the slider. Rotating hero carousels delay the main image and rarely get clicked past slide one.

How to fix INP (responsiveness)

INP fails when JavaScript keeps the browser busy, so taps and clicks wait in line. The fix is less JavaScript, smaller tasks and fewer third-party tags.

web.dev's INP article sets good at 200 milliseconds or less and poor above 500. On local business sites we rarely find the problem in the site's own code. It is usually the pile of tools added over the years.

Third-party script audit

  • List every tag in your tag manager and the page source: chat widgets, heatmaps, review badges, pixels, popups.
  • Mark each one: still used, still owned by someone, still reported on.
  • Delete anything with a no. Old pixels from a past agency are common.
  • Delay the rest until after the first interaction or until the browser is idle.
  • Replace heavy embeds, like a full chat app, with a lightweight button that loads it on click.

After the audit, look at your own code. Break long tasks into smaller pieces, avoid heavy work in click handlers, and give instant visual feedback, like a button state change, before the slow work runs. Page builders often ship large script bundles on every page, which is one reason we explain why we hand-code websites.

How to fix CLS (visual stability)

CLS comes from content that loads without reserved space and then pushes everything down. Reserve the space and the shift disappears.

web.dev's CLS article lists the usual causes: images or videos without dimensions, web fonts that render larger or smaller than their fallback, ads and widgets that resize, and content injected above existing content. It also explains that CLS takes the worst burst of shifts in a session, so one bad banner can sink a page.

CLS fixes that solve most cases

  • Add width and height to every image and video, or set an aspect-ratio in CSS.
  • Give cookie banners, promo bars and chat bubbles fixed positions that overlay rather than push content.
  • Reserve a fixed-height slot for any embed, map or review widget.
  • Preload your main web font and use a fallback with similar metrics so text does not jump when it swaps.
  • Never insert content above what the visitor is reading, unless they asked for it with a tap.

A symptom-to-fix decision table

Match what you see to the most likely cause, then start with the first fix in that row. This table covers the large majority of failures we diagnose on small and mid-sized business sites.

What you seeLikely causeFirst fix
LCP fails on mobile onlyOversized hero imageResponsive WebP images with srcset, priority loading
LCP fails on every templateSlow server or no cachingPage cache plus CDN, or better hosting
LCP fails on the homepage onlySlider or video heroOne static image with a poster frame
INP fails site-wideThird-party tags or builder scriptsScript audit, delay non-essential tags
INP fails on one pageA heavy form, filter or calculatorSplit long tasks, simplify the widget
CLS fails on blog postsImages without dimensions, ad slotsWidth and height on images, reserved slots
CLS fails on first visit onlyCookie banner or font swapOverlay banner, preloaded font with matched fallback

If a fix needs a developer, brief them with the metric, the device, three example URLs, the element PageSpeed names, and the result you expect. That one paragraph saves hours of back and forth.

A worked example: one failing service page, start to finish

Here is how the process plays out on a typical page. This is an illustrative example built from patterns we see often, not a specific client.

A home services company sees its service pages flagged poor for LCP on mobile in Search Console. Desktop passes. PageSpeed Insights shows a field LCP well above four seconds and names the LCP element: a full-width hero photo set as a CSS background.

What we would change, in order

  1. Move the hero from a CSS background to an img tag so the browser finds it in the HTML instead of waiting for the stylesheet.
  2. Export it as WebP at three widths and serve the right one with srcset. The phone version ends up a small fraction of the original file.
  3. Add fetchpriority="high" and remove the lazy-loading attribute a plugin had added to every image, including the hero.
  4. Defer the chat widget and the review carousel until the visitor scrolls or interacts.
  5. Retest in the lab, confirm the LCP element now paints early, and start validation in Search Console.

None of this touches the design. The page looks identical; it just shows up sooner. That is the usual story: the biggest gains come from how assets load, not from removing things customers care about.

Platform notes: WordPress, builders and hand-coded sites

Your platform sets your ceiling. A lean theme with good hosting can pass easily; a heavy builder theme with a dozen plugins fights you on every metric.

  • WordPress with a page builder: remove unused plugins first, then add a caching plugin and image optimization. Expect to hit a wall on INP if the builder loads large scripts everywhere.
  • Hosted builders: you control images, fonts, embeds and apps, not the core code. Keep apps and embeds to a minimum.
  • Hand-coded themes: you load only what each page uses, so passing is the starting point rather than the project.

When the cleanup costs more than the site is worth, a rebuild is cheaper. Our web development team builds hand-coded sites without page builders, and our website improvement service fixes existing sites when a rebuild is not the right call. Speed is only one part of the job: Joe Sale Photography's 50 SEO landing pages each score 99 to 100 in our own SEO scoring, and the Joe Sale Photography case study shows how lean templates make that repeatable.

Keep core web vitals passing: a monthly routine

Vitals drift. New plugins, new tracking tags and big uncompressed photos slowly undo the work, so check them every month.

  1. Open the Search Console Core Web Vitals report and note any new poor or needs improvement groups.
  2. Run PageSpeed Insights on the homepage and your top two service pages, mobile first.
  3. Review any tag or plugin added in the last 30 days.
  4. Check that new images were compressed and sized before upload.
  5. Write the three numbers down. A trend line catches problems a single test misses.

Our website care plans include this check, and UnifiedIQ scores every page for SEO so problems surface before rankings move. For businesses in our home markets, see web design in New Jersey or web design in Broward County, and browse all of our website services.

Core Web Vitals questions, answered

What are the three core web vitals?

Largest Contentful Paint measures loading, Interaction to Next Paint measures responsiveness, and Cumulative Layout Shift measures visual stability. Good targets are LCP of 2.5 seconds or less, INP of 200 milliseconds or less and CLS of 0.1 or less, at the 75th percentile of visits.

Is FID still a core web vital?

No. Interaction to Next Paint replaced First Input Delay on March 12, 2024. INP is stricter because it considers interactions throughout the visit rather than only the first one, so sites that passed FID can fail INP.

Why does PageSpeed Insights say 95 but Search Console says my site fails?

The 95 is a lab score from one simulated test. Search Console uses field data from real Chrome users over time, graded at the 75th percentile. Real phones and networks are slower than the test, so field data is the number that counts.

How long until Search Console shows my fix?

After you click Validate fix, Search Console monitors the affected URLs for 28 days. The issue is marked fixed only if it stays absent for the whole window, so expect about a month before the report confirms your work.

Will passing core web vitals raise my rankings?

It can help in competitive results, but Google says relevance comes first and that good scores do not mean a page will rank at the top. The bigger win is usually more visitors staying long enough to call or fill out a form.

Do I need a new website to pass?

Not always. Image, caching and script fixes solve many cases. If your theme or builder loads heavy code on every page, a rebuild can cost less than endless patching. Our website improvement team can tell you which applies.

Find out what is slowing your site

Our developers will review your field data, name the cause behind each failing metric and tell you whether a fix or a rebuild makes more sense.

Get a free proposal