Back to Blog
Software

Slow Websites Lose Customers Quietly: Diagnosing and Improving Performance with Core Web Vitals

One study found that shaving just 0.1 seconds off mobile load time lifted retail conversions by 8.4%, which shows how quietly slow websites lose customers. This guide covers LCP, INP, and CLS thresholds, how to diagnose root causes, which fixes to make first, and how to keep performance from slipping.

POLYGLOTSOFT Tech Team2026-09-297 min read7
Web PerformanceCore Web VitalsLCPINPWebsite Optimization

Performance Is Not Just a Developer Metric

When a website is slow, customers rarely complain. They simply hit the back button and land on a competitor's site. According to *Milliseconds Make Millions*, a 2020 study by Deloitte and Google, improving mobile load speed by just 0.1 seconds lifted conversion rates by 8.4% for retail sites and 10.1% for travel sites. B2B companies are no exception. If a contact form loads late or a button responds a beat too slowly, sales opportunities disappear without leaving a trace.

Google also uses page experience, including Core Web Vitals, as a ranking signal. It doesn't outweigh content relevance, but when competing pages are otherwise comparable, it can be the tiebreaker.

Understanding the Three Core Web Vitals

| Metric | What it measures | Good | Needs improvement | Poor |

|--------|------------------|------|-------------------|------|

| LCP | Time until the largest content element renders | ≤ 2.5 s | ≤ 4 s | > 4 s |

| INP | How quickly the page responds to clicks and input | ≤ 200 ms | ≤ 500 ms | > 500 ms |

| CLS | How much the layout shifts unexpectedly | ≤ 0.1 | ≤ 0.25 | > 0.25 |

INP replaced FID in March 2024. Rather than looking only at the first input, it evaluates responsiveness across all interactions during a visit. Pages are assessed at the 75th percentile of visits, so at least three out of four visitors need a "good" experience for a page to pass.

Lab Data vs. Real-User Data

Lighthouse produces lab data under fixed device and network conditions. Search evaluation, however, relies on real-user Chrome data (CrUX) aggregated over the last 28 days. A page can score 90 on a developer's high-end laptop and still show an LCP above 4 seconds for visitors on budget Android phones. Always look at both.

Diagnosing by Root Cause

Large Images, Web Fonts, and Third-Party Scripts

The LCP element is usually a hero image. Uploading a 2 MB PNG as-is, or lazy-loading the LCP image itself, delays rendering significantly. Korean and other CJK web fonts can run to several megabytes per file, so subsetting is essential. Accumulated third-party scripts such as ads, chat widgets, and analytics tags become obvious once you group requests by domain in the Chrome DevTools Network and Performance panels.

Heavy JavaScript Bundles

Tasks that occupy the main thread for more than 50 ms (long tasks) are the main cause of poor INP. Use a bundle analyzer to check whether libraries needed on just one page have leaked into the shared bundle.

Slow Server Responses and Caching

If TTFB (time to first byte) exceeds 0.8 seconds, hitting your LCP target becomes difficult. Common culprits are pages that query the database on every request and static assets served without a `Cache-Control` header.

Fixes in Order of Impact

  • Optimize images: Convert to WebP or AVIF and serve viewport-appropriate sizes with `srcset`. Give the LCP image `fetchpriority="high"`, and lazy-load only images below the fold.
  • Clean up third parties: Remove unused tags and load chat and analytics scripts after the page becomes interactive. In Next.js, the `lazyOnload` strategy in `next/script` works well here.
  • Change your rendering strategy: Move pages that rarely change to static generation with periodic revalidation (ISR), and put them behind a CDN cache.
  • Reserve space: Set `width`/`height` or `aspect-ratio` on images, ads, and embeds, and use `font-display` to reduce shifts when fonts swap in.
  • For example, converting a single hero image from a 1.8 MB PNG to a 180 KB AVIF can often cut LCP by more than a second on slow mobile connections.

    Keeping It Fast After the Fix

    Performance doesn't stay fixed. Every new feature and marketing tag slowly drags it back down. That's why you need a performance budget check before each deployment. Configure Lighthouse CI with thresholds such as "JS bundle ≤ 300 KB, LCP ≤ 2.5 s," and changes that exceed them are caught before they ship. In production, collect real-user metrics with the `web-vitals` library and track trends page by page.

    Keep Your Site Fast with POLYGLOTSOFT

    With POLYGLOTSOFT's subscription development service, a dedicated team handles everything from Core Web Vitals diagnosis to improving images, scripts, and rendering architecture on a monthly basis. Once development wraps up, our maintenance (SM) plans continue the performance budget checks and real-user monitoring, so a site that got faster stays fast. If site speed is holding you back, get in touch, and we'll start with a diagnosis of where you stand today.

    Need Technical Consultation?

    Our expert consultants in smart factory, AI, and logistics automation will analyze your requirements.

    Request Free Consultation