FIX EACH CORE WEB VITAL

Three metrics, three different jobs. The specific fixes that move each one, without the theory dump.

Performance & Core Web Vitals supporting 3 min read reviewed 25 jul 2026

← Guides All Performance & Core Web Vitals guides

on this page
  1. LCP: make the main thing load fast
  2. INP: keep the main thread free
  3. CLS: stop the page from jumping
  4. The mistakes that keep failing each
  5. How to pass all three
  6. A one-week rescue plan

LCP: make the main thing load fast

Largest Contentful Paint is usually a hero image, a big headline, or a poster frame. Find that element. Everything else is secondary until it is fast.

Levers that move LCP: compress and resize the resource, use a modern format, set dimensions, preload the exact URL when it is discoverable late, put it on a CDN, and reduce TTFB so the bytes can start. Avoid lazy-loading the LCP image. Avoid carousels that delay the real LCP node.

Server angle: if HTML itself is late, no image trick saves you. Fix cache and origin first.

Key takeaway: Name the LCP element, then make that file and its discovery path boringly fast.

INP: keep the main thread free

Interaction to Next Paint cares about how quickly the page responds after a tap or click. Heavy JavaScript on the main thread is the usual villain: big hydration, expensive handlers, third-party scripts that run forever.

Levers: delete or defer third parties, split handlers, avoid large synchronous components on marketing pages, prefer server-rendered HTML with small islands, and test on a real mid-tier Android device, not only a desktop throttling preset.

Key takeaway: INP improves when you remove work from the main thread, not when you micro-optimise a CSS transition.

CLS: stop the page from jumping

Cumulative Layout Shift is visual instability. Images without dimensions, fonts that swap late and resize text, ads and embeds that open a hole in the layout, banners injected above content.

Levers: width and height or CSS aspect-ratio on media, reserved slots for ads, font-display strategies that do not detonate layout, and no late-loading UI above existing content. Prefer transforming existing space over inserting new blocks at the top.

Key takeaway: If something appears later, reserve its space earlier.

The mistakes that keep failing each

MetricCommon missBetter move
LCPLazy-loading the heroEager + preload the real LCP URL
LCPOptimising a non-LCP imageIdentify the LCP node first
INPBlaming CSS animationsCut JS and third parties
INPTesting only on desktopUse a mid-tier phone
CLSIgnoring font metricsSubset fonts, reserve space
CLSCookie banners without spaceReserve or overlay carefully

Key takeaway: Most repeat failures are process mistakes, not missing micro-optimisations.

How to pass all three

Order of operations on a failing site: clear LCP, then INP, then CLS. Re-measure field data between steps. Use the CWV checklist as the launch gate and the slow-site guide when you still cannot tell server from front end.

Passing all three at the 75th percentile on mobile is enough. Do not hold a release hostage for lab 100s once field data is healthy.

Key takeaway: Clear LCP first. INP and CLS are easier once the main content path is honest.

A one-week rescue plan

Day 1: pull field data, name the LCP element on the top three templates, list every third-party script with an owner. Day 2 and 3: ship the LCP media and discovery fixes only. Day 4: remove or defer the worst third parties and re-check INP on a phone. Day 5: reserve space for the CLS offenders you can see in the field experience. Day 6 and 7: re-measure, document what remains, and decide whether the leftover work is launch-blocking.

That week beats a month of mixed refactors because each day has one metric and one evidence loop. If LCP is still red after day 3, do not start a design system cleanup. Stay on the LCP element until it moves.

Key takeaway: One metric per day with a re-measure beats a mixed performance backlog.

WHEN YOU ARE READY TO TALK

If you are mid-build on something this guide touches and want a second pair of eyes, the fastest path is a 30-minute call.

BOOK YOUR 30-MIN CALL