This Shopify Store Scored 25 on PageSpeed And I Brought it to 100 - Here is What Was Broken

This Shopify Store Scored 25 on PageSpeed And I Brought it to 100 - Here is What Was Broken
Reading Time

When this pet store owner reached out to me I confess it was a surprise. This pet store was running on the Echo theme, a premium $280 Shopify theme, and scoring 25 on desktop PageSpeed. For reference, the average score I see on desktop is around 60, so I knew something was very wrong.

After thorough investtigation and work, I brought it to 100 on desktop and 95 on mobile. As always, I am confident that results speak louder than words, so here is the PageSpeed Insights analysis of the website in question, so you can see the results for yourself.

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

The Starting Point



A desktop score of 25 means Google considers this store underperforming, which has a direct impact on search rankings and how many people find it organically. But the score alone does not tell the full story.

The most revealing number in the audit was the Total Blocking Time of around 6.4 seconds. This means the page was completely unresponsive to any interaction for over 6 full seconds after it started loading. Visitors could not scroll, tap or click anything during that window. On mobile, that is a long time to wait.

And the total page size came in at roughly 23MB. That is a colossus! A well optimized Shopify store typically sits well under 3MB. This one was loading nearly 8 times that on every single visit. No wonder the bounce rate was through the roof.

After auditing the website, I noticed that the main issue was an excessive usage of apps.


What Google PageSpeed Insights Found

Around 23MB of total page size. Every visitor was downloading roughly 23MB of data just to view the homepage. Uncompressed scripts, apps and redundant stylesheets all stacking on top of each other. In this particular case, creating a custom script to lazy-load the apps was absolutely necessary.

Around 2MB of unused JavaScript. Nearly 2MB of JavaScript was being downloaded and processed on every page load without serving any real purpose. Code left behind by apps or unused theme features, all silently consuming resources in the background.

Around 800 KiB of potential savings from image delivery. The product photography was not optimized for web delivery. Uncompressed, in legacy formats, loading at full resolution regardless of the device.

Around 1.3MB of assets not being cached efficiently. Returning visitors were re-downloading over 1MB of assets they had already loaded before. Logo, product images, scripts, all being fetched fresh on every visit.

Around 120 KiB of unused CSS. Stylesheet bloat being downloaded and processed on every page load without any of it being used. It seems like a tiny bit, but every 1% counts.

A CLS score of 0.505. Cumulative Layout Shift measures how much the page visually moves around as it loads. At 0.505, product images, text and buttons were shifting position during load. Once again, this points towards apps: code is being injected on page load, shifting the page around.


What I Did to Fix It

Every fix was done manually. No speed optimization apps, no automated tools that often create as many problems as they solve.

The page size was the priority. I manually optimized and compressed every image on the store, converting them to modern formats, implementing responsive sizing so mobile devices do not download full desktop-resolution images, and adding proper lazy loading throughout. Image savings went from around 800 KiB down to around 325 KiB.

I removed the unused JavaScript problem at the root. Around 2MB of dead code was cleared from the critical load path entirely and it no longer appears as a major issue in the optimized report.

Unused CSS went from around 120 KiB down to around 22 KiB after auditing and removing stylesheet rules that were loaded but never applied.

Cache lifetime was fixed so returning visitors load assets from cache rather than downloading everything fresh. Cache savings dropped from around 1.3MB down to around 76 KiB.

Render-blocking requests were addressed by deferring non-critical JavaScript and improving how critical CSS is delivered, reducing blocking time meaningfully.

The layout shift issue was resolved by adding explicit dimensions to images and media elements so the browser reserves the correct space before they load, which eliminates the jumping entirely.

Finally I audited every installed app and deleted the ones the client allowed me to. Most apps in there were not essential and were added for the sake of testing. With the remaining essential apps, I lazy-loaded them. Total Blocking Time went from around 6.4 seconds down to 0ms.

The Results


Desktop score: 25 to 100
Mobile score: 95
Total Blocking Time: ~6.4 seconds to 0ms
CLS: 0.505 to 0
Total page size: ~23MB to well under 3MB

A Perfect 100. Does it Actually Matter?

I'm gonna be honest, a score of 100 is uncommon. Even though it's of course my main goal, it's not a guarantee.

Most well optimized stores land in the 85 to 95 range, which is already perfect. Getting to 100 means addressing every flagged issue without exception, and it is not always achievable depending on the apps and customizations a store has in place.

This was an atypical scenario where this achievable. A perfect score gives Google no performance-related reason to push the store down in search rankings. Combined with the blocking time dropping from 6.4 seconds to zero, the store now feels instant and responsive on every device.

For a store selling on trust and visual appeal, that difference matters. Visitors see the product images load in under a second with no lag and no layout shifts. The product sells itself, as long as the page loads fast enough to let it.

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