Skip to content
LUSH CODING
E-commerce

Shopify Speed Optimization: How to Get Under 2 Seconds

LUSH CODING9 min readUpdated July 20, 2026
Share
Shopify Speed Optimization: How to Get Under 2 Seconds

Quick answer

Shopify speed optimization is the work of reducing a storefront's load time — principally Largest Contentful Paint — to under about 2 seconds by removing unused apps, deferring third-party scripts, serving correctly sized images, and trimming theme code. Shopify hosts the platform, so server response is rarely the bottleneck: in almost every audit we run, the cause is accumulated marketing scripts and app embeds rather than anything Shopify controls.

Key takeaways

  • Shopify hosts the infrastructure — your speed problem is almost always apps, scripts, and images.
  • Every uninstalled app can leave code behind. Removing the app is not the same as removing its script.
  • Fix the LCP image first: correct size, modern format, no lazy-loading above the fold.
  • Measure with field data, not just lab scores. Real users on real phones are the number that matters.
ShopifyShopifyCloudflareCDN / edge
Shopify serves assets from a global CDN already — which is why the fix is almost never 'add more infrastructure'.

Why Shopify stores get slow

Shopify speed optimization is mostly subtraction. Shopify runs the servers, the CDN, and the checkout, and it does that well — so when a storefront takes six seconds to render, the cause is nearly always what has been added on top: app embeds, marketing pixels, chat widgets, review scripts, and a theme carrying a decade of accumulated customisation.

This is good news. It means the fix is largely within your control and does not require replatforming.

< 2.5s

Good LCP threshold

< 0.1

Good CLS score

< 200ms

Good INP

The causes, in priority order

01

1 · App bloat

Each app can inject scripts on every page, including pages it has nothing to do with. A store with 25 apps is usually carrying several it no longer uses.

02

2 · Orphaned code

Uninstalling an app does not always remove its theme snippets. Leftover code keeps loading forever, and nobody remembers adding it.

03

3 · Oversized images

A 3000px hero served to a 390px phone is the most common single LCP failure — and the easiest to fix.

04

4 · Render-blocking scripts

Analytics, pixels, and chat widgets loaded in the head delay first paint for every visitor.

05

5 · Heavy theme code

Sliders, custom fonts, and unused sections that ship on every page whether used or not.

Fix the LCP element first

Largest Contentful Paint measures when the biggest visible element finishes rendering — on a storefront, almost always the hero image or first product photo. Optimising it delivers more improvement than everything else combined, so do it before touching anything clever.

  • Serve the image at the dimensions it actually displays, with responsive sizes for phones.
  • Use a modern format. WebP typically cuts file size substantially at equivalent quality.
  • Never lazy-load the above-the-fold image — it delays the very thing being measured.
  • Preload the hero image so the browser starts fetching it immediately.
  • Reserve its space in the layout so it does not cause a layout shift as it loads.

Tame third-party scripts

Script typeTypical handlingRisk if deferred
AnalyticsDefer to idleMinor loss of very-early events
Chat widgetLoad on interactionNone — nobody chats in the first second
ReviewsLazy-load when scrolled into viewNone if placeholder reserves space
A/B testingKeep blocking if it changes above-fold contentFlicker if deferred incorrectly
Ad pixelsDefer, but verify conversion tracking afterAttribution gaps if done carelessly

The A/B testing row is the one to respect. Deferring a script that rewrites above-the-fold content produces a visible flash of the original version, which is worse than the delay you removed.

What is it actually worth?

Speed work competes for budget against features, so it helps to put a number on it. Model your own before committing:

Speed → revenue impact estimator

Translate a load-time improvement into the number your finance team cares about.

Seconds saved

2.3s

Est. conversion lift

16.1%

Extra revenue / month

$7,883

Extra revenue / year

$94,591

CVR 1.80% → 2.09%

Directional estimate, not a promise. Conversion lift per second varies by vertical, traffic mix, and how bad the starting point is — adjust the factor to match your own before/after data. Always validate against a real experiment.

Treat the output as directional. Conversion lift per second varies by vertical and by how poor the starting point is — a store going from 6s to 3s sees a far larger effect than one going from 2.2s to 1.9s. Validate against your own before-and-after data.

Measure the right thing

Lab tools give a controlled score; field data gives what your customers actually experienced on their own devices and networks. They regularly disagree, and when they do, field data wins. Track it over a week rather than celebrating a single good lab run.

A Lighthouse score is a lab result. Revenue responds to what real phones on real networks experienced.

Shopify speed audit checklist

0/12

LUSH CODING builds and optimises Shopify storefronts, and every store we ship carries performance monitoring so regressions surface before they cost you revenue.

TagsShopifyPerformanceCore Web Vitals

Frequently asked questions

Almost always apps and third-party scripts rather than Shopify itself. Shopify runs the servers and CDN; the delay usually comes from app embeds, marketing pixels, chat widgets, oversized images, and leftover code from apps that were uninstalled but never fully removed.

Share

Need help with e-commerce?

We audit your setup, identify the three highest-leverage moves, and send a written plan within 48 hours.

Ready when you are

Let's build, automate, and scale your business.

Talk to our team and see how senior engineers and AI-powered systems can reshape your operations.