All posts
Shopify Store Development

Shopify Theme Performance: 10 Mistakes That Slow Down Your Store

Most Shopify stores are guilty of four or five of these — and the big three (app bloat, heavy images, render-blocking scripts) cause the majority of the damage. Here are the 10 theme-performance mistakes we check for on every audit, with the real numbers behind each, and the honest fix: it's almost always subtraction, not another app.

AD Digitech Engineering · Shopify Store TeamAugust 3, 20266 min read
Infographic titled 'Shopify Theme Performance: 10 Mistakes That Slow Down Your Store' — a mock store dashboard showing a Speed Score gauge at 86/100 and Core Web Vitals all passing (LCP 1.8s, INP 112ms, CLS 0.06), alongside a storefront with three product cards — with callouts for four of the mistakes (App Bloat, Heavy Images, Render-Blocking Scripts, Third-Party Code) and four benefits: Faster Load Times, Higher Conversions, Better SEO Rankings, and a Healthier Store.

The short version: most Shopify stores are guilty of four or five of these, and three of them — app bloat, heavy images, and render-blocking scripts — cause the majority of the damage. Here are the 10 theme-performance mistakes we check on every audit, the real numbers behind each, and the honest fix: it's almost always subtraction, not another app.

We audit and fix Shopify store speed, so this is the actual list we run against. If you want the framework behind why these matter — the metrics, and why your admin Speed Score isn't the number Google ranks on — start with improving Core Web Vitals without ripping out your theme. This post is the concrete culprits.

For context on where you stand: the average Shopify store scores just 25–35 on mobile PageSpeed (well below the "good" 50+), and median mobile LCP runs around 3.7s for fashion and 4.3s for home goods — both failing Google's 2.5s bar. If that's you, you're normal. Here's what's usually behind it.

1. Heavy, bloated theme code

Feature-crammed and ageing themes carry large amounts of unused Liquid, CSS, and JavaScript loaded "just in case." A theme built to do everything ships code for features you don't use — on every page. Inefficient Liquid loops and unminified assets pile on top. To be clear, this is rarely the theme's fault so much as how it's been built and extended over time — build quality matters more than which base theme you chose. But an old, heavily-modified theme is a common starting point for slowness.

2. Unused JavaScript

JavaScript is the single largest contributor to slow Shopify themes, and a lot of it does nothing. A whole library loaded for one small widget. Leftover code from a feature you removed a year ago. A legacy dependency kept alive for a single plugin. Every kilobyte still gets downloaded, parsed, and executed on the main thread — including the parts nothing ever calls. Dead code isn't free; it's just invisible.

3. Render-blocking scripts and styles

Even necessary code slows you down if it blocks the first paint. Ten to twenty-five render-blocking scripts — not unusual on a store that's a few years old — can add 1 to 3 seconds before anything appears on screen. Scripts sitting in the <head> without defer or async, and CSS that hasn't been split into critical-plus-deferred, hold the entire page hostage while they load.

4. App bloat

The single biggest speed killer on Shopify, full stop. The average store runs 15–20 apps, each injecting 100–500ms of JavaScript on every page, and app scripts are blamed for 60–80% of Shopify slowdowns. The pattern is stark: stores with more than ~8 front-end apps typically show mobile LCP above 3 seconds, while stores with 3 or fewer usually stay under 2. Worse, uninstalling an app often leaves orphaned script tags behind. Auditing your apps — and confirming removed ones left nothing behind — is the highest-leverage thing on this entire list.

5. Too many third-party scripts

Chat widgets, marketing pixels, A/B tools, review embeds, live Instagram feeds — each is a connection to a third-party server you don't control, and your page often waits on the slowest one. A live social feed firing on page load is a textbook culprit. Every one you add is a bet that their infrastructure is as fast as yours; usually it isn't.

6. Unoptimized images

Images are the heaviest thing on most pages — uncompressed images account for 50–80% of page weight, and compression alone can cut load time by 40–60%. The usual sins: serving a 3000px image into a 400px slot, using PNG or JPEG where WebP would roughly halve the size, and omitting width/height (which also causes layout shift). Right-size, modern-format, and compress every image, and use Shopify's image transforms to serve the correct dimensions.

7. Lazy-loading the wrong things

Lazy-loading is right for below-the-fold images and wrong for your hero. Lazy-loading the LCP image is a disaster — it adds a script-checking delay that pushes LCP straight into the red. The opposite mistake is just as common: no lazy-loading at all, so every below-fold image competes with the hero for bandwidth on first load. The fix is the split — eager-load (ideally preload) the hero, lazy-load everything below it.

8. Too many web fonts, loaded the wrong way

Fonts block text from rendering until they download, and they add up fast: a single family with four weights can add 200–400KB and delay text by 500ms–2s on slower connections. The common mistakes are loading weights you never use, pulling from a third-party font host (which adds a DNS lookup and connection) instead of self-hosting .woff2 in Shopify's asset library, and skipping font-display: swap so visitors stare at invisible text while the font loads.

9. Heavy hero sliders and autoplay carousels

The most common LCP failure on Shopify is a massive hero image — and a carousel or slider multiplies it, because each slide needs its own image, plus scripts and animation to run the thing. Autoplay video is heavier still. Beyond speed, sliders rarely earn their keep on conversion either. A single strong static hero almost always wins on both counts.

10. A bloated homepage and oversized DOM

Cramming every section, mega-menu, and widget onto one page inflates the DOM — the total number of HTML elements — which makes layout and rendering measurably slower, especially on mobile. And more sections means more images, more scripts, and more nodes all competing. A long homepage feels productive to build; it's often just heavy. Ship the sections that earn their place and cut the rest.

How to actually fix it: subtract first

Notice the pattern across all ten — the fix is almost always removal, not addition. Which is exactly why "install a speed-booster app" is the wrong instinct: you'd be adding another third-party script to solve a problem caused by too many third-party scripts.

Work in impact order, not alphabetical order:

  1. Audit and remove apps (mistakes 4 and 5) — biggest win, do it first.
  2. Fix images and the hero (6, 7, 9) — the next-biggest, and mostly mechanical.
  3. Then trim JS, fonts, and render-blocking (2, 3, 8) — real gains, more technical.
  4. Polish DOM and theme code last (1, 10) — worth it, but not before the big three.

And measure the right number. Don't chase the admin Speed Score up and down — it's a single lab estimate. Judge every change on your real Core Web Vitals field data (again, the framework post covers how). Speed isn't a vanity metric: a slow store is one of the top reasons stores lose sales despite growing traffic, and it quietly undermines even a well-built product page — a page that's still loading converts nobody.

The bottom line

Slow Shopify stores are rarely slow for one dramatic reason. They're slow because four or five of these mistakes have accumulated quietly over years of adding apps, sections, fonts, and "just one more" pixel.

The good news: the fix is almost always subtraction. Remove the app bloat, compress the images, kill the slider — and most stores are fast again without a rebuild.

We audit and fix Shopify store performance — app and script audits, image and font optimisation, and the field-data measurement that proves the lift. See our Shopify store development work, or talk to us about your store's speed.

Frequently asked questions

What slows down a Shopify store the most?

App bloat and heavy images, by a wide margin. The average store runs 15–20 apps, each adding 100–500ms of JavaScript per page, and app scripts are blamed for 60–80% of Shopify slowdowns. Uncompressed images make up 50–80% of page weight. Fix those two before you touch anything smaller — they cause most of the damage on most stores.

How many apps is too many for store speed?

There's no hard cap, but front-end app count tracks closely with speed: stores running more than roughly 8 front-end apps typically show a mobile LCP above 3 seconds, while stores with 3 or fewer usually stay under 2. Audit for apps you no longer use — and check that uninstalled ones didn't leave orphaned scripts behind, which is common.

Do web fonts really slow down my store?

Yes. Fonts block text from rendering until they download, and a single family with four weights can add 200–400KB and delay text by 500ms–2s on slower connections. Load only the weights you actually use, add font-display: swap so text shows immediately, and self-host .woff2 files rather than pulling from a third-party font host that adds a DNS lookup.

Should I use a hero slider or carousel on my homepage?

Usually not. A hero image is the single most common cause of a slow LCP, and a carousel multiplies it with extra images, scripts, and animation. A single strong static hero almost always beats a slider on both speed and conversion — and whatever you do, never lazy-load the hero, which pushes LCP straight into the red.

Will a speed-optimization app fix my slow store?

Sometimes partly — but be careful, because the irony is that many 'speed booster' apps add yet another third-party script. The most reliable performance fix on Shopify is subtraction: remove unused apps and scripts, compress images, and trim fonts. Reach for an app only for a specific job (like image compression) that it does without piling on overhead.

How do I know if my theme is the problem?

Measure the right number first — don't trust the admin Speed Score, which is a single lab estimate; check your real Core Web Vitals field data. Then audit against the ten mistakes here. Usually it isn't the base theme at all but what's layered on top (apps, images, scripts) — build quality matters far more than which theme you started from.

Have a project in mind?

Building something on Shopify?

We design, build, and maintain Shopify apps, stores, and AI products — to the standard this article describes.

Related reading

Shopify Store Development 8 min

Shopify POS in 2026: 10 Updates Retail Merchants Should Know

The 10 most useful Shopify POS updates of 2026 — abandoned online carts in store, gift-card scanning, bulk staff setup, cart handoff, returns in cart, and more — and why each matters.

Read article
Shopify Store Development 8 min

Shopify Checkout Changes in 2026: What Merchants Need to Review Before the Holiday Rush

A practical 2026 Shopify checkout audit: what changed this year in payments, taxes, international, and B2B — and exactly what to review and test before peak season.

Read article
Shopify Store Development 8 min

Shopify Payments: What Merchants Should Know About the New Balance Activity Report

Shopify's new Payments activity report explains how money moved through your balance — starting balance, gross activity, fees, payouts, ending balance. A merchant's guide to reading and reconciling it.

Read article
Shopify Store Development 8 min

Why Your Shopify Store Feels Slow: A Practical Performance Diagnosis Guide

Your Shopify store feels slow — but what's actually causing it? A merchant-first diagnosis guide to find the real bottleneck before you uninstall apps or rebuild your theme.

Read article
Shopify Store Development 7 min

Shopify International Expansion: 10 Things to Check Before Selling in a New Country

A practical pre-launch checklist for Shopify merchants entering a new country: market viability, products, pricing, domains, localization, duties, shipping, SEO, checkout, and testing — before you flip the switch.

Read article
Shopify Store Development 7 min

Shopify Plus Upgrade: 10 Signs Your Store Is Ready to Move Beyond Shopify

Not sure if you need Shopify Plus? Ten operational readiness signals — multi-store, complex B2B, checkout, automation, governance — to self-assess whether Plus solves a real problem or you'd be paying for capabilities you don't need.

Read article
Shopify Store Development 8 min

Shopify Product Data Management: When Your Store Has Outgrown Spreadsheets

How to manage Shopify product data as your catalog scales: signs you've outgrown spreadsheets, the single-source-of-truth problem, and when you actually need a PIM, ERP integration, or custom development.

Read article
Shopify Store Development 7 min

Shopify Storefront Performance: How to Find and Fix App-Related Slowdowns

A practical troubleshooting guide to diagnosing app-related Shopify slowdowns: measure a baseline, isolate the culprit one change at a time, and decide whether to configure, replace, remove, or rebuild.

Read article
Shopify Store Development 7 min

Shopify Store Search: How to Turn Customer Searches Into Better Product Discovery

Your customers' searches are demand signals. How to read Shopify search data — top queries, zero-result searches, terminology — to improve your catalog, taxonomy, and merchandising.

Read article