How to Optimize Core Web Vitals on Shopify for Faster Mobile Checkout
Practical optimization techniques to improve Largest Contentful Paint (LCP), Interaction to Next Paint (INP), and Cumulative Layout Shift (CLS) on Shopify stores.

Shopify Core Web Vitals performance optimization dashboard
Mobile e-commerce conversion rates depend heavily on page responsiveness. On Shopify, theme app bloat, unoptimized hero banners, and uncoordinated third-party scripts frequently degrade Largest Contentful Paint (LCP) and Interaction to Next Paint (INP). Here is how to diagnose and fix these performance bottlenecks.
1. Auditing Zombie App Scripts in theme.liquid
When Shopify apps are uninstalled, their script tags often remain in `theme.liquid` and continue executing on every page load. Review your `theme.liquid` file and remove orphaned tracking pixels, discontinued review widgets, and unused CSS files.
2. Optimizing Hero Images for Largest Contentful Paint (LCP)
Ensure your primary product or collection hero image is rendered using native Liquid image helpers with explicit dimensions and preloading:
{{ section.settings.image | image_url: width: 1200 | image_tag:
loading: 'eager',
fetchpriority: 'high',
widths: '375, 750, 1100, 1500',
alt: section.settings.image.alt | escape,
class: 'hero-banner-image'
}}3. Deferring Non-Critical JavaScript for Interaction to Next Paint (INP)
Delay marketing widgets, live-chat scripts, and review widgets until user interaction (scroll or touch) to keep the main JavaScript thread responsive for cart drawer clicks.
- Audit theme.liquid to purge orphaned scripts from uninstalled apps.
- Preload primary hero images using Liquid image_tag with fetchpriority='high'.
- Defer non-critical third-party analytics to improve mobile INP.

