What delays Largest Contentful Paint on a product page
LCP on a product page is usually the main product photo. Why it loads late, how to read the waterfall, and the fixes that move the number.
T The CROMagnet team, Store audit research 2 min read Updated
Largest Contentful Paint, or LCP, records when the biggest visible element finishes drawing. On a product page that element is the main product photo in most themes. Google treats 2.5 seconds as good and anything above 4 seconds as poor, measured on real visitors.
The useful way to think about LCP is as four stages that add up. When the number is bad, one stage is almost always responsible for most of it.
Stage 1: the server responds
Before anything else happens, the browser waits for your HTML. If that takes more than about 800 milliseconds, everything after it starts late. On hosted platforms you have limited control, but you can remove redirects. A link that goes from http to https, then from the bare domain to www, then to the product, spends a round trip on each hop.
Stage 2: the browser finds the image
The browser cannot start downloading the photo until it knows the photo exists. If the image is added by JavaScript, set as a CSS background, or sits inside a slider that builds itself after the page loads, discovery happens late. A plain image tag in the HTML is discovered at once.
You can also tell the browser to prioritise it. Adding fetchpriority="high" to the main product image, and removing loading="lazy" from it, is one of the cheapest changes in this whole list.
Stage 3: the image downloads
This is where file size matters. A 1.5 MB photo on a mid-range phone connection takes seconds. Use a modern format such as WebP or AVIF, serve the width the screen needs, and keep the main image under roughly 150 to 250 KB.
Check the srcset attribute. If it is missing, every phone downloads the desktop version.
Stage 4: the browser draws it
Sometimes the image arrives and still does not show, because the browser is busy running JavaScript or waiting on a stylesheet. Heavy third-party scripts that run early can hold this stage up. Deferring scripts that the page does not need to display is the usual fix.
A product-page example
Take a page where LCP measures 4.2 seconds. The waterfall shows the HTML arriving at 0.7 seconds, the image being requested at 2.1 seconds because a gallery script builds the markup, and the download finishing at 3.6 seconds because the file is 900 KB. The fixes are plain: put the image in the HTML, mark it high priority, and resize it. None of them needs a redesign.
Check one page at a time
Aggregate scores hide this. Test your best-selling product page on its own, using mobile settings, and read the LCP breakdown in PageSpeed Insights. The stage that takes longest is the one to fix first.
Check your own store
Run the audit on your store
200+ checks in under two minutes. Free, no signup.