Skip to content
Mayank JainSEO · AEO · GEO

Ecommerce, home goods

A Mid-Size Ecommerce Retailer

Largest Contentful Paint was failing on mobile product pages, and the obvious fixes weren't enough. The actual cause was a third-party review widget nobody had audited in two years.

Mayank Jain8 weeks (project timeframe) readPublished April 15, 2026

Key takeaways

  • Image optimization is the default first guess and it's wrong more often than SEO content implies.
  • Third-party scripts need a recurring audit, not a one-time install-and-forget.

The challenge

Mobile LCP sat around 4.8 seconds on product pages, well outside Google's recommended threshold. The team had already compressed images and enabled lazy loading, which is usually the first fix people reach for, and it barely moved the number.

The research

I ran a waterfall analysis on ten representative product pages and found a third-party review widget loading render-blocking JavaScript before the product image or price rendered at all. It had been added two years earlier and nobody had revisited whether it was still worth its cost.

I also checked whether the widget provider offered an async loading option. It did, but it wasn't documented anywhere obvious, which is presumably why nobody had found it.

The solution

  • Switched the review widget to async loading and deferred it until after the main content painted.
  • Moved the product image to a priority-loaded resource hint so it rendered before secondary content.
  • Removed two unused tracking scripts that were still firing on every page load.

The result

MetricBeforeAfter
Mobile LCP4.8s2.1s
Pages passing Core Web Vitals31%89%
Mobile bounce rate on product pages58%47%

LCP improvements alone don't guarantee ranking movement, and I want to be upfront that I did not run a controlled test isolating Core Web Vitals from other changes made in the same period. What I can say directly is the technical numbers, since those were measured before and after with the same tooling.

What I'd do differently

Image optimization is the default first guess and it's wrong more often than SEO content implies. Waterfall analysis should come before, not after, the obvious fixes.

Third-party scripts need a recurring audit, not a one-time install-and-forget. The widget that caused this had been silently getting heavier with every provider update.

Get notes like this before they're published.

Subscribe