Scan a Shopify store · Store scanners · Free tool

What is weighing down my Shopify store's code?

Last updated

Paste a store home page, or any product or collection address. One read of the public page, with no account and no install. The page is not kept, and none of its text or the domains it uses come back to your browser.

What you get back

Ten counts of the code on that page, each marked fine or worth a look: apps doing the same job, scripts apps add everywhere, outside domains, script and stylesheet files, scripts in the head, code written into the page, page size, and images with no set size or loaded straight away. It reads the code; it does not time the page.

The ten things it counts

A Shopify app bloat check reads the code one storefront page carries, such as script files, scripts added by apps, outside domains, stylesheets and images without a set size, and flags anything past a sensible level as worth a look, so a store still running two popup apps after a switch sees both named side by side.

Every count comes from the public page at the address you enter, read once and never run in a browser. There is no timing, no outside performance data and no speed score anywhere in the report.

10 counts taken from the page your shoppers are sent, each marked fine or worth a look against our own levels. They point at where extra weight usually hides on a Shopify store: apps, pasted snippets and theme sections.

Apps doing the same job
Two recognised apps in one category, such as two review widgets or two popup tools. The usual leftover of a switch where the old app was never removed.
Scripts apps add to every page
Code an app has asked Shopify to include on each storefront page. More than 6 is worth matching against the apps you still pay for.
Outside domains
How many other domains, beyond the store and Shopify, the page pulls code or styles from. Shown as a count only. Past 12 is flagged.
Script files
Separate script downloads referenced by the page, from the theme and from apps. Past 35 is flagged.
Scripts that hold up the first paint
Script files in the page head with nothing telling the browser it may carry on drawing meanwhile. A few are normal; many usually means snippets pasted into the theme by hand.
Code written into the page
Script typed straight into the page rather than kept in a file, so it arrives again with every page view. Past about 150 KB is flagged.
Page size before images
The weight of the page document alone. Past about 500 KB is flagged.
Stylesheets, image sizes and lazy loading
Separate stylesheet files, images with no width and height to reserve space, and images fetched at once rather than when the shopper scrolls near them.

Nudgesmart is available on the Shopify App Store. Browse the template library or see what it costs.

Four sample pages, counted

Sample pages, not real stores. Each goes through the same counts as the checker above: a stock theme with two apps, a store still carrying apps it replaced, one with tracking snippets pasted into the head, and a page from another platform.

Sample pages and how the app bloat checker reports them
Sample pageCounts flaggedFirst thing worth a look
A stock theme with two apps0 of 10 worth a lookNothing stands out
Two popup apps and two review apps, all still installed2 of 10 worth a lookApps doing the same job: Reviews: Judge.me and Loox; Popups: Privy and OptiMonk
Tracking tags pasted into the theme head by hand3 of 10 worth a lookScripts that hold up the first paint: 4 scripts
A page from a site that is not on ShopifyNo reportNot a Shopify page
The second row is the common one. A store that switched popup or review apps often still has the old one installed, so both sets of code arrive on every page until the unused app is removed.

A code read, not a stopwatch

It reads code. It does not time the page

This check reads the code a page carries and counts it. It never loads the page in a browser, never runs its scripts and never times anything, so it gives no load time, no speed score and no promise that a change makes the store faster.

The levels are ours

Fine and worth a look are judgement calls about where a typical Shopify storefront sits, not an industry standard. A store over one level can feel quick, and one under every level can still feel slow on a weak phone signal.

Only what the page names up front

Scripts that other scripts fetch later, after the page has opened, are not in the page itself and so are not counted. The real total is usually higher than the counts here.

The app list is short on purpose

Only apps from our own list of common conversion and marketing tools are named. Others still show up in the counts, just without a name, and an unnamed domain is never printed.

Every app adds something, ours included

No app is free of code. The useful questions are whether you still use each one, and whether it does anything on a page where it has nothing to show.

App bloat questions

Is this a Shopify speed test?

No. It is a speed check in the narrow sense of pointing at what weighs the code down. It reads one page and counts scripts, apps, outside domains and images, but it never times the page and gives no speed score.

How do I find apps that slow down my Shopify store?

Start with the rows for apps doing the same job and scripts apps add to every page. Match each against the apps you still pay for, uninstall the ones you do not, and check the theme app embeds for anything left switched on.

Does uninstalling an app remove its code?

Usually, but not always. Code an app added through the theme editor goes with it, while snippets pasted into theme files by hand or during setup can stay behind. If a removed app still appears here, its support team can help clear it.

Should every image load lazily?

No. The first images a shopper sees should load straight away; only the ones further down can wait. That is why a few images loaded at once is fine and only a long list is flagged.

Is the page I check stored?

No. The page is read on our server, reduced to counts and to names from our own app list, then discarded. None of its text, and no domain it uses, comes back to your browser.

Get started

Every app should earn the code it adds.

With no active campaign, the Nudgesmart campaign engine never runs on the storefront, and it installs as a theme app embed that never edits theme code.