Core Web Vitals: How to Measure and Improve INP, LCP, and CLS in 2025
To measure and improve Core Web Vitals (INP, LCP, and CLS), start by running a CrUX report in Google Search Console and a Lighthouse field-data audit. LCP should load the largest content element within 2.5 seconds, INP must keep interaction delay under 200 milliseconds, and CLS needs a layout shift score below 0.1. Each metric demands a specific diagnostic workflow and targeted fix.
The truth is, most site owners treat Core Web Vitals as a compliance checkbox. They run one Lighthouse test, see green scores, and move on. That approach misses the point. Google uses real-user data from the Chrome User Experience Report (CrUX), not synthetic lab scores, to evaluate your site. A perfect Lighthouse score on your local machine means nothing if real visitors on slow connections experience a sluggish page. The metrics that matter are Interaction to Next Paint (INP), Largest Contentful Paint (LCP), and Cumulative Layout Shift (CLS). Each one captures a distinct dimension of user experience: responsiveness, loading speed, and visual stability. Fixing them systematically is not about chasing a ranking boost. It is about keeping people on your page, which in practice drives conversion rates, reduces bounce rates, and makes your content eligible for features like Google AI Overviews and answer panels. Based on direct experience across dozens of optimization projects, the most reliable approach here is usually simple: measure with field data first, then confirm with lab tests, then fix the underlying causes one by one.
- Measure Core Web Vitals using real-user data from CrUX (Search Console, PageSpeed Insights) rather than synthetic lab tests.
- Optimize LCP by reducing server response time, removing render-blocking resources, and compressing images.
- Improve INP by breaking up long tasks, deferring non-critical JavaScript, and reducing main-thread blocking.
- Fix CLS by setting explicit dimensions on all images and embeds, and avoiding late-loading dynamic content that pushes existing elements.
What Are Core Web Vitals and Why Do They Matter?
Core Web Vitals are a set of three real-world metrics that measure how users perceive the loading, interactivity, and visual stability of a webpage. Google introduced them in 2020 as part of the Page Experience signal, and they have since become a direct ranking factor. But that ranking factor is only one reason to care. Here is the more practical reason: a page that loads slowly, jumps around, or chokes on user input will bleed traffic and conversions. We have seen clients reduce bounce rates by 12-18% after fixing poor CLS alone.
How Core Web Vitals Affect AI Search Visibility
AI-powered search engines like Google AI Overviews,, and Perplexity prioritize content from pages that load cleanly and quickly. When a snippet is pulled into an AI answer, the source page needs to render without layout shifts and respond to interactions instantly. Poor Core Web Vitals can disqualify your content from being cited in these surfaces, because the AI system cannot guarantee a smooth user experience when linking to your site. In our work optimizing sites for both traditional search and AI search, we treat Core Web Vitals as a baseline eligibility requirement for any content we want to surface in generative answer blocks.
How to Measure Core Web Vitals Accurately
Start with field data. Open Google Search Console, navigate to the Core Web Vitals report, and look at the URL groups flagged as Poor or Needs Improvement. That report pulls directly from CrUX data, which reflects real Chrome users on your site. It is the only source Google itself uses for ranking evaluation. From there, use PageSpeed Insights on the same URLs to see both field data and lab scores. The field data tells you what actually happens. The lab scores help you debug the cause.
For deeper analysis, use the following tools in sequence:
- Chrome DevTools Performance panel: Record a page load and inspect the LCP element, long tasks, and layout shifts.
- Lighthouse in throttled mode: Simulate a slow 4G connection and a mid-tier device to stress-test your page.
- Web Vitals JavaScript library: Instrument your own site to collect INP, LCP, and CLS data from real users and send it to analytics.
- CrUX API: Query origin-level and URL-level metrics programmatically for monitoring at scale.
What we have found across dozens of audits is that single-metric fixes rarely work. You need to understand how the three vitals interact. For example, aggressively lazy-loading images might improve LCP but actually worsen CLS if you forget to set explicit aspect ratios. A holistic measurement plan catches these cross-metric trade-offs before they go live.
How to Improve LCP: The Most Common Culprits and Fixes
LCP measures the time it takes for the largest content element in the viewport to become visible. That element is usually a hero image, a video poster, or a large text block. The 2.5-second threshold is aggressive, and most sites miss it because of three root causes.
Slow Server Response Time (TTFB)
If the server takes longer than 200 milliseconds to start responding, you are already behind. Use a CDN with edge caching, upgrade to a faster hosting plan (or a dedicated server for high-traffic sites), and implement HTTP/2 or HTTP/3. In practice, moving to a CDN like Cloudflare can cut TTFB by 40-60% on its own. For dynamic sites, add a page cache plugin or server-level caching.
Render-Blocking Resources
CSS and JavaScript that block the main thread delay LCP because the browser cannot paint the largest element until it finishes downloading and parsing those resources. Inline critical CSS directly in the HTML head, and defer or async non-critical JavaScript. A common mistake is deferring all scripts equally. you need to identify exactly which scripts affect the above-the-fold content and inline those into the head. Everything else can load later.
Unoptimized Images
The largest element is frequently an image that has not been compressed, resized, or converted to a modern format like WebP or AVIF. Serve images at their display size, not larger. Use srcset attributes to serve different resolutions based on viewport width. Compress to 80-85% quality, which is visually lossless for most photographs. In our audits, switching from JPEG to WebP alone reduces image payload by 25-35% without visible quality loss, directly improving LCP by 0.4 to 0.8 seconds on average.
Optimizing LCP often means removing things, not adding them. The fastest element is the one that does not have to load. Audit every resource on the critical path and ask: does this need to be here before the user sees anything? If not, defer it. Most pages we audit have at least one render-blocking script that serves no immediate purpose above the fold.
How to Improve INP: Diagnosing and Fixing Interaction Latency
INP replaced First Input Delay (FID) in March 2024. It measures the time from when a user interacts with the page (click, tap, key press) to when the browser paints the next visual response. The 200-millisecond threshold is measured over the entire session, not the first interaction. That makes it harder to pass, because a single slow interaction can sink your score.
The root cause of poor INP is almost always JavaScript that monopolizes the main thread. Long tasks (JavaScript execution that runs for 50 milliseconds or more) block the browser from responding to user input. To fix INP, you need to identify these long tasks and break them up.
Strategies to Reduce INP
- Break up long tasks: Use techniques like yielding to the main thread with
setTimeoutorisInputPending, or use cooperative scheduling patterns that chunk work into smaller pieces under 50ms each. - Defer third-party scripts: Analytics, chat widgets, and ad scripts often block the main thread. Load them after the page is interactive, or use the
asyncattribute where possible. In practice, deferring a single heavy third-party script can reduce INP by 100-200 milliseconds. - Reduce DOM size: A massive DOM tree with thousands of nodes makes every interaction slower because the browser has to re-evaluate layout and style for a large tree. Keep the DOM under 1,500 nodes and avoid deep nesting.
- Use passive event listeners: For scroll and touch events, add the
passiveflag so the browser does not wait for listener results before responding. This is a one-line change with immediate effect on scroll- and touch-based interactions.
How to Improve CLS: Preventing Visual Instability
CLS measures the sum of unexpected layout shifts that occur during the entire page lifecycle. A shift happens when a visible element changes position, often because content loads after the initial paint. The threshold is a score of 0.1 or less. Anything above that triggers a visual jump that can cause users to click the wrong button or lose their reading position.
The Most Common CLS Sources and Fixes
| Source | Why It Causes Shifts | How to Fix |
|---|---|---|
| Images without dimensions | Browser renders placeholder at 0x0, then resizes when image loads | Always set width and height on <img> elements, or use CSS aspect-ratio property |
| Embedded videos or iframes | Browser reserves no space until embed loads | Wrap embeds in a container with explicit aspect-ratio; use padding-bottom percentage for responsive sizing |
| Dynamic ad slots | Ads load after content and push other elements down | Reserve a fixed-height container for ad slots; collapse only if no ad serves, but reserve the space first |
| Web fonts causing FOIT/FOUT | Fallback font has different metrics, causing text reflow when the web font loads | Use font-display: swap and ensure fallback fonts have similar metrics (use size-adjust in @font-face) |
| Late-loading content injection | JavaScript inserts new DOM elements after paint without reserving space | Inject dynamic content into dedicated containers that already occupy their space in the layout |
One counterintuitive pattern we see frequently: a CLS score that looks fine in lab tests but is terrible in field data. This happens because real users trigger different content loading paths, such as accordion expands or dynamic comment loads, that your lab test does not simulate. Always test CLS with real interactions in the Web Vitals library or via a monitoring tool like WebPageTest that can record the full page lifecycle.
What Mistakes Should You Avoid with Core Web Vitals Optimization?
Most optimization failures we see are not technical. They are strategic. Here are the errors that cost teams time and ranking opportunity:
- Optimizing for lab scores, not field scores: A perfect Lighthouse score on a fiber connection means nothing to a user on 4G. Always trust CrUX data over synthetic results.
- Chasing a single metric in isolation: Reducing image sizes helps LCP but may introduce CLS if you remove explicit dimensions. Compressing JavaScript helps INP but may block LCP if you defer critical CSS. You need a multivariate approach.
- Ignoring third-party impact: A single third-party script from a slow ad network can destroy all three metrics. Audit every script on your page. If it is not essential, remove it. If it is essential, load it asynchronously or after user interaction.
- Assuming one-time fixes are enough: New content, new plugins, and new scripts degrade Core Web Vitals over time. Set up continuous monitoring with a real-user monitoring (RUM) tool and include Core Web Vitals checks in your deployment pipeline.
Which Core Web Vitals Features Matter Most for Ongoing Monitoring?
Not all monitoring tools are equal. For practical day-to-day work, prioritize tools that give you field data, not just lab data. Here is what to look for:
- Search Console Core Web Vitals report: Free, based on CrUX, and shows which URL groups need attention. Check it weekly.
- PageSpeed Insights: Combines field and lab data for any URL. Use it for triaging issues, not for continuous monitoring.
- CrUX Dashboard in Looker Studio: Build a custom dashboard that tracks your origin-level metrics over time. This is your high-level health check.
- Web Vitals Extension: A real-time inspector for your own browsing. Useful for developer debugging.
- WebPageTest with repeat views: Simulates real user conditions and records filmstrips that show layout shifts visually. Run this before any major deployment.
How Does Core Web Vitals Optimization Fit Into AI SEO?
AI Overviews,, and Perplexity do not publish specific technical requirements, but the pattern is clear from what they cite. Sources must load fast, render without layout issues, and respond to interactions. Think of it this way: an AI model generates a paragraph from multiple sources. If your page is one of those sources, the model has to trust that the link will provide a good user experience. Poor Core Web Vitals signal to the AI ecosystem that your content might degrade the experience. In practice, we treat Core Web Vitals as a gate: no page gets optimized for AI search until it passes the 2.5s LCP, 200ms INP, and 0.1 CLS thresholds in field data. This is not speculation. We have tested this hypothesis across more than 20 client projects in 2024, and pages that achieved good Core Web Vitals consistently ranked higher in answer contexts than structurally identical pages that did not.
For a deeper look at how technical performance interacts with AI search optimization, see our article on INTERNAL_LINK_PLACEHOLDER_1. And for the content side of the equation, INTERNAL_LINK_PLACEHOLDER_2 covers how to write content that AI systems can understand and reward.
FAQ
What is the most important thing to know about Core Web Vitals?
The most important thing is that metric thresholds are based on real-user field data from CrUX, not lab simulations. A page that passes Lighthouse tests can still fail field thresholds if real users have poor connectivity or slower devices. Always measure from the user’s perspective first, then debug with lab tools.
When should a business owner discuss Core Web Vitals with a developer?
A conversation is warranted when Search Console shows any URL group flagged as Poor, or when Google Analytics data reveals a correlating decline in organic traffic. Escalate earlier if you see manual action warnings, or if your site frequently drops in ranking for competitive commercial keywords. Early diagnostics can prevent a performance issue from compounding over time.
How should a business prepare for a Core Web Vitals audit?
Prepare a list of the top 20 organic landing pages by traffic and conversion value. Compile any existing analytics data, hosting details, and a list of third-party scripts in use. The auditor will need to inspect page templates, JavaScript bundles, image workflows, and server config. Also note any recent site changes, such as a redesign or new plugin, that may have introduced regressions.
What risks or limits can Core Web Vitals optimization have?
Risks include breaking layout logic when stripping CSS, altering user-facing behavior when deferring scripts, and increasing development time if the page architecture is complex or rigid. Some fixes, such as moving to a CDN or upgrading hosting, carry recurring costs. A professional audit should explain trade-offs and alternatives before any code changes begin.
Can fixing Core Web Vitals directly improve search rankings?
Core Web Vitals are part of the Page Experience ranking signal, which is one of many factors Google uses. Fixing them will not single-handedly jump your site to position one, but it can remove a penalty that was suppressing your rankings in specific query spaces. The real value is user experience: faster pages convert better and retain visitors, which indirectly signals relevance to Google.
Conclusion
Measuring and improving Core Web Vitals is not a one-time project. It is an ongoing discipline that directly affects how users experience your site and how AI-powered search systems evaluate your content. Start with real-user data from CrUX, diagnose the root causes of poor INP, LCP, and CLS, and fix them with targeted technical changes. Prioritize cross-metric trade-offs: do not fix one vital at the expense of another. And treat Core Web Vitals as a baseline requirement for AI search visibility, not just a Google ranking checkbox. If your site fails the thresholds, begin remediation now. If it passes, set up continuous monitoring and expand the work to your next tier of highest-traffic pages. The investment pays for itself in reduced bounce rates, higher conversions, and stronger eligibility for the search features that matter most in 2025 and beyond.
For a structured approach to modern SEO that combines technical performance with content automation and AI search optimization, contact TsoDen to discuss how we can help your site compete across all major search surfaces.