The Core Web Vitals ship checklist
Our internal pre-launch checklist for every Revinco build: the items we never negotiate on.
- Every Revinco launch clears Core Web Vitals before it touches production.
- LCP under 1.8s, CLS under 0.05, INP under 200ms. Non-negotiable.
- The same handful of techniques works on every project: font strategy, lazy-loading, server components, deliberate client boundaries.
- The discipline is boring. The results aren't.
Why Core Web Vitals still matter
Core Web Vitals remain Google's most direct measurable signal for user experience. They also correlate strongly with conversion rate: fast sites convert better, and Google ranks them better. Ignoring CWV means leaving both rankings and revenue on the table.
LCP: the first thing that matters
Largest Contentful Paint needs to be under 1.8 seconds. The usual suspects: preload critical fonts, self-host when it helps, serve images at the correct size with proper aspect ratios, and never, ever let a third-party script block the render. Ship your hero image as priority and move on.
CLS: layouts that don't jump
Cumulative Layout Shift needs to stay under 0.05. Every image, iframe, and ad slot needs reserved space via width/height or aspect-ratio. Web fonts should load with size-adjust or font-display: optional. Nothing visible should ever reflow after the first paint.
INP: stay responsive
Interaction to Next Paint needs to be under 200ms. The best way to hit this is to ship less JavaScript. Use server components by default, treat every client component as a deliberate choice, and offload heavy work to Web Workers when you truly can't avoid it. Hydration is not free.
| Vital | Good | Needs improvement | Poor |
|---|---|---|---|
| LCP (Largest Contentful Paint) | ≤ 2.5s | 2.5s – 4s | > 4s |
| CLS (Cumulative Layout Shift) | ≤ 0.1 | 0.1 – 0.25 | > 0.25 |
| INP (Interaction to Next Paint) | ≤ 200ms | 200ms – 500ms | > 500ms |
The actual checklist
Before any Revinco project ships, we run through the same list: fonts preloaded and self-hosted where beneficial, all images sized with explicit dimensions, no render-blocking third-party scripts, server components by default, and a full run of Lighthouse + PageSpeed Insights on both mobile and desktop. If any vital goes yellow, we fix it before we hit deploy.
