HelpWithWebGet Help Now
← Back to Blog
Speed7 min read

Core Web Vitals Failing? Here's How to Pass

Google marks your site as “Poor” in Core Web Vitals? Here's what LCP, CLS, and INP actually mean — and how to fix each one.

ByDino Bartolome

Google now uses Core Web Vitals as a ranking factor. If your site fails them, you're quietly losing search traffic to competitors who pass. Here's what each metric means in plain English — and the real fixes.

The three metrics

1. LCP (Largest Contentful Paint) What it measures: How long until the biggest visible element (usually a hero image or heading) finishes loading. Target: Under 2.5 seconds.

Fails when: Hero images are huge, CSS blocks rendering, or the server is slow.

2. INP (Interaction to Next Paint) — replaced FID in 2024 What it measures: How fast the page responds when a user clicks or taps. Target: Under 200ms.

Fails when: JavaScript is doing too much on the main thread, especially on button clicks.

3. CLS (Cumulative Layout Shift) What it measures: How much the page jumps around while loading (annoying!). Target: Under 0.1.

Fails when: Images have no declared dimensions, ads load and push content down, fonts swap mid-render.

Fixing LCP

  1. Find your LCP element: Chrome DevTools → Performance panel → record a reload
  2. Optimize it: If it's an image — compress, use WebP, serve the right size
  3. Preload it: <link rel="preload" as="image" href="/hero.webp">
  4. Remove render-blocking resources: Move JS to end of body, inline critical CSS
  5. Upgrade to a faster host if TTFB is slow

Fixing INP

  1. Find slow interactions: DevTools → Performance Insights → "Interactions"
  2. Break up long tasks: Split JS work into chunks with setTimeout or requestIdleCallback
  3. Remove heavy third-party scripts: Chat widgets, analytics, ad scripts are common culprits
  4. Debounce input handlers: Especially on search bars and form fields
  5. Use web workers for heavy computation

Fixing CLS

  1. Set width and height on every image: <img src="..." width="800" height="600">
  2. Reserve space for ads: Fixed-size containers, not &ldquo;expand to fit&rdquo;
  3. Use `font-display: swap` with size-adjust CSS to match fallback font metrics
  4. Avoid injecting content above existing content after page load
  5. Never animate layout properties — use transform instead of top/left

How to test

  • PageSpeed Insights — gives you Core Web Vitals scores + specific recommendations
  • Chrome DevTools → Lighthouse — run locally on staging
  • Search Console → Core Web Vitals report — real user data from Chrome

The easy wins

  • Most sites can pass Core Web Vitals with:
  • Image optimization (WebP, proper sizing, lazy loading)
  • A CDN (Cloudflare free tier is enough)
  • Removing unused JavaScript
  • Adding width/height to images
  • Proper font loading

Need help?

I run full Core Web Vitals audits and make the specific fixes needed to pass — usually in a day or two. If your site is failing, send me the URL and I&apos;ll tell you exactly what&apos;s wrong.

Need Help With Your Website?

I fix these problems every day. Send me a message and I'll take a look.

Get Help Now