Core Web Vitals Fail: Causes and Fixes in 2026

Core Web Vitals fail for four reasons, in this order of frequency: unoptimised images, render-blocking scripts, slow hosting, and layout shifts. Passing means Largest Contentful Paint under 2.5 seconds, Interaction to Next Paint under 200 milliseconds, and Cumulative Layout Shift under 0.1 — measured as field data from real users, not lab scores. In our performance work at Havenoro, most sites clear the majority of their failures in four to eight hours of focused fixes.

This guide explains what each metric actually measures, the specific cause behind each failure, how to diagnose which one you have, and what the fix costs at real rates.

Core Web Vitals thresholds, in plain language

LCP (Largest Contentful Paint) — when your main content paints: pass under 2.5s. INP (Interaction to Next Paint) — how fast the page reacts to a click or tap: pass under 200ms. CLS (Cumulative Layout Shift) — how much content jumps around while loading: pass under 0.1. Between those numbers and the failure ceiling, Google labels the metric "needs improvement."

2.5s LCP threshold — the main content paint
200ms INP threshold — interaction responsiveness
0.1 CLS threshold — visual stability ceiling

INP replaced First Input Delay in March 2024 as the interaction metric, and it is stricter: FID only measured the delay to the first interaction, while INP measures the worst interaction across the whole visit. Sites that "passed" under FID often fail under INP without changing a line of code, which explains a wave of unexplained failures that year.

The four causes, ranked by how often we see them

1. Unoptimised images (the LCP killer)

The LCP element is most often the hero image. A 4-megabyte original JPEG served straight from the media library cannot paint in 2.5 seconds on a mid-range phone on LTE — full stop. The fix is mechanical: resize to about 1,600 pixels wide, convert to WebP or AVIF, serve responsive sizes with srcset, and lazy-load everything below the fold. Architecture, hospitality, and product sites are the usual offenders because the photography matters to the brand and nobody attached a delivery pipeline to it.

2. Render-blocking scripts and styles (the INP killer)

Tag managers, chat widgets, A/B testing tools, and heavy plugin stacks all inject JavaScript that the browser must download, parse, and execute before the page becomes interactive. Each third-party script is a small tax; twelve of them is a stalled page. The fix: defer what is not needed at first paint, load chat widgets on interaction or after idle, audit the tag manager quarterly, and remove anything without a measurable business purpose.

3. Slow hosting and uncached delivery

A $4-per-month shared host with no server-level caching will lose the LCP budget to time-to-first-byte before the browser even starts rendering. If TTFB exceeds roughly 800 milliseconds, no amount of front-end polish will save the metric. Managed hosting with page caching and a CDN — the $25 to $300 per month band in Havenoro's estimator — resolves this class of failure outright.

4. Layout shifts (the CLS killer)

Images and embeds without explicit width and height, banners injected above content after load, and web fonts that swap in with different metrics all push content around after the user has started reading. The fixes are small and specific: set intrinsic dimensions on every media element, reserve space for ads and cookie banners, and use font-display: swap with matched fallback metrics.

A site that fails Core Web Vitals is not usually broken. It is carrying a year of accumulated third-party decisions that nobody owned. Performance is a maintenance discipline, not a launch checklist item.

How to diagnose which failure you have

You need two tools, and they answer different questions:

  1. PageSpeed Insights — shows both lab data and the 28-day field window from the Chrome User Experience Report. Start with the field data; it is what Google ranks with. The "Largest Contentful Paint element" diagnostic tells you exactly which element is the LCP candidate and how long it took.
  2. Chrome DevTools Performance panel — records a load and shows which scripts block the main thread and for how long. A long red bar during an interaction is your INP problem, named by script.

Match the symptom to the cause: LCP over 2.5 seconds with a large image flagged → image pipeline. INP over 200 milliseconds with long tasks from third-party scripts → script audit. CLS over 0.1 with shift sources listed → dimension and banner fixes. All three failing with high TTFB → hosting. Most sites have one dominant cause, not four equal ones.

Original data: what the fixes cost

Havenoro bills performance work at $150 per hour. These are the typical fix scopes from our audits, with honest ranges — the wide end reflects legacy themes and plugin stacks, not worst-case padding:

Core Web Vitals fixes: typical hours and cost at $150/hour
Fix Metric helped Typical hours Cost
Image optimisation pipeline (resize, WebP, srcset, lazy-load) LCP, CLS 2–4 $300–$600
Third-party script audit and deferral INP, LCP 2–6 $300–$900
Caching and CDN setup LCP, TTFB 1–3 $150–$450
Layout shift fixes (dimensions, banners, fonts) CLS 1–3 $150–$450
Font loading optimisation LCP, CLS 1–2 $150–$300
Full audit + remediation, complex site All three 8–16 $1,200–$2,400

Havenoro performance engagements at $150/hour. Ranges reflect site complexity, not uncertainty. Hosting upgrade to the $75–$300/month tier is billed separately by the host.

A useful comparison: an image pipeline fix at $300 to $600 addresses the single most common LCP failure and pays for itself the first month it keeps a customer who would have bounced. A full $2,400 remediation is what happens when the audit is skipped for two years and every cause has compounded.

Common mistakes

  1. Optimising for the lab score instead of field data. Chasing 100/100 in Lighthouse while real users on real devices still wait is optimizing a screenshot. Fix what the 28-day field window says is failing.
  2. Adding a caching plugin and calling it done. Caching helps TTFB; it does nothing for a 4-megabyte hero or a chat widget that blocks the main thread. Match the fix to the diagnosed cause.
  3. Never auditing third-party scripts. Every tag, widget, and pixel you add is a standing tax on every future interaction. A quarterly script audit is cheaper than any single remediation project.
  4. Skipping performance in the redesign brief. Building the slow version again, beautifully, is the most expensive way to fail Core Web Vitals. Put performance budgets in the scope before design starts — it costs nothing at that stage and half the budget after launch.

Frequently asked questions

What are the Core Web Vitals thresholds for passing?

Largest Contentful Paint under 2.5 seconds, Interaction to Next Paint under 200 milliseconds, and Cumulative Layout Shift under 0.1. Values between 2.5 and 4 seconds for LCP, 200 and 500 milliseconds for INP, and 0.1 and 0.25 for CLS count as needing improvement; anything beyond fails.

What is the most common cause of a Core Web Vitals failure?

Unoptimised hero images. A full-resolution photograph in the page source is the single most frequent cause of poor Largest Contentful Paint, because the LCP element is usually that image. Resizing to 1,600 pixels wide and converting to WebP fixes most cases.

Do Core Web Vitals affect Google rankings?

Yes, as a small ranking factor within the broader page experience signal, applied to desktop and mobile search separately. More importantly, they affect conversion: slow pages lose visitors before your offer loads, which no ranking recovery can undo.

How long does it take to fix Core Web Vitals?

Most sites fix the majority of their failures in four to eight hours of focused work — image optimisation, script deferral, caching, and font loading. Complex cases involving custom code, third-party widgets, or legacy themes can run 15 to 30 hours at $150 per hour.

Why did my Core Web Vitals score drop after a plugin update?

Plugins and third-party scripts ship changes you did not review. A new chat widget, tag manager container, or A/B testing script can add render-blocking JavaScript overnight. Review third-party scripts quarterly and remove the ones with no measurable business use.

Is a good PageSpeed score the same as passing Core Web Vitals?

No. The PageSpeed Insights score is a lab-derived composite; Core Web Vitals are field data from real users on real devices over a 28-day window. A site can score 90 in the lab and fail in the field when traffic skews to slow mobile connections.

How much does Core Web Vitals optimization cost?

A typical performance engagement at Havenoro runs four to eight hours at $150 per hour — $600 to $1,200 — covering image optimisation, script deferral, caching, and font loading. Ongoing care plans that prevent regressions run $99 to $499 per month.

Related reading

Failing Core Web Vitals and not sure why? Let's talk — we will diagnose the dominant cause before quoting a single hour of work.

Yaroslav Nosovskyi is the CEO of Havenoro.com Inc., a Toronto website design and development company founded in 2020. He leads website builds and performance engagements across WordPress, Shopify, and custom stacks.

← Back to Blog