What Is LCP and Why Product Images Are Almost Always the Culprit
Largest Contentful Paint (LCP) measures how long it takes for the largest visible element on the page to render. On virtually every product detail page, that element is the main product image. On category pages, it is usually a grid of product thumbnails.
Google's LCP thresholds for the Page Experience ranking signal:
The majority of e-commerce sites sit in the "needs improvement" band — not because their servers are slow, but because their product images are oversized, in the wrong format, or missing critical loading attributes. These are fixable problems, and fixing them has measurable impact on both rankings and revenue.
Beyond LCP, Cumulative Layout Shift (CLS) is also affected by images. When a product image loads without declared dimensions, the page jumps as it reflows around the newly loaded element. Google counts this against you in rankings, and it visibly disrupts the shopping experience.
The Right Image Format: WebP, AVIF, and When to Use Each
Format choice is the highest-leverage single change most e-commerce stores can make. Many stores are still serving JPEG or PNG product images when WebP and AVIF deliver the same visual quality at 30–50% smaller file sizes — directly reducing LCP.
| Format | File Size vs JPEG | Browser Support (2026) | Best For |
|---|---|---|---|
| JPEG | Baseline | 100% | Legacy fallback |
| WebP | 25–35% smaller | 97%+ | Default for all product images |
| AVIF | 40–55% smaller | 90%+ | Hero images where compression is critical |
| PNG | Often 2–5× larger | 100% | Only when true transparency is required |
The practical recommendation in 2026: serve WebP as your default, with a JPEG fallback using the HTML <picture> element. If your platform supports it, test AVIF for hero images — the extra compression can push borderline LCP scores from "needs improvement" into the green zone.
Shopify converts uploaded images to WebP automatically. WooCommerce requires a plugin (Imagify, ShortPixel) or CDN (Cloudflare Images). Custom storefronts should handle conversion in the image processing pipeline before images reach the CDN.
Image Sizing, Responsive Images, and the Oversized Image Problem
The second most common image speed problem is dimension mismatch — serving a 3000×3000px image in a 600×600px thumbnail slot. The browser downloads the full-resolution file, then scales it down in CSS. The shopper sees the same thumbnail. The extra bandwidth and load time are completely wasted.
The fix is responsive images using srcset and sizes attributes:
<img
src="product-600w.webp"
srcset="product-300w.webp 300w,
product-600w.webp 600w,
product-1200w.webp 1200w"
sizes="(max-width: 768px) 100vw, 600px"
alt="Blue crew-neck t-shirt"
width="600"
height="600"
loading="lazy"
/>
The width and height attributes are essential for CLS prevention — they reserve the correct space before the image loads, preventing layout jumps that hurt both rankings and user experience.
Common Mistakes
- Single 3000px image for all contexts
- Missing width/height attributes
- Lazy loading the hero product image
- PNG for photos that do not need transparency
- No preload for above-fold image
Best Practices
- srcset with 300w, 600w, 1200w variants
- Explicit width and height on every img
- loading="lazy" on below-fold images only
- WebP default, JPEG fallback
- Preload link for hero image in document head
Preloading vs Lazy Loading: Getting the Balance Right
Two loading strategies are in tension for product pages. Misapplying either one is a common source of poor LCP scores.
Preloading the hero product image instructs the browser to fetch it during the early stages of page parsing — before it encounters the image in the HTML body. This is the single most effective LCP optimization for product pages:
<link rel="preload" as="image"
href="hero-product.webp"
fetchpriority="high">
Many theme developers apply loading="lazy" to every image on the page, including the hero. This actively hurts LCP — it tells the browser to deprioritize loading the most important image. Apply lazy loading only to images that appear below the fold.
Stacking all five optimizations typically moves a product page from the "needs improvement" band into the green zone — and in testing, the LCP improvements translate directly into measurable ranking improvements over a 60–90 day window.
Image CDNs: Why Origin Speed Is Not Enough
Even a perfectly optimized WebP image loads slowly if it is served from a single origin server in one region to a shopper on another continent. Image CDNs cache files at edge nodes worldwide and serve each request from the nearest location, typically reducing image load time by 50–70% for shoppers outside your primary market.
| CDN | Key Advantage | Best Fit |
|---|---|---|
| Shopify CDN | Built in, zero setup | Shopify stores |
| Cloudflare Images | Format conversion + CDN combined | Any platform |
| Imgix | Real-time transforms via URL params | High-volume custom stores |
| Bunny.net | Lowest cost per GB | Budget-conscious stores |
| AWS CloudFront | Enterprise scale and control | Large custom infrastructure |
Beyond delivery speed, CDNs with on-the-fly transform capabilities let you serve the correct size and format to each device without pre-generating and storing dozens of variants. A single source image becomes the input for every breakpoint, device, and format — requested and transformed at the edge as needed.
Auditing Your Store: How to Find Image Speed Problems Today
Three free tools give you a complete picture of where your product images are slowing you down:
Google PageSpeed Insights — Run your key product page and category page URLs through PageSpeed Insights (pagespeed.web.dev). The "Opportunities" and "Diagnostics" sections will flag specific images, their file sizes, and the estimated savings from optimizing each one.
Google Search Console — The Core Web Vitals report in Search Console shows LCP, FID, and CLS performance aggregated across all your pages, segmented by mobile and desktop. Pages flagged as "poor" are the highest priority to fix.
WebPageTest — For more detail, WebPageTest shows a waterfall diagram of every resource loaded on the page, with file sizes and load timing. Product images that appear early in the waterfall and are large are your LCP bottlenecks.
Prioritize your highest-traffic product pages first — those are where ranking improvements have the most revenue impact. Fix format, sizing, and loading attributes on those pages, measure the before/after LCP in PageSpeed Insights, then roll the changes out to your full catalog.