The starting point
When I started at Army & Outdoors, every Core Web Vitals score was red. CLS (layout shift) was failing on most pages. LCP (largest contentful paint) was over 4 seconds. INP (interaction to next paint) was sluggish. The site was technically working ? but Google's quality signals said otherwise, and that was costing organic search visibility and Google Shopping ad eligibility.
Current state ? Google Search Console, May 2026
5+ years later, every URL on the site passes Core Web Vitals on both mobile and desktop:
- Mobile: 0 poor URLs ? 0 URLs needing improvement ? 1,214 good URLs
- Desktop: 0 poor URLs ? 0 URLs needing improvement ? 1,363 good URLs
- Sustained green for 5+ years ? not a one-off audit
The work
Performance work on Shopify Plus is a long game. There's no silver bullet. Over the years I've systematically attacked each metric:
LCP (Largest Contentful Paint)
- Audited every third-party app ? removed 3 that weren't pulling their weight
- Deferred non-critical JavaScript (Klaviyo, GA4, social pixels)
- Switched primary product images to next-gen formats (WebP) with explicit width/height
- Preconnect hints in <head> for font CDN, image CDN, and analytics origins
- Result: LCP under 2.5s on mobile
CLS (Cumulative Layout Shift)
- Set explicit dimensions on every image, embed, and ad slot
- Fixed font loading ? used
font-display: optionalfor non-critical fonts to prevent flash-of-unstyled-text shifts - Reserved space for dynamically-injected content (popups, banners, badges)
- Result: CLS under 0.1, consistently green
INP (Interaction to Next Paint)
- Audited long-running JavaScript handlers blocking the main thread
- Broke heavy work into async chunks using
requestIdleCallbackwhere appropriate - Removed bloated theme apps that hooked too many event listeners
- Result: INP comfortably under 200ms
Plus the load time work
On top of CWV, raw mobile load time also needed work. Through removing unused CSS, schema cleanup, and image optimisation, mobile load time dropped from 4.3s to under 3s on PageSpeed Insights.
Sustaining the gains
The harder part isn't getting green once ? it's keeping it green when apps get added, theme work happens, and product catalogues grow. I monitor Search Console's Core Web Vitals report regularly. When a regression appears (say, a new app starts injecting late-loaded CSS), I catch it within a fortnight and fix it before it tanks the score.
Why this matters for your store
Bad Core Web Vitals cost you in three places:
- Organic search ranking ? Google uses CWV as a ranking signal
- Google Shopping ad eligibility ? Merchant Center flags poor page experience
- Conversion rate ? every 100ms of load time delay measurably hurts conversion
If your store is showing red or amber in Search Console's Page Experience report, this is fixable. It's not a magic-bullet project ? it's a methodical audit + a discipline of preventing regressions. I've done it for one retailer for 5+ years. I can do it for yours.

