Site speed is rarely a single switch you can flip, especially on mature Shopify stores that have evolved over several years. What often starts as a clean, performant theme gradually accumulates layers of third-party apps, custom code, experiments and workarounds. Each individual change perfectly justifiable at the time, but together they can quietly erode performance.
Shopify themes often become bloated for very understandable reasons:
- App-driven growth: Each app introduces its own scripts, styles, and dependencies, many of which load globally, even when only needed on a handful of pages.
- Iterative custom development: Features are added over time by different developers or agencies, often without revisiting earlier decisions or refactoring legacy code.
- One-size-fits-all loading: Theme assets are commonly loaded site‑wide “just in case,” rather than conditionally based on templates, sections or user interactions.
- Fear of regression: On high‑revenue stores, teams can become understandably cautious about removing or restructuring code, leading to performance debt building up over time.
This was the situation when a client approached me after nearly five years on a custom theme. After adding layer after layer of customisation, all of which was essential to their business, site speed was becoming a major issue; conversion rates were suffering, ad performance was down and SEO efforts were being hindered by poor core web vitals.
The Problem
The client had an existing dev agency who had promised to address this, but after a year they had only moved the needle from 3.2 seconds to 2.8 seconds. With a key trading period approaching, the business was increasingly concerned that poor performance was damaging user experience, suppressing conversion rates and limiting the return on their wider marketing spend.
I was brought in to deliver a focused performance optimisation sprint. Not a full rebuild – other than a few minor tweaks they the website appearance to be affected as little as possible – instead, a pragmatic intervention designed to unlock meaningful gains quickly.
In this case, the theme was doing far more work than necessary on initial page load. Critical rendering paths were blocked by non‑essential JavaScript, custom functionality was tightly coupled to the global theme, and load priorities hadn’t been reassessed as the site evolved. The result was slow First Contentful Paint (FCP), delayed interactivity, and a noticeably sluggish experience – particularly on mobile which accounted for 80% of their traffic.
The solution
Rather than attempting to optimise everything at once, I approached the project as a tightly scoped optimisation sprint with clear priorities.
The first phase focused on streamlining theme load priorities:
- Auditing which scripts and styles were truly required for above‑the‑fold content.
- Deferring or conditionally loading non‑critical assets based on page type and user interaction.
- Reducing unnecessary global JavaScript execution during initial render.
Alongside this, I rebuilt key pieces of custom functionality so they no longer depended on heavy, site‑wide assets. Features were modularised and scoped to the pages where they actually delivered value, significantly reducing the amount of code required on first load.
Crucially, this work was designed to be low‑risk and incremental. Changes were released in controlled phases, allowing performance gains to be measured clearly and avoiding disruption to ongoing trading.
The first set of updates went live in August, followed by a second optimisation phase in October that refined earlier improvements and addressed remaining Core Web Vitals bottlenecks.
The results
The impact was immediate and measurable. You can see real user data collected from Treo below but, across the two phases, the site saw improvements across all Core Web Vitals, with the most striking change being a reduction in First Contentful Paint from 2.8 seconds to 1.2 seconds.

This transformed the perceived speed of the site, making pages feel responsive and lightweight rather than sluggish. Beyond the raw metrics, the improvements had real commercial value:
- Faster visual load reduced bounce rates, particularly on mobile traffic.
- Improved perceived performance increased user confidence and engagement.
- The site entered its key trading period with a materially better foundation for conversion.
Shopify performance issues are often less about platform limitations and more about accumulated complexity. With a focused, technically informed approach, even heavily customised themes can be brought back to a fast, scalable baseline – without a full rebuild or prolonged development cycle.
Need to improve your Shopify Site Speed?
I can help. Hit the button below to book in a FREE 30-minute review where we can discuss your plans, and I’ll provide no-obligation thoughts & feedback.