Performance

Core Web Vitals checklist for 2026

Pass LCP, INP, and CLS with a field-data-first checklist. Practical fixes for landing pages, WordPress, and B2B sites that cannot afford silent speed decay.

Maintenance and reliability work
On this page
  1. TL;DR
  2. Why the checklist exists
  3. Checklist
  4. Practical fix order
  5. Pre-release smoke checks
  6. When to get help
  7. Common questions
Performance metrics dashboard highlighting LCP, INP, and CLS targets
TL;DR
  • 2026 targets (good): LCP under 2.5s, INP under 200ms, CLS under 0.1. Measure field data in Search Console or CrUX first. Use Lighthouse as a debug aid.
  • Fix the largest failing template first (home, service, or checkout), then set release budgets so third-party scripts do not undo the win.
  • LCP: server response, hero image, and render-blocking CSS/JS. INP: long tasks and heavy click handlers. CLS: reserved space for images, ads, and late fonts.
  • Pair this checklist with ongoing website performance work and a performance & SEO engagement when you need an owner.
Why the checklist exists

Core Web Vitals fail when teams chase lab scores and ignore field data.

Lighthouse on a quiet laptop is useful for debugging. Google rankings and real conversion care about what phones on real networks experience. Start with Search Console Core Web Vitals or CrUX by URL group, then open DevTools on the worst template.

In 2026 the three metrics that matter for most B2B and WordPress sites are still LCP (largest contentful paint), INP (interaction to next paint), and CLS (cumulative layout shift). Passing means the 75th percentile of field data is in the "good" range. A single green lab run is insufficient on its own.

This checklist is ordered by impact. Do not polish favicon compression while the hero image is 1.8 MB and the server spends 1.2 seconds before first byte.

Passing means the 75th percentile of field data is good. A single green lab run is insufficient on its own.
Good thresholds (2026)
<2.5s
LCP: largest contentful paint for the main above-the-fold element.
<200ms
INP: interaction to next paint across clicks, taps, and key presses.
<0.1
CLS: cumulative layout shift from late images, ads, banners, and fonts.
Checklist

Twelve controls that keep LCP, INP, and CLS in the good range.

Field data segmented by page template in a performance report
01

Segment field data by template

Split home, listing, article, service, and checkout. Fix the template that fails for the most traffic or revenue first. A green blog post does not save a slow product page.

Server timing chart showing time to first byte improvements
02

Cut server response time (TTFB)

Aim for a fast HTML response on the critical templates. Use edge caching, a nearby origin, and lean CMS queries. Slow TTFB makes LCP almost impossible to fix in the browser alone.

Hero image marked as LCP element with optimised delivery
03

Optimise the LCP element

Identify the actual LCP node (often a hero image or H1 block). Serve a modern format (WebP/AVIF), correct dimensions, priority hint, and no lazy-load on the LCP image.

Waterfall showing render-blocking resources reduced
04

Remove render-blocking CSS and JS

Inline critical CSS for the first viewport where practical. Defer non-critical scripts. Kill unused page-builder and plugin CSS on templates that do not need them.

Third-party script budget list with owners and size limits
05

Budget third-party scripts

Tag managers, chat widgets, heatmaps, and A/B tools often own INP and LCP regressions. Assign an owner, a load condition, and a maximum KB/ms budget per script.

Main thread timeline with long tasks broken into smaller work
06

Break up long JavaScript tasks

INP suffers when the main thread is busy past 50ms on interaction. Split heavy bundles, defer non-essential hydration, and move analytics off the critical path.

Interactive form and CTA tested for interaction latency
07

Make clicks and forms responsive

Audit primary CTAs, menus, and form fields. Avoid expensive synchronous work in click handlers. Prefer CSS for open/close UI over large JS libraries when possible.

Layout with reserved aspect-ratio boxes preventing shift
08

Reserve space for media and embeds

Set width/height or aspect-ratio on images, video, and iframes. CLS spikes when late content pushes the layout. Never inject banners above existing content without reserved space.

Font loading strategy that avoids text layout shift
09

Load fonts without layout jump

Use font-display: swap or optional, subset files, and preload only the critical face. Match fallback metrics so text does not reflow when the webfont arrives.

CDN cache hit ratio improving repeat-visit performance
10

Cache and CDN for repeat visits

Cache static assets aggressively. HTML caching needs care for logged-in or personalised pages. A CDN close to users helps LCP on international traffic (US + DACH).

Performance budget gate failing a release with excess JavaScript
11

Set a release performance budget

Define max JS, image weight, and third-party count per template. Fail CI or staging review when a PR exceeds the budget. One unchecked script undoes a month of fixes.

Search Console Core Web Vitals trend after a release
12

Retest field data after release

Lab green is not done. Watch Search Console for 28-day field trends after each major change. Assign one person to own regressions.

Practical fix order

LCP first on marketing pages. INP first on tools and checkout.

LCP playbook: improve TTFB, shrink and prioritise the hero, cut blocking CSS/JS, then touch secondary images. For WordPress, page builders and unoptimised sliders are the usual LCP offenders.

INP playbook: find long tasks around the first interaction (menu, cookie banner, chat launcher). Delay third-party boot until after consent or idle. Avoid shipping a marketing site with a full SPA hydration cost.

CLS playbook: dimensions on every media asset, stable cookie banners, and no late "notification" bars that shove content down. Ads and embeds need placeholders with the final height.

For deeper metric context (especially INP), see Core Web Vitals and INP. For budgets as an operating habit, see performance budgets explained.

Pre-release smoke checks

Run these before you call the sprint done.

Field data (or at least mobile throttled lab) checked on the money template as well as the homepage.
LCP element identified in Performance panel; image not lazy-loaded.
No new third-party script without an owner and budget entry.
Cookie banner and chat widget measured for INP impact on first tap.
Images and embeds have dimensions; fonts do not cause a visible jump.
Search Console URL group scheduled for review 2 to 4 weeks after release.
When to get help

Own the metric, or hire someone who will.

If performance work keeps bouncing between freelancers and plugin updates, put a single owner on field data and release budgets. That is the core of our website performance work and the performance & SEO service line.

Germany and US teams see the same three metrics. Hosting region and third-party stacks differ; the checklist does not.

Common questions

What people ask about Core Web Vitals in 2026.

What are the Core Web Vitals thresholds in 2026?

Good is LCP under 2.5 seconds, INP under 200 milliseconds, and CLS under 0.1 at the 75th percentile of field data. Needs improvement and poor bands sit above those lines.

Why is my Lighthouse score green but Search Console red?

Lighthouse is a lab simulation on one device and network. Search Console uses real-user (field) data across many devices. Fix field failures on the templates that carry traffic, then re-check after enough data accumulates.

How do I fix LCP on a WordPress site?

Find the LCP element, compress and correctly size the hero, stop lazy-loading it, reduce render-blocking CSS/JS from builders and plugins, and improve server or cache response time. Theme and host choice matter as much as image compression.

What causes a bad INP score?

Long JavaScript tasks on the main thread during clicks and taps: heavy frameworks, chat widgets, tag managers, and expensive event handlers. Break up work, defer non-critical scripts, and measure the first interaction users actually take.

How do I stop CLS from images and ads?

Reserve space with width/height or CSS aspect-ratio before the asset loads. Give ads and embeds a fixed placeholder height. Avoid inserting banners above existing content without reserved space.

Do Core Web Vitals still affect SEO in 2026?

They remain a ranking and quality signal, and they still affect conversion when pages feel slow. Treat them as a product quality control with budgets and owners. A one-off audit screenshot leaves the work unfinished.

Start here

Ready to talk.Send us the brief.

or book a 15-minute call or email us directly

Not sure where to start? Send the page, workflow, or backlog causing the problem. We will tell you whether it needs a scope call, a short diagnostic, or a different first step.