Performance

LCP

LCP measures when the largest element in the viewport finishes rendering — usually the hero image or the headline. Google calls 2.5 seconds or less good, measured on real visits at the 75th percentile.

Largest Contentful PaintAlso known as: largest contentful paint, loading metricUpdated September 22, 2026

What it is

The clock starts when the page begins to load and stops when the biggest thing in the visible area has been painted. Not when the page finished loading — when the part a visitor came to see appeared.

“Biggest” is decided by the browser, not by you, and it is almost always one of three things: the hero image, the first big headline, or a background image that turns out to be a real element. Everything below the fold is ignored: LCP is about the first screen.

Why it matters if you are paying for a website

It is the number that tracks the moment a visitor stops looking at nothing. Whatever the total load time says, the page is useless until its main thing appears, and that is what LCP times.

It is also the Core Web Vitals metric most sites fail, and the one most worth fixing, because the fix usually improves the other two on the way.

What actually moves it

Almost always deletion, not tuning.

On a migration off WordPress, the LCP does not improve because I compressed the pictures. It improves because the request no longer waits on plugin stylesheets, a font loader, a slider script and a cookie script, all of which block the browser from painting anything. Ship HTML that was finished before the request arrived and the hero has nothing to queue behind.

Two mistakes I find on nearly every audit. The hero image carries loading="lazy" — which tells the browser to wait before fetching the one image the metric is timing, usually because a plugin applied it to every image on the page. And the webfont is fetched by a stylesheet that is itself fetched by another stylesheet, so the headline cannot paint until two round trips have finished; on this site the font is preloaded alongside the document for exactly that reason.

The remaining time is the server. A slow first byte is a ceiling: no amount of front-end work gets the paint below the time the origin took to answer.

What LCP is not

It is not page load time, and it is not a Lighthouse score. Lighthouse gives you a lab number from one simulated visit with no cookie banner and no marketing tags; the LCP that counts comes from real Chrome sessions over 28 days. The two disagree routinely, and when they do, the field data is the one Google uses.

See also

Want this done, not just defined?

This is the part of the work I get hired for. The page below says what it costs and how it runs.

WordPress → Astro migration
Uper SEO Auditor

Uper SEO Auditor

Chrome extension for SEO specialists and developers. Provides real-time debugging of Web Vitals, Schema.org, GTM, and JS errors directly in Chrome Side Panel.