Disclosure: ThemeSweep is built by JMS Dev Lab, the publisher of this blog. This article is mostly about the free diagnostic tools anyone can use. ThemeSweep comes up near the end because it fixes the specific problem most merchants uncover.
You launch a campaign. Traffic arrives. The email converted, the ad spend landed, the Instagram story did its job. Visitors are on your product page. And then they leave.
You check Google PageSpeed Insights out of curiosity and see a mobile score of 38. You have no idea what that number means, whether it is the cause of the flat conversion rate, or what to do about it. So you close the tab and tell yourself you will deal with it later.
Six months later, the score is still 38. Every campaign you have run since has been leaking money into the gap between "visitor arrives" and "page is actually usable." A 1-second delay in mobile load time reduces conversions by around 7%, and most underperforming Shopify themes are losing three to five seconds they do not need to lose.
This post is the diagnostic step I wish every Shopify merchant would run once a quarter. It takes about 20 minutes. You need no technical skill and no paid tools. At the end, you will know exactly what is slowing your store down and what to do next.
There are dozens of speed-testing tools. You only need three. Each one measures something slightly different, and you want all three data points before you decide what to fix.
URL: pagespeed.web.dev. Paste your store URL in, wait 30 seconds, and read the mobile score first. Mobile is what Google ranks on and what the majority of Shopify traffic arrives on.
What to look at:
Run the test on your homepage, a collection page, and a product page. Mobile scores are often worst on product pages because that is where the most apps inject the most code.
URL: gtmetrix.com. Free account gets you one test at a time with a clear waterfall chart. This is the tool you will spend the most time with.
What to look at:
In your Shopify admin, go to Analytics → Reports → Web performance. Shopify runs its own Core Web Vitals checks on your store using real visitor data (not synthetic tests). This is the closest thing you have to what Google actually sees when it decides your search ranking.
Shopify grades each metric as Good, Needs Improvement, or Poor. If LCP or TBT is Poor, that is the thing to fix first.
Open your GTmetrix waterfall chart for a product page. You are looking for three specific smells.
Smell 1: Requests to domains you do not recognise. If your theme is loading JavaScript from cdn.some-reviews-app.com but you uninstalled that reviews app four months ago, that is dead code. The app is gone. The code in your theme is still fetching from its CDN on every page view. Sometimes the CDN returns a 404, sometimes it hangs, but it always wastes time.
Smell 2: Long bars on scripts that load before the main content. Render-blocking scripts are the reason LCP numbers are bad. A 1.5-second bar on a JavaScript file at the top of the waterfall means your visitor is staring at a blank screen for 1.5 seconds before anything useful appears.
Smell 3: Large image files. Any image over 500KB on a mobile page is a problem. Hero images over 1MB are common and almost always fixable with compression or format conversion (WebP).
Make a list of every suspicious request with its domain name and size. You will need it in the next step.
Here is where most merchants give up. You have a list of suspicious scripts loading from domains you do not recognise. But which ones belong to apps you are still using (leave alone) and which ones belong to apps you uninstalled months ago (safe to remove)?
This is harder than it sounds. When you uninstall a Shopify app, the app disappears from your admin but the code it injected into your theme stays behind. Every Liquid snippet, every stylesheet reference, every inline script — all of it persists until something explicitly removes it. Shopify does not do this. The app developer does not do this. Your theme keeps loading it forever.
The manual process is painful: open your theme code editor, search for every domain you flagged in GTmetrix, cross-reference each match against your list of currently installed apps in Settings → Apps and sales channels, and only delete what matches an uninstalled app.
If you have cycled through ten or more apps over your store's lifetime, this takes hours and it is easy to make a mistake. Delete the wrong snippet and your reviews widget disappears or your currency converter breaks. A safer path exists.
ThemeSweep is the tool I built to solve exactly this problem. It reads your current installed-apps list from Shopify's API, scans your theme files for known app code signatures, and only flags code that belongs to apps you have already uninstalled. It never flags code from an app you are still using, because it checks first.
A full scan takes under 60 seconds. You get a report showing every piece of orphaned code in your theme, grouped by the uninstalled app it came from. Before you remove anything, ThemeSweep automatically backs up your theme so you can restore with one click if something unexpected happens.
For most stores, removing the flagged dead code takes the PageSpeed score up by 15 to 30 points, drops LCP by 1 to 3 seconds, and cuts the total number of requests by a third. These are not hypothetical numbers — these are the typical results from the waterfall smells I described above, because dead code is the single biggest cause of them.
ThemeSweep plans start at $4.99/mo with a 14-day free trial. Scan your store and see the flagged list before you commit to anything.
Dead code is usually the biggest win, but it is not the only one. After running ThemeSweep, re-run PageSpeed Insights and GTmetrix. If you still have issues, tackle them in this order:
font-display: swap in your theme settings or limit yourself to one font family.Re-run all three speed tests after each change. You want to see the numbers moving in the right direction, not guess. If a change does not improve the scores, undo it.
Every quarter is a reasonable cadence. Also run the speed test any time you:
The merchants who keep their stores fast are not the ones with special knowledge. They are the ones who check the numbers regularly and act on what they find.
Whether you have questions about theme performance, need help interpreting a speed test, or want a hand cleaning up after years of app installs, we are here to help. Get in touch and tell us what the numbers are showing you.