- Web Core Vitals are more important now than ever before when it comes to optimizing your web store for organic search and great customer experience.
- Customers expect a store that’s seemingly instant to load but still feature-packed and intuitive to use.
- Shopify’s App system is essentially doomed/broken by design and cannot be blindly trusted. Apps must be appraised for performance. The power is all right in the store owner’s hands! We can simply vote with our dollars; that’s the beauty of the free market, after all.
The Root Cause: Over-utilizing resourcesThe majority of problems in optimizations we perform that lead to a poor score all have the same root cause: over-utilization of resources. In layman’s terms – asking too much of the technology.
The internet has come a huge way since Shopify launched, and I’ve been able to watch the whole thing develop as I’ve been a Shopify partner for just over 15 years now. It’s incredible to watch because the same problem of over-utilization has been a root cause since the very beginning, although in the past years, it has improved somewhat.
I truly hope it will continue to improve with OS2.0!
54 installed apps is the current Speedboostr highscore. We welcome anyone to attempt getting a good score with high a utilization! Over 20 is really pushing it. Less is more.
A prime example of over-utilization 161 Requests and a 17-second finish – all because of third-party apps that make numerous requests of 500ms+ (half a second)
👉 To explain better – Shopify enables over-utilization due to the way the App system is designed. Store owners are hardly to be blamed for ending up with 30-second+ finish times and 20 seconds of TBT/FCP/LCP when Apps are allowed to do pretty much whatever they want, as long as it’s not on the API.
It’s certainly an oxymoron; the strict rules applied to obtaining an official Theme status do not also apply to the Apps.
Themes must be built for performance, but Apps have no such ‘speed performance’ scale.
It is crazy when you can easily buy an awesome OS2.0-approved theme and have an 80+ page speed score by default (maybe even 90), and then with just a few clicks of adding free Apps, and scripts, have the score plummet and then spend a year or so, plus plenty of invoices to experts, just trying to figure it all out. When the answer was to simply cull down on your network utilization.
What further rubs salt in the wound, is this score is now displayed in the top of the themes editor! This score is affected by Apps, because the entire configuration is benchmarked.
Of course – there are rules that have been put in place to ensure the API is used correctly, and now also to prevent data mining and dishonest App activity, which has always been that strange number one request for custom apps that fills me with sadness when prospective clients ask me ‘Can we record all of the stores data with this?’ – some clients simply want to data mine all of the installs to find the number one products and then copy it, simply as an underhand way to try and get ahead in life.
Although this is no longer allowed since around 2022, it was commonplace in apps for years, and explains why there are so many free apps for very simple features. If it’s too good to be true, it usually is.
Hammering the Shopify CDNToo much of a good thing can also be the issue with over-utilization. Shopify is a SaaS, and that means we have to share with everyone else and therefore like any Content Delivery Network (CDN) the service must be load-balanced for QoS (Quality-of-Service) and ensure HA (High Availability)
The terminology may sound alien or just far-fetched techno babble to a store owner, possibly because Shopify feels limitless in the modern era, as does computing in general.
But this is all just the veneer that humanity has achieved by endless optimization, continuous integration, and teams persistently iterating over the product again and again.. and again to improve it. Under the hood, everything has been made to be as lightweight as possible so delivery over the internet is as performant as possible.
With all that being said – Shopify does still just run on servers, in a datacenter somewhere, connected to the net, which has the same constraints that we all have to deal with.
👉 Devices have a 6 thread concurrent request count limit. Meaning they can only do 6 things at once. Therefore – If you want to load 200 requests, then there’s gonna be a whole lot of waiting around, there’s no way to optimize it further.
Stay lean, don’t try to hit limitsThe trouble is that you can configure your store however you want, and load as many products and images as you like. That doesn’t mean it’s a good idea. They’ll be no warnings or dialogues that pop-up telling you to hold your horses and just pick the best. You can add as much as you like to your home page really, and if you hit a limit – you can always ask someone to modify the code.
Again this doesn’t mean it’s a good idea, but you may not be told because it’s a conflict of interest.
The bottom line is; When you start loading excessive images you get throttled. So just downloading a 400kb image, takes over a second and a half! Look below!
Loading 30+ images by default even with lazy loading, if they are in the pagefold the performance is going to be abysmal at best, and often even with Lazy loading due to the way the user interacts with the page, throttling at the CDN level still kicks in.
With a lean and mean configuration our client was able to reduce down their requests to only the bare minimum, resulting in 90+ scores on Mobile – even with Yotpo and Bold running!
This optimization didn’t fair as well because the network is heavily over-utilized by many slow requests from third-party apps.
🏆 Hall of Fame Aug 2023 – Apps That Optimize Great
- Bold Subscriptions
- Infinite Options
- Google Analytics GA4 + Google & Youtube Sales Channel
- Klaviyo (with Full Forms disabled)
- Frequently Bought Together (Code BlackBelt)
Take advantage of the free trial, and remain agile.It’s clear that Shopify still have a long way to go in enforcing performance in the Shopify App store, but thankfully the top developers are already well aware – and are working on ensuring their Apps load quick, produce great Core Web Vitals scores, and don’t clog up the requests causing excessive finish times!
App developers having to cut corners for profit margins is always a concern, a Shopify App may have good performance for years and then suddenly eat it, often enough this is because they host on AWS and the prices vary from year to year – usually only going up (I mean someone’s gotta pay for these spaceships and keep the stock going up right? 😅)
This means the app developer has to cut costs to stay afloat and performance is what takes the hit!
To avoid running into configuration issues caused by slow apps, always test them out! Always appraise an app for performance before committing to it. Make use of the free trial to really put it through it’s paces.
Thanks for reading, always feel free to email us or leave a comment if you need an app appraisal / audit and consider it done!