🌐 Performance

Core Web Vitals in 2026: A Practical Optimization Guide

INP replaced FID as the interactivity metric in 2024. Learn how to audit and fix LCP, INP, and CLS to keep your Google ranking healthy in 2026.

April 2026

Website performance metrics dashboard

Google's Core Web Vitals directly influence search rankings. In 2024 Interaction to Next Paint (INP) replaced First Input Delay, raising the bar for interactivity. Here is a field-tested checklist for hitting "Good" thresholds on all three signals.

LCP: get the hero image on the wire fast

Largest Contentful Paint measures how quickly your most prominent above-the-fold element loads. Use <link rel="preload"> for hero images, serve next-gen formats (AVIF/WebP), and host assets on a CDN close to your users.

Eliminate render-blocking resources with async/defer on non-critical scripts. Pre-render or server-render your HTML so the browser can start fetching images before JavaScript executes. Target LCP under 2.5 seconds.

INP: keep the main thread free

Interaction to Next Paint captures the worst-case delay between user input and the next visual update across the entire page lifecycle. Long tasks on the main thread are the primary culprit — break them up with scheduler.yield() or setTimeout chunking.

Audit with Chrome DevTools Performance panel and field data in Search Console. Common offenders include large JS bundles executing on interaction, synchronous state updates triggering deep re-renders, and third-party scripts hogging the thread.

CLS: lock layout before paint

Cumulative Layout Shift scores unexpected movement of visible elements. Always set explicit width and height on images and video embeds so the browser reserves space before the asset loads. Avoid inserting content above existing elements after DOMContentLoaded.

For web fonts, use font-display: swap or optional to prevent invisible text phases. Preconnect to font origins to reduce load time, and subset fonts to only the characters you need, shrinking file size significantly.

Key takeaways

  • Preload hero assets and serve AVIF/WebP from CDN for fast LCP
  • Break up long tasks with scheduler.yield() to improve INP
  • Set explicit image dimensions and avoid late DOM insertions to fix CLS
← Back to all posts