Hit green on Core Web Vitals and ship a snappy, conversion‑friendly storefront. This guide shows practical steps to lower LCP, improve INP, and eliminate CLS while keeping your theme and apps tidy.

Sub‑2.0s LCP
On key PDP/Collection templates
Stable CLS
Zero janky shifts
Responsive INP
Under 200ms on tap
Table of contents
Speed is UX. Faster pages reduce bounce and drive more add‑to‑cart. Google also uses Core Web Vitals as a ranking signal for organic traffic. The best part? Most wins are achievable without a ground‑up theme rebuild.
This playbook is for Shopify merchants, developers, and agencies who need reliable, repeatable steps to move key templates into the green for LCP, INP, and CLS. If you run paid traffic to product or collection pages, the recommendations below will prevent wasted spend and improve conversion rate.
Image Strategy
Next‑gen formats, proper sizes, lazy‑load, and priority hints for hero media.
Render Blockers
Inline critical CSS, defer non‑critical, and minimize unused theme scripts.
App Hygiene
Audit third‑party apps, remove duplicates, and load on demand only where needed.
Theme Bloat
Slim down sections, ship smaller bundles, and split code per template.
Network Caching
Edge caching, long‑lived immutable assets, and preconnect for key origins.
Layout Stability
Reserve space for media, predictable fonts, and prevent dynamic shifts.
Product and hero media usually dominate LCP. Use the built‑in Shopify CDN transforms or Next.js Image to output responsive srcset, correct sizes, and modern formats. Promote the hero image with fetchpriority="high" or the Next.js priority prop, and ensure the element is in the DOM early. For collections with many thumbnails, lazy‑load and consider reduced placeholder data‑URIs instead of heavy blur hashes.
Related reading: Bulk Import vs. API Sync (how media sync impacts payloads).
Apps add value but often ship render‑blocking CSS/JS to every route. Scope app assets to the templates where they are needed (e.g., review widgets only on PDP). Replace synchronous tags with async/defer variants, and use a consent‑aware loader for marketing pixels. Measure each change with a synthetic run to isolate its impact.
requestIdleCallback or user intent.Keep the liquid templates simple above‑the‑fold. Hydrate fewer components and prefer server‑rendered HTML. Extract critical CSS for the first viewport and ship the remainder with media ordefer strategies. Self‑host fonts and avoid FOIT; clamp typography to reduce layout shifts.
Use long‑lived immutable caching for assets and short TTLs for JSON endpoints that update frequently. Preconnect to Shopify CDN and payment origins. If you proxy through an edge, cache collection pages for anonymous users while respecting personalization.
Pair PSI runs with real‑user monitoring (RUM). Track LCP ≤ 2.5s P75, INP≤ 200ms P75, and CLS ≤ 0.1 P75. Set alerts when metrics regress after deployments or app installs.
See also: Gift Card Import Guide (workflow patterns that also apply to performance rollouts).
LCP
Before
3.8s
After
1.9s
INP
Before
380ms
After
160ms
CLS
Before
0.21
After
0.02



A DTC apparel merchant saw LCP drop from 4.1s to 1.8s after switching hero media to AVIF, inlining 9KB of critical CSS, and deferring two legacy apps. INP improved by removing two global listeners and shipping route‑scoped bundles. CLS stabilized by reserving image and badge space using aspect ratios. Add‑to‑cart rate increased by 11.6% in the following two weeks.
“PDP LCP halved, exit dropped ~18%. Implementation was clean and safe.”
DTC Apparel
“Checkout felt instantly snappier. We removed two heavy apps and didn’t lose any features.”
Home & Living
Want a free Shopify speed audit checklist?
Get the exact list we use to move stores into the green for LCP, INP, and CLS.