Core Web Vitals 2026: LCP, INP, CLS and why your site might be losing rank
Google replaced FID with INP in March 2024 and tightened thresholds. Here are the exact numbers you need, how it's measured in México, and the 10 fixes that move the needle most.
Core Web Vitals are three metrics Google has used as a confirmed ranking factor since 2021. In March 2024 they swapped FID for INP — stricter and more realistic. If your site fails them, Google drops your ranking, especially on mobile (78% of Mexican traffic).
Official 2026 thresholds
| Metric | Good | Needs work | Bad |
|---|---|---|---|
| LCP (Largest Contentful Paint) | ≤2.5s | 2.5–4s | >4s |
| INP (Interaction to Next Paint) | ≤200ms | 200–500ms | >500ms |
| CLS (Cumulative Layout Shift) | ≤0.1 | 0.1–0.25 | >0.25 |
For Google to consider your site "passing", the 75th percentile (P75) of each metric must be green. That is, 75% of your real visits must have LCP ≤2.5s, not just the average. Measured via Chrome UX Report (CrUX), real Chrome data.
LCP — First impression counts
LCP measures how long the largest visible element takes to paint. In México, with variable 4G/5G mobile, average P75 LCP is 3.4s — above threshold. Common causes:
- Unoptimized hero image (serving 2MB JPG instead of 80KB WebP/AVIF).
- Web fonts blocking render — missing `font-display: swap`.
- Render-blocking CSS in <head> >50KB.
- Slow server (TTFB >800ms). Cheap shared hosting is the usual suspect.
- Missing `<link rel="preload">` on critical assets.
- Third-party plugins (chatbots, analytics) loading before hero.
INP — What's new in 2024
INP replaced FID on March 12, 2024. Measures latency between any interaction (tap, click, keyboard) and the visual response. Stricter because it captures the worst case of the whole session, not just the first interaction.
What kills INP on typical Mexican sites:
- Heavy JS on the main thread (~400ms task blocks EVERYTHING).
- Bad scroll listeners (no debounce/throttle).
- Old frameworks without code splitting (Angular 1, React 16 no lazy).
- Stacked WordPress plugins (each adds 100–300ms).
- JS animations instead of CSS transforms (GPU is faster).
CLS — Don't move the layout
CLS measures how much content "jumps" during load. Classic bug: you start reading a paragraph and a cookie/ad banner pushes everything down so you mis-click. Causes:
- Images without `width` and `height` (or CSS `aspect-ratio`).
- Late cookie banners that push the hero.
- AdSense ads with no reserved space.
- Web fonts without `font-display: optional` causing FOUT.
- Conditional components without reserved height.
How to measure yours (free and well)
- PageSpeed Insights (pagespeed.web.dev) — gives real CrUX + Lighthouse lab. Fastest.
- Google Search Console → Core Web Vitals → your property. Real grouped data.
- Chrome DevTools → Lighthouse + Performance panel for debug.
- WebPageTest.org with "México 4G" profile to emulate local reality.
- DebugBear or SpeedCurve for continuous monitoring (~$20 USD/mo).
The 10 fixes that move the needle most
- Convert images to WebP + AVIF with next/image (or equivalent).
- Serve via CDN — Vercel/Cloudflare/Fastly. TTFB <200ms in México.
- Drop 60–80% of unused CSS (PurgeCSS, lightningcss).
- Lazy-load everything below the fold (images, iframes, third-party).
- Preload the LCP image and the primary font.
- Reserve space with `aspect-ratio` or width/height on EVERY image/video.
- Code-split by route + dynamic imports for heavy components.
- Move analytics and chat to defer/async — never block render.
- Compress with Brotli (not just gzip) on the server — 15–25% fewer bytes.
- Remove plugins/scripts without measurable ROI.
How much does this really weigh in ranking?
Google calls CWV "a small but real factor". In practice we see 5–15 position differences in competitive SERPs when a site goes from red to green. The compounding effect is bigger: less bouncing, more pages per session, more conversions — all signals Google also reads.
For an SMB, the upside is bounce rate. Sites with 4s LCP bounce ~32%; with 2s LCP, ~9% (Google internal study via web.dev). That difference moves more leads than any Ads campaign. We build with these metrics as a requirement, not a patch: web development and ongoing maintenance so they don't decay over time.