LCP, CLS, INP — Core Web Vitals explained
Related service Websites, web apps & online shops
DEFINITION
Google's three main performance metrics weighted heavily in Search ranking. LCP (Largest Contentful Paint): time for the largest image / text block to render — target under 2.5s on mobile. CLS (Cumulative Layout Shift): how much content moves during load — target under 0.1. INP (Interaction to Next Paint): from click to visible response — target under 200ms. Hungarian e-commerce ranking depends on these post-2024. Measured by PageSpeed Insights, Lighthouse, Chrome User Experience Report (CrUX). 90+ on all three.
- SSR (Server-Side Rendering)→
HTML rendered by the server per-request, fresh for every user. Ideal for dynamic content (dashboards), but slower than SSG.
- SSG (Static Site Generation)→
Pages are produced at build time as HTML and served from a CDN. Near-zero TTFB. DField's own site runs this way across 111+ pages.
- ISR (Incremental Static Regeneration)→
SSG + timed regeneration: the HTML is static but regenerates on a schedule. Ideal for blog content · freshness with CDN speed.
- Edge rendering→
Code runs at the CDN edge closest to the user (Cloudflare Workers, Vercel Edge). Dynamic responses with ~10–50 ms TTFB.
- RSC (React Server Components)→
React components that run exclusively on the server and never ship to the browser. Result: less client-side JS and faster hydration.
- LCP (Largest Contentful Paint)→
Time until the largest visible element paints. Google Core Web Vitals passes under 2.5s · we usually land marketing pages under 1s.
- 0126 Apr 2026Postgres BRIN vs. B-tree · when each wins→
- 0226 Apr 2026Server vs. Client Components in 2026 · the rule we apply→
- 0323 Apr 2026Bun 1.2 in production · what we keep, what we skip→
- 0422 Apr 2026Speculation Rules API in 2026 · near-instant nav, zero JS cost→
- 0522 Apr 2026pgvector at 10M+ rows · index choice, query patterns, real performance numbers→
- 0622 Apr 2026LLM prompt caching in production · a 60-80% cost cut→
- 0714 Feb 2026Core Web Vitals on Next.js: from 4.5s LCP to 0.9s in 3 weeks→