From 33 to 99: How I Made a Slow $350 Shopify Theme Blazing Fast

From 33 to 99: How I Made a Slow $350 Shopify Theme Blazing Fast
Reading Time

In today's case, we'll take a look at a skincare store running on top of the Sleek theme. I'm personally really fond of it. Clean lines, bold imagery, a premium feel that does suit skincare brands well.

Although it looks great, it can seduce in a way that is not very beneficial when it comes to ecom. Beauty has a cost: the richer the design, the heavier the page, and the heavier the page, the slower the store. Until you reach out to me, of course, and I get your website blazing fast without changing its design.

Jokes aside (or maybe not...), for a store that leans heavily on before-and-after testimonial photos, full-width banners, and urgency-driven sale overlays, the performance cost adds up fast. That was exactly the situation here.

This skincare store that I helped sells a natural soap bar targeting back and body acne. The homepage is built around trust: real user photos showing clear skin results, close-ups of the product, and time-sensitive promotions. Exactly the kind of content that needs to load instantly to convert. On paper, it was perfect. The website looked amazing. But in reality, the numbers were not in its favor: high bounce rate and people leaving the store for seemingly no reason.

After a thorough speed audit requested by the store owner (which, by the way, is 100% free and you can get yours here), the reason became clear.


What Google PageSpeed Insights Found

20.5 seconds for the main hero content to appear on mobile. The testimonial photos, the soap close-up, the "back acne finally gone" proof imagery; all of it sitting invisible for over twenty seconds. For a brand whose entire conversion argument lives in visual proof, this was the most damaging issue in the audit.

Around 30MB total page size. That is an enormous payload for a Shopify homepage. The images alone, uncompressed and served in legacy formats, were the primary driver. A well-optimised store in this niche should be well under 3MB.

Render-blocking requests adding over 1 second of delay. CSS and JavaScript were preventing anything from appearing on screen until they finished loading, adding a full second of blank screen before the browser could even begin to paint.

Total Blocking Time of 1,030 to 1,110ms. The page was completely unresponsive to interaction for over a second after loading began. On a store where urgency and impulse matter, that kind of friction is felt immediately.

First Contentful Paint of 6.2 to 7 seconds. Even the very first piece of content appearing took over six seconds. Visitors were staring at a blank screen long before any product or proof was visible.

Around 750KB of unused JavaScript. Scripts loading on every page visit that had no role in the homepage experience, consuming bandwidth and blocking the main thread for no benefit.


What I Did to Fix It

No apps. As always, every fix was applied directly to the theme, tailored to what this specific store needed.

I usually start with the images. The before-and-after testimonial photos and product close-ups were being served at full resolution in legacy formats. Converting to modern formats, applying proper compression, and implementing responsive sizing made the single biggest difference. Lazy loading was added throughout so the browser could focus entirely on what was visible first.

The unused JavaScript was addressed next. Several scripts were loading on every page that simply weren't needed on the homepage. Deferring and removing these brought Total Blocking Time down dramatically and reduced the overall parse time. The render-blocking requests were resolved in the same pass.

Cache policies were corrected for static assets, and residual overhead from the theme's script layer was cleaned up. The total page weight came down from around 30MB to a fraction of that, with image optimisation accounting for the majority of the saving.


The Results

Desktop score: 33 to 99
Mobile score: 33 to 96
LCP (mobile): 20.5 seconds to 2.1 seconds
LCP (desktop): to 0.6 seconds
First Contentful Paint: 6.2โ€“7 seconds to 0.6โ€“2.1 seconds
Total Blocking Time: 1,030โ€“1,110ms to 0โ€“30ms
CLS: 0.037 to 0.001

Here is the live result on PageSpeed Insights - check it out.

The LCP number is the one worth pausing on. Going from 20.5 seconds to 0.6 seconds means the proof photos, the product imagery, the entire visual case for buying, now appears before a visitor has had any reason to doubt the page is working. That changes everything.

Why Speed Matters on Shopify

The numbers behind a slow store are easy to read in a report. The real cost is harder to see: visitors who left before the page finished loading, sales that never happened because the product never appeared in time.

Every Shopify store, regardless of niche, is competing for attention in the first few seconds. A slow LCP means your hero image, your headline, your main reason to stay, arrives after most visitors have already gone. A high TBT means the page feels broken even after it loads. These are not abstract technical metrics. They are the gap between a visitor seeing your offer and a visitor bouncing.

At 20 seconds, this store was invisible to the people most likely to buy. At under a second, everything that makes the product worth considering lands immediately, and the store finally has a real chance to convert.


Is Your Shopify Store Slow?

Regardless of what you sell, speed is a critical factor. I offer a free manual speed audit with no obligation. I will test your store, identify the exact issues, and tell you what it would take to fix them.

Request your free speed audit at ezfycode.com

Back to blog