Your Website's LCP Score Is Killing Conversions (Here's How to Fix It)
Largest Contentful Paint above 4 seconds costs you about 40% of visitors before they ever see the offer. Here's what LCP is and how to fix it.
There’s a number on your website that almost nobody talks about and almost everybody is losing money to. It’s called Largest Contentful Paint, or LCP, and it measures how long it takes for the largest visible thing on your page — usually your hero headline, hero image, or video — to actually render.
Google considers anything under 2.5 seconds “good.” Between 2.5 and 4 seconds is “needs improvement.” Over 4 seconds is “poor.”
Most business websites we audit come in around 6 to 9 seconds. Which means roughly 40% of the people who clicked your ad or your search result close the tab before your page even finishes loading.
Here’s what LCP actually is, why it’s the most under-appreciated number in your analytics, and how to fix it without rebuilding the whole site.
What LCP measures (in plain English)
LCP is a single timestamp. The browser watches the page load and records the moment the largest visible element finishes painting. That element is usually one of three things:
- Your hero image
- Your hero headline (the big H1 at the top)
- A large video poster frame above the fold
If that element takes 7 seconds to render, your LCP is 7 seconds. Google sees that number every time it crawls. Your visitors feel it every time they land.
LCP is one of three Core Web Vitals — the others are CLS (Cumulative Layout Shift) and INP (Interaction to Next Paint). LCP is the one that maps most directly to conversion behavior because it gates everything that happens after. No paint = no offer = no signup.
Why slow LCP destroys conversion
The data here is brutal and consistent across every study that’s been published:
- 0–2 seconds: baseline conversion rate (whatever your funnel does)
- 2–4 seconds: ~7% drop in conversion per second of additional load time
- 4–6 seconds: ~25% of visitors abandon before LCP fires
- 6+ seconds: ~40% abandon, and the ones who stay are statistically less likely to convert
If your audit page LCP is 7 seconds and you’re getting 100 visitors a week, you’re losing roughly 30–40 of them before they see the form. That’s not a copy problem. That’s not an offer problem. That’s a render problem.
What actually causes slow LCP
In our experience auditing websites, four things cause >90% of bad LCP scores:
1. Large unoptimized images above the fold. A 2MB hero image takes ~4 seconds to download on a typical mobile connection. Doesn’t matter how fast the rest of your site is.
2. Render-blocking CSS or fonts. If the browser has to download a 200KB CSS file and a custom Google Font before it can paint anything, you’ve added 1–3 seconds to LCP just to render the headline.
3. Heavy JavaScript that runs before paint. Page builders and Webflow/Wix templates often ship 500KB+ of JS that has to parse and execute before the browser paints. React frameworks without proper SSR are notorious for this.
4. Slow servers or no CDN. If your server is in Virginia and the visitor is in California, you’ve eaten 80–150ms of round trip just to fetch the HTML. Multiply by every resource and LCP suffers.
How to fix LCP — in priority order
If you’re going to spend an afternoon on this, here’s the order that pays off most:
1. Optimize the hero image.
- Compress to WebP or AVIF (3–5x smaller than PNG/JPG at the same quality)
- Serve it at the actual displayed size (don’t ship a 4000×2400 image into a 1200×600 slot)
- Add
loading="eager"andfetchpriority="high"so the browser knows to grab it first
2. Defer everything that isn’t critical for first paint.
- Move JS to the end of
<body>withdeferorasync - Lazy-load images below the fold (
loading="lazy") - Defer non-critical CSS until after first render
3. Subset and self-host fonts.
- If you’re using Google Fonts, switch to self-hosted WOFF2 with
font-display: swap - Subset to only the characters you use (Latin only is often 50% of the file)
4. Move to a real CDN.
- Cloudflare, Vercel, Netlify, Bunny — they all cache static assets at 200+ edge locations
- LCP improves immediately for anyone not near your origin server
5. Pick a static framework over a heavy CMS.
- Astro, Next.js (static), Hugo — these ship HTML with minimal JS
- WordPress + page builder is usually the LCP culprit at the framework level
How AI Connect Business handles LCP
Every site we build runs on Astro on Cloudflare Pages — a setup that gives us LCP under 2 seconds out of the box. Static HTML, edge-cached on 300+ Cloudflare PoPs, hero images served as WebP at exact display size, fonts self-hosted and subsetted.
The result: when we audit a customer’s existing site and rebuild it on our infrastructure, the LCP typically drops from the 6–9 second range into the 1.5–2.5 second range — a 3–5x improvement. And because LCP is one of the metrics Google explicitly uses to rank pages, the SEO bump that comes with it is real.
How to know where your site stands
You can check your own LCP in two ways:
- Free, fast: drop your URL into the free score tool on our homepage. We run a Lighthouse audit, pull your LCP, and give you a six-dimension score in 30 seconds.
- Free, deeper: get the full audit — we’ll email you a written breakdown within 48 hours covering performance, conversion gaps, SEO, AEO, and trust signals, plus the specific changes that would move the numbers.
If you’ve ever wondered why your ads convert worse than the agency promised, or why your search traffic doesn’t seem to grow even after months of SEO work, LCP is the first place to look. Fix the speed, the rest of the funnel starts behaving the way you expected it to.
Related reading: SEO vs AEO in 2026 covers what changes when AI engines become the primary search interface — including why LCP matters there too.
Related reading
Ready to rebuild your site?
Get a free 48-hour audit. No commitment, no sales pitch.
Get My Free Audit