Development3 min read

Core Web Vitals: A Practical Performance Guide

Understand LCP, INP, and CLS, diagnose the bottleneck that matters, and build performance checks into publishing.

Core Web Vitals turn a vague idea such as 'the site feels slow' into three user-centered measurements: loading, responsiveness, and visual stability. The useful goal is not a perfect score; it is removing delays and movement that people can actually feel.

Understand the three measurements

Largest Contentful Paint measures how long it takes the largest visible content element to render. Interaction to Next Paint measures how responsive the page remains when a visitor clicks, taps, or types. Cumulative Layout Shift measures unexpected movement while the page is loading and changing.

These measurements are related but independent. Compressing a hero image can improve LCP without fixing a JavaScript-heavy interaction. Reserving image dimensions can reduce layout shift without making the server faster. Treat each metric as a clue about a different part of the experience.

Start with field data when possible

A laboratory test is useful for debugging because it is repeatable, but it represents one simulated visit. Field data represents real users across devices and networks. When the two disagree, investigate why instead of assuming one is wrong. A fast development laptop can hide problems that appear on mid-range phones or slow connections.

  • Check the affected URL or template rather than only the home page.
  • Separate mobile and desktop observations when the experience differs.
  • Look for a recurring cause before changing several systems at once.
  • Measure again after each meaningful fix so you know what actually helped.

Fix the largest bottleneck first

For LCP, common causes include slow server responses, oversized hero media, render-blocking styles, and content that only appears after client-side JavaScript runs. For INP, long JavaScript tasks, expensive state updates, and too much work inside event handlers are common suspects. For CLS, images without dimensions, late-loading banners, web fonts, and inserted UI are frequent causes.

Do not optimize tiny files while a multi-megabyte hero image or a blocking third-party script dominates the page. Performance work becomes much easier when improvements are ranked by user impact rather than by how easy the code change looks.

Build performance into publishing

  • Set width and height or aspect ratio for media.
  • Use responsive image sizes instead of sending desktop images to small screens.
  • Load non-critical code and third-party scripts only when needed.
  • Keep article and tool pages useful even before client-side enhancements finish loading.
  • Re-check important templates after analytics, advertising, chat, or experimentation scripts are added.

Sources and further reading

Primary documentation and references used to support this guide.