Core Web Vitals are Google's three user-experience metrics that became ranking signals in 2021. The intro page covered what they are. This is the deep dive: exactly what each metric measures under the hood, what affects each one, and precisely how to fix them. By the end of this page, you should be able to look at a Core Web Vitals report and translate any failing metric into a specific fix.
Time from navigation start until the largest visible element in the viewport finishes rendering. The largest element is usually a hero image, a large heading block, or a video poster frame. LCP is Google's proxy for "how long until the page looks done to the user."
<link rel="preload" as="image" href="hero.webp">font-display: swap to avoid font-render blockingINP replaced FID in March 2024. It measures responsiveness across the entire user session, reporting the 75th percentile (or worst) interaction delay, the time from user input (click, tap, keypress) until the browser paints a visual response.
INP is harsher than FID because it looks at every interaction, not just the first.
scheduler.yield() or setTimeout)content-visibility: auto to skip off-screen renderingThe sum of all unexpected layout shifts during a page's lifetime. Penalizes pages where content jumps around while loading, causing misclicks and frustration. Each shift contributes to the score; good pages stay under 0.1.
width and height on every image, video, and iframefont-display: optional or preload fonts to avoid late-swap shiftsaspect-ratio for responsive images that must scaletransform: translate)Google uses field data for ranking. Optimize for what Chrome users actually experience, not for what your local Lighthouse reports.
Open Search Console. Find your worst-performing Core Web Vital. Pick the highest-traffic page in that bucket. Apply the specific fix for that metric from this page. Wait 28 days for field data to update. Repeat.
Next: structured data (JSON-LD), the machine-readable layer that unlocks rich SERP results.