Diagnose against field data
Lab tools are for diagnosis; Core Web Vitals are assessed on real user data at the 75th percentile.- Search Console → Core Web Vitals — field data, grouped by URL pattern. Start here.
- PageSpeed Insights — field data plus a lab diagnosis for a single URL.
- Lighthouse — lab only. Useful for identifying causes, not for judging whether you pass.
Apps are the usual culprit
Every installed app typically injects JavaScript on every page, whether or not the page uses it. Stores accumulate these over years.- Audit installed apps and remove anything unused — uninstalling does not always remove injected script, so check the theme for leftovers
- Look for duplicate functionality — two review apps, three analytics tools
- Review widgets, chat widgets, and popups are the heaviest repeat offenders for INP
Images drive LCP
The hero image or first product image is usually the Largest Contentful Paint element.- Compress and serve appropriately sized images — do not ship a 3000px image to a 400px slot
- Use modern formats where the theme supports them
- Lazy-load everything below the fold, but never lazy-load the LCP image
- Set explicit
widthandheighton every image to prevent layout shift
JavaScript drives INP
- Reduce third-party scripts
- Defer non-critical JavaScript
- Watch variant pickers and filter interactions — these are common INP failures on product and collection pages
CLS: reserve the space
- Explicit dimensions on images, embeds, and iframes
- Reserve space for banners, cookie notices, and promotional bars rather than injecting them above existing content
- Preload fonts, and set
font-displayto avoid reflow

