Core Web Vitals in 2026: the complete website speed checklist.
LCP, INP and CLS shape how fast your site feels, how it converts and how Google evaluates page experience. A field-tested checklist to reach the good thresholds and stay there.
A fast website is not a vanity metric. Speed decides whether a visitor sees your offer or the back button, whether a form feels trustworthy, and how Google’s page experience systems assess your pages. Core Web Vitals are the three measurements that turn “it feels slow” into numbers you can act on.
This is the checklist we use at RAIN Design Studio on every site we ship. It is built around the official thresholds, not wishful targets. A good site doesn’t need to load in under a second; it needs to pass the good thresholds for most real visitors on real phones.
The three Core Web Vitals and their thresholds
| Metric | What it measures | Good | Needs improvement | Poor |
|---|---|---|---|---|
| LCP, Largest Contentful Paint | Loading: when the main content appears | ≤ 2.5 s | 2.5–4.0 s | > 4.0 s |
| INP, Interaction to Next Paint | Responsiveness: delay between a tap or click and the next visual update | ≤ 200 ms | 200–500 ms | > 500 ms |
| CLS, Cumulative Layout Shift | Visual stability: how much content jumps around | ≤ 0.1 | 0.1–0.25 | > 0.25 |
Two details matter more than most teams realize:
- Scores are assessed at the 75th percentile of page visits. Your typical visitor isn’t enough; three out of four must have a good experience.
- Mobile and desktop are assessed separately. Most failing sites fail on mobile.
Measure the right data first
Before optimizing anything, know which kind of data you are looking at.
- Field data comes from real users. Google’s Chrome UX Report (CrUX) aggregates it over a rolling 28-day window, and it powers the Core Web Vitals report in Google Search Console and the top section of PageSpeed Insights.
- Lab data comes from a controlled test, such as Lighthouse or the Chrome DevTools Performance panel. It’s ideal for debugging but doesn’t capture real interactions.
- Your own RUM (real-user monitoring), for example with the open-source
web-vitalsJavaScript library, tells you which pages, devices and interactions are actually slow.
A practical rule: diagnose in the lab, judge in the field. And remember that fixes take up to 28 days to show fully in CrUX.
LCP checklist: make the main content appear fast
The LCP element is usually a hero image, a large heading or a video poster.
- Fast server response. Serve HTML from a CDN or static hosting, and cache aggressively. A slow time to first byte delays everything after it.
- Don’t lazy-load the LCP image. Give it
fetchpriority="high"and make sure it is discoverable in the HTML, not injected by JavaScript. - Use modern formats and right-sized images. AVIF or WebP, with
srcsetandsizesso phones don’t download desktop images. - Avoid render-blocking resources. Inline critical CSS, defer non-critical scripts, and keep third-party tags out of the critical path.
- Load fonts carefully. Self-host, subset, preload the one or two files that matter, and use
font-display: swaporoptional. - Ship less JavaScript. Content that depends on a client-side framework to render will always be slower than HTML that arrives ready.
INP checklist: respond to every interaction quickly
INP replaced First Input Delay in March 2024 and is now the metric most sites struggle with, because it covers every interaction in the visit.
- Break up long tasks. Any main-thread task over 50 ms delays input. Split work into chunks and yield to the browser, for example with
scheduler.yield()where supported orsetTimeoutas a fallback. - Give immediate visual feedback. Update the UI first, then do the expensive work.
- Audit third-party scripts. Chat widgets, tag managers, A/B testing and heatmap tools are frequent INP offenders. Load them after the page is interactive, or not at all.
- Keep the DOM lean. Very large DOMs make every style recalculation and layout more expensive.
- Hydrate only what is interactive. Island architectures, such as Astro’s, ship JavaScript only for the components that need it.
- Debounce expensive handlers on input, scroll and resize.
CLS checklist: keep the layout still
- Set
widthandheight(oraspect-ratio) on every image, video and iframe. - Reserve space for embeds, ads and cookie banners before they load.
- Never insert content above existing content unless it’s a response to a user action.
- Match fallback fonts to web fonts using
size-adjustand related descriptors, to reduce reflow when the font swaps. - Animate with
transformandopacity, not properties liketop,heightormargin. - Keep pages eligible for the back/forward cache so returning visitors get instant, stable restores.
The full speed checklist at a glance
| Area | Check | Main metric |
|---|---|---|
| Hosting | Static or CDN-served HTML, compression, caching headers | LCP |
| Images | AVIF/WebP, responsive srcset, dimensions set, LCP image not lazy-loaded |
LCP, CLS |
| Fonts | Self-hosted, subset, preloaded, metric-matched fallbacks | LCP, CLS |
| CSS | Critical CSS inlined, unused CSS removed | LCP |
| JavaScript | Minimal by default, islands for interactivity, long tasks split | INP, LCP |
| Third parties | Audited, deferred, removed if unused | INP, LCP |
| Layout | Reserved space for embeds and banners, transform-based animation | CLS |
| Monitoring | Search Console, CrUX, RUM with web-vitals, CI performance budgets |
All |
Build speed in, don’t bolt it on
The cheapest performance work happens before launch. Retrofitting speed onto a heavy theme with a dozen plugins is slow and fragile; choosing an architecture that is fast by default is not.
That is why most of the marketing sites we build at RAIN use Astro, which renders pages to static HTML and ships zero client JavaScript unless a component needs it. Our guide on what Astro is explains the model, and our Astro web development service describes how we use it. On the Media Progetti site, for example, 68 pages ship with JSON-LD, Pagefind search and a PWA on that same static foundation.
We also set Lighthouse performance budgets in CI on projects such as Origin Element. Treat budgets like these as guardrails that stop regressions, not as proof of field results; only real-user data tells you whether you pass.
Keep it fast after launch
Speed decays. New tracking scripts, larger images and extra widgets creep in month by month. To hold your scores:
- Review the Core Web Vitals report in Search Console monthly.
- Add a performance budget to CI so regressions fail the build.
- Require a quick performance check before adding any third-party script.
- Re-test key templates after every significant content or design change.
Talk to us about your site’s speed
RAIN Design Studio, based in Casablanca, builds websites with Core Web Vitals, semantic HTML and structured data treated as part of the design, not an afterthought. If your site is failing on mobile or you’re planning a rebuild, book a free 15-minute call. Custom projects start at $10,000, and a typical marketing site takes three to six weeks.
Frequently asked questions
Google's thresholds for a good experience are a Largest Contentful Paint of 2.5 seconds or less, an Interaction to Next Paint of 200 milliseconds or less, and a Cumulative Layout Shift of 0.1 or less. They are measured at the 75th percentile of real page visits, separately for mobile and desktop.
Core Web Vitals are part of the page experience signals that Google's ranking systems use, but relevance and content quality matter far more. Good scores won't rescue weak content, and no one can promise rankings from speed alone. They do reliably improve how fast a site feels to users.
Lighthouse is a lab test run on one simulated device and connection, while the Core Web Vitals assessment uses field data from real Chrome users over the previous 28 days. Real visitors have slower phones, worse networks and interact with the page, so field results can differ sharply from a lab score.
Interaction to Next Paint (INP) replaced First Input Delay as a Core Web Vital in March 2024. Unlike FID, which only measured the delay before the first interaction was handled, INP considers the responsiveness of interactions throughout the whole visit.
Keep reading.
Nearshore vs Offshore Development: How to Choose
7 min readNearshore vs offshore development compared: time zone overlap, cost, communication, control and IP, plus red flags, contract tips and where Morocco fits.
What is Astro? The web framework, explained
7 min readWhat is Astro? A plain guide to the Astro framework: islands architecture, zero-JS static output, content collections, SSR, and when to choose it over Next.js.
What is Generative Engine Optimization (GEO)?
7 min readWhat is generative engine optimization? A clear definition of GEO, its research origin, GEO vs SEO, practical techniques, how to measure it, and common myths.
Let's build what's next.
Custom projects from $10,000, monthly plans from $7,500. Kickoff within 3–5 business days.