This Shopify Store Was Taking 8 Seconds to Load. I Brought it Under 1 Second Without Touching the Design

This Shopify Store Was Taking 8 Seconds to Load. I Brought it Under 1 Second Without Touching the Design
Reading Time
The Ella theme is a solid choice for fashion and lifestyle Shopify stores. It is well built, visually flexible and performs reasonably well out of the box. Very often, in this day and age, it's rare that the theme itself is not the problem. Clients often ask me: "is X theme fast enough"? Most of the times yes, they are. The real problem is what happens over time. 
Apps get installed and uninstalled, leaving residual code behind. Images get uploaded without optimization. Custom features get added and old ones get abandoned. The bloat accumulates quietly and before long a perfectly good theme is carrying twice the weight it should be.

That is exactly what happened here. A luxury silk sleepwear store running Ella was seeing 8.8 seconds before the main content appeared on screen, with a mobile score of 48. By the end of the optimization, the load time was down to 0.7 seconds, desktop hit 96 and mobile reached 90

You can check this store's result live here, on PageSpeed Insights.


The Starting Point

A mobile score of 48 puts a store right on the edge of Google's red zone. It is not the worst starting point, but it is the kind of score where some attention is required. At this point, you're not being set as a priority by search engines, which means you won't be visible often by Google, ChatGPT and so on.

The total page size was around 4.7MB. Not that bad, but the issue became obvious fairly quickly: it has jQuery installed. jQuery is an outdated Javascript library that slows your website. It's complex to remove it without changing the design or functionality, so I was upfront with the customer that the results could be limited. He still wanted to proceed.


What Else Google PageSpeed Insights Found

8.8 seconds for main content to appear. The hero banner, the silk product imagery, the seasonal promotional visuals; all of it sitting behind nearly 9 seconds of loading. 

Around 354 KiB of savings available from image delivery. The high-resolution silk photography was not optimized for web. Uncompressed images in legacy formats loading at full resolution regardless of the device viewing them. 

Around 1.3MB of unused JavaScript. A significant amount of dead code being downloaded and processed on every single page load. Leftover from previously uninstalled apps, jQuery functions and unused theme functionality that was never cleaned up.

67 KiB of unused CSS. Not a big deal, but still going to be cleaned up.

Main-thread blocking of 5.6 seconds. The browser was occupied for over 5 seconds processing scripts and tasks before the page became responsive to interaction. On mobile this creates a noticeable feeling of lag and unresponsiveness right when a visitor first lands.

Total page size of around 4.7MB. Not in the extreme range but still carrying enough unnecessary weight to meaningfully slow down the experience, particularly on mobile connections.


What I Did to Fix It

My first step was to lazy-load jQuery wherever it was not essential. In the homepage, very few functionalities and sections needed it immediately, so I loaded it only later on to preserve performance

I cleaned up all left-over JS. Around 1MB of dead code removed, and it no longer appears as a meaningful issue in the optimized report. Nice!

Unused CSS was trimmed from 67 KiB down to 14 KiB after auditing and removing stylesheet rules that were being loaded but never applied.

Render-blocking requests were addressed by deferring non-critical JavaScript and improving critical CSS delivery, bringing blocking time down to near zero.

Cache lifetime was improved so returning visitors load assets from cache rather than downloading everything fresh on every visit.

Every installed app was audited. Residual code from previously uninstalled apps was removed and the load priority of active apps was reorganized. Total Blocking Time dropped from 770ms down to 0ms. It's amazing how a clean-up yields concrete results on the PageSpeed Insights. None of this is guessing or relative: it's all transparent and verifiable. 

Here is the result of PageSpeed Insight after the clean-up (you can check it for yourself clicking here)


The Results


Desktop score: 96
Mobile score: 90
Main content load time: 8.8 seconds to 0.7 seconds
Total Blocking Time: 770ms to 0ms
Image delivery savings: ~354 KiB to ~13 KiB
Unused JavaScript: ~1.3MB cleared

Why Visual Stores Need to Be Fast

When it comes to e-commerce, speed is not a luxury. It is crucial to be fast. The moment a visitor lands on a store, they are making a subconscious judgment about the brand. A slow loading page does not just frustrate; it signals that the experience ahead might not be worth their time. For a luxury silk store, that first impression carries even more weight. The store is asking someone to spend money on something premium. If the page itself does not feel premium, the sale is already at risk.

The numbers back this up. Shopify's own research shows that every 1-second delay in mobile load time can drop conversions by up to 20%. (source) At 8.8 seconds, this store was not losing a fraction of its visitors. It was losing the overwhelming majority of them before a single product was seen.

Is Your Shopify Store Slow?

If your store is not where you want it to be on PageSpeed or you are not sure where it stands, I offer a free manual speed audit. I will test your store, identify the exact issues and tell you what it would take to fix them with no obligation to proceed.

Request your free speed audit at ezfycode.com

Back to blog