20 Seconds to 0.6 Seconds; How I Made This Shopify Store Load 20x Faster

20 Seconds to 0.6 Seconds; How I Made This Shopify Store Load 20x Faster
Reading Time

Let me address the elephant in the room from the get-go: it may almost sound like an exaggeration, but it is the truth; 20 times faster.

When the owner of this store reeached out to me, I quickly (and obviously) noticed what type of product was being sold: sells galaxy projectors, mushroom lamps and space-themed lighting; visually rich products that rely heavily on stunning imagery to convert visitors. 

Typically with image-heavy stores, those same visuals can quietly destroy your load speed if they are not handled correctly. An image of 1000x1000 that has only 1 color is much lighter than an image of the same size with multiple colors. And with these products, the load speed was unfortunately making it clear as day.

The main page content was taking up to 20 seconds to appear on screen. By the end of the optimization, that number was down to 0.6 seconds

Fortunately this is not a case of "believe it or not" since the proof is right here, in the PageSpeed Insights report that I send to all of my clients so they can check see concrete results, and not rely only on screenshots.

Here is exactly what was wrong and how I fixed it.

The Starting Point

The mobile score was sitting at 51, and the desktop score around 75~ on average. Not catastrophic but clearly in need of work. These are the kind of scores where your store is technically functional but Google is quietly pushing it down in search results and a meaningful chunk of visitors are leaving before the page finishes loading.

It's not the worst I have seen, but for a store investing in product photography and visual branding, it was leaving a lot on the table. We wanted to extract every last bit of performance out of it.



What Google PageSpeed Insights Found

Load time up to 20 seconds. The main hero content; the large banner images and product visuals that are the first thing visitors see; were taking up to 20 seconds to appear on screen. For context, Google's own data shows that 53% of mobile visitors abandon a page that takes more than 3 seconds to load. At 20 seconds, the vast majority of visitors never saw the products at all.

Poor image delivery. Around 166 KiB of savings were available just from image optimization alone; through better compression, modern formats like WebP and AVIF, and proper lazy loading. For a store that sells products entirely based on how they look, this was the most critical issue.

Render-blocking requests adding 710ms of delay. CSS and JavaScript were loading in a way that prevented anything from appearing on screen until they finished. This added over half a second of blank screen before a single pixel was visible; on top of the already slow image loading.

Unused JavaScript; around 336 KiB. This is a significant amount of dead code being downloaded and processed by the browser on every single page load. Code from apps, theme features or previous customizations that serves no purpose but still costs the visitor time.

Unused CSS; around 125 KiB. Similar issue; stylesheet bloat that the browser has to process even though none of it is being used on the page.

Cache efficiency could be improved. Around 354 KiB of assets were not being cached efficiently for returning visitors. Not a critical issue on its own but worth addressing; every returning customer was re-downloading assets they had already loaded before.


What I Did to Fix It

As always; every fix was done manually. No speed optimization apps; no shortcuts that add more bloat than they remove.

I manually optimized every image on the store; converting them to modern formats, compressing them correctly and implementing lazy loading so images only load when they are about to enter the viewport. Image savings went from around 166 KiB down to 77 KiB.

I resolved the render-blocking issue by deferring and async-loading non-critical JavaScript and addressing critical CSS delivery; bringing render-blocking time from 710ms down to almost nothing.

I cleaned up the unused JavaScript; eliminating 336 KiB of dead code from the critical load path entirely. It no longer appears as a major issue in the optimized report.

I reduced unused CSS from 125 KiB down to 45 KiB by auditing and purging unnecessary stylesheet rules with UNCSS on my custom workflow.

I improved cache lifetime configuration so returning visitors load assets from cache rather than downloading everything fresh; bringing cache savings from 354 KiB down to 141 KiB.

Finally I audited every installed app; removed residual code left behind by previously uninstalled apps and reorganized how active apps load so they no longer compete with critical page resources.

The Results


Mobile score: 51 to 97
Desktop score: 78 to 99
Main content load time: 20 seconds to 0.6 seconds
Total Blocking Time: 710ms to 0ms
Page now fully responsive with zero lag on both mobile and desktop.

And as always, here is the proof on PageSpeed Insights.

Why This Matters for a Visual Store

HighlyHome sells products that people buy with their eyes. Galaxy projectors, mushroom lamps, space-themed lighting; these are impulse and gift purchases driven entirely by how magical the product looks in the imagery. If those images take 20 seconds to appear, the magic never lands. The visitor is gone long before they feel anything.

At 0.6 seconds, the hero image appears almost instantly. The product looks stunning from the first frame. That is the experience the store was designed to deliver; and now it actually delivers it.

Is Your Shopify Store Slow?

If you are running an image-heavy Shopify store and you are not sure how it performs; I offer a free manual speed audit. I will test your store, identify the exact issues slowing it down 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