ServicesFree AuditWorkInspirationBlogAbouthello@optimaflow.id
← All articles

Technical SEO · 2026-06-01

Core Web Vitals Explained (and How to Actually Pass Them)

Core Web Vitals are Google's LCP, INP, and CLS metrics. Learn the pass thresholds and the concrete fixes that actually move them.

Core Web Vitals Explained (and How to Actually Pass Them)

TL;DR

Core Web Vitals are three Google metrics that measure real-world page experience: Largest Contentful Paint (loading), Interaction to Next Paint (responsiveness), and Cumulative Layout Shift (visual stability). To pass, hit LCP under 2.5 seconds, INP under 200 milliseconds, and CLS under 0.1 for 75% of your visits, measured on real users.

Here is what each one actually tracks. LCP is how long until the biggest visible element (usually your hero image or headline) finishes rendering. INP measures the lag between a user tapping or clicking and the screen visibly responding. CLS scores how much your layout jumps around while loading. All three are judged on field data from real Chrome users, not a lab test, so a fast connection on your laptop tells you almost nothing.

To fix LCP, find your LCP element in PageSpeed Insights, then attack the delay in order: serve a smaller image (WebP or AVIF, correctly sized), add fetchpriority="high" to that image, and remove render-blocking CSS and fonts above it. Preload the hero image and self-host fonts with font-display: swap. On most sites, one oversized hero image is the entire problem, and compressing it from 1.5MB to 150KB drops LCP by a full second.

INP fails when JavaScript hogs the main thread. Audit your third-party scripts first, because chat widgets, heatmap tools, and ad tags are the usual culprits. Defer anything non-essential, break up long tasks, and load tracking scripts after interaction where you can. If a button feels slow after a click, that is INP, and the fix is almost always shipping less JavaScript, not more.

CLS is the cheapest win. Always set explicit width and height (or aspect-ratio) on images and video so the browser reserves space before they load. Reserve space for ads, embeds, and cookie banners instead of letting them push content down. Preload fonts to avoid the text reflow when a web font swaps in. A CLS of 0.1 or lower is usually one afternoon of adding dimensions to image tags.

Use two data sources, not one. PageSpeed Insights and Google Search Console's Core Web Vitals report show field data (real users, the number Google actually ranks on), while Lighthouse and Chrome DevTools give you lab data for debugging a single page. Field data updates on a 28-day rolling average, so after a fix, expect three to four weeks before your CrUX scores move. Install the web-vitals JavaScript library if you want live numbers sooner.

If you are on Shopify, most of your score comes down to your theme and apps. Every app you install injects scripts that hurt INP, so audit and delete ones you don't use. Pick a lightweight theme, compress product images before upload, and lazy-load anything below the fold. On WordPress, a caching plugin plus proper image sizing handles 80% of the work; you rarely need a dozen optimization plugins fighting each other.

Fix in priority order: CLS first (fastest, one afternoon), then LCP (highest impact on loading), then INP (hardest, needs a JavaScript audit). Don't chase a perfect 100 score. Passing means green thresholds on real users, and Core Web Vitals is only a tiebreaker in ranking, not the main event. Ship the fixes that keep visitors from bouncing, then move on to content and links.

Frequently asked

Are Core Web Vitals a Google ranking factor?

Yes, but a minor one. They act as a tiebreaker between pages of similar relevance, so strong content and links matter more than a perfect score.

Why does my page score well in Lighthouse but fail in Search Console?

Lighthouse runs a lab test on your machine, while Search Console reports real users on real devices and networks. The field data is what Google ranks on.

How long after fixing an issue will my score improve?

Field data uses a 28-day rolling average, so expect three to four weeks before Search Console and CrUX reflect your changes.

What replaced First Input Delay (FID)?

Interaction to Next Paint (INP) replaced FID in March 2024. INP measures responsiveness across all interactions on a page, not just the first one.

Free, concrete, yours to keep

Want this done for you — properly?

Get a free audit of your rankings and AI-answer presence. Real findings within days, no sales deck.

Get a free audit