You installed a color swatch app. Then a variant image app. Then a product grouping app. Then a quick view app. Then an image zoom app. Each one adds JavaScript, CSS, and API calls to your storefront. Five apps that each add 0.5 seconds to page load means 2.5 extra seconds before your customer sees the product page.
Google measures this. Core Web Vitals directly affect your search rankings. Each additional second of load time drops conversion 7-20%. Your app stack is probably costing you more in lost sales than the app subscriptions cost in monthly fees.
Here is how to audit your apps and cut the fat without losing the features you actually need.
In this post
- The app bloat problem
- Step 1: Measure your current speed
- Step 2: Identify the heavy apps
- Step 3: Consolidate overlapping apps
- What to look for in lightweight apps
- The variant image + swatch stack
- Frequently asked questions
- Related reading
The app bloat problem
The average Shopify store runs 6-10 apps. Some stores have 20+. Every app that touches the storefront injects code into your pages. Even apps you installed months ago and forgot about might still be loading scripts on every page view.
The problem compounds. Each app adds:
- JavaScript files: The browser has to download, parse, and execute these before the page becomes interactive.
- CSS files: Additional stylesheets that may conflict with your theme or other apps.
- External API calls: Some apps fetch data from their own servers after the page loads. This adds network round-trip time.
- DOM manipulation: Apps that modify the page structure can cause layout shifts (bad for CLS score).
Two apps doing similar things (like two swatch apps) is worse than one. They compete for the same DOM elements, fire duplicate event listeners, and load redundant CSS. For context on how swatch apps affect speed, read our swatch app speed performance comparison.
Step 1: Measure your current speed
Before removing anything, measure your baseline. You need numbers to compare against.
- Google PageSpeed Insights (pagespeed.web.dev): Enter your product page URL. Note the Performance score, LCP, INP, and CLS values.
- Chrome DevTools Network tab: Open a product page, open DevTools (F12), go to the Network tab, and reload. Count the total number of requests and total transfer size. Filter by JS and CSS to see how many scripts are loading.
- Shopify’s built-in speed report: Admin > Online Store > Themes > Speed. This gives a score relative to other Shopify stores.
Write these numbers down. You will compare them after each change.
Step 2: Identify the heavy apps
The fastest way to find which apps are slowing you down:
- Go to Theme Editor > App Embeds. This shows every app that injects code into your storefront.
- Disable all app embeds. Run PageSpeed Insights again. Note the score. This is your “clean” baseline.
- Enable apps one at a time. After enabling each app, run PageSpeed again. The app that causes the biggest drop is your heaviest.
This takes 20-30 minutes but gives you exact data on which apps cost the most performance. Some apps add 0.1 seconds. Some add 2+ seconds. The difference matters.
Also check: do you have apps installed that you are not using? Go to Admin > Settings > Apps and sales channels. If you see apps you forgot about or no longer need, uninstall them. Even disabled app embeds can leave residual code in your theme.
Step 3: Consolidate overlapping apps
The biggest speed gains come from replacing multiple single-purpose apps with one that does everything. Common overlaps in the variant image space:
| Instead of… | Use… |
|---|---|
| Separate swatch app + separate image filtering app | One app that does both (like Rubik Variant Images) |
| Manual image tagging + separate bulk tool | One app with AI auto-assign + bulk assign built in |
| Swatch app + image zoom app | Most swatch apps work with your theme’s built-in zoom |
| Color swatch app + size selector app | One app that mixes swatch types per option |
Every app you remove saves JavaScript, CSS, and API overhead. Replacing 3 apps with 1 does not just save 2 app subscriptions. It removes 2 sets of scripts from every page load.
What to look for in lightweight apps
When evaluating which app to keep (or switch to), check these performance signals:
- Metafield-based loading: Apps that store data in Shopify metafields load data with the page. No external API calls after page load. This is the fastest approach.
- Shadow DOM: Apps that render inside Shadow DOM isolate their CSS from your theme. No CSS conflicts, no layout shifts from competing stylesheets.
- No external server calls: Some apps fetch data from their own servers after the page loads. Each call adds 100-500ms of latency. Look for apps that load everything from Shopify’s CDN.
- Built for Shopify badge: Shopify reviews these apps for performance, security, and quality. It is not a guarantee of speed, but it is a minimum quality bar.
- Minimal JavaScript footprint: Check the Network tab. How many KB of JavaScript does the app load? Anything under 50KB is lightweight. Over 200KB is heavy.
The variant image + swatch stack
For stores that need variant-specific images and visual swatches, here is the leanest setup:
Product pages: Rubik Variant Images handles variant image filtering, visual swatches (color, image, pill), AI auto-assign, and bulk assign in one app. It loads from metafields (no external API), renders in Shadow DOM (no CSS conflicts), and supports 350+ themes including 7 page builders. One app replaces a swatch app + an image filtering app + a bulk image tool. Read the full FAQ on rubikvariantimages.com for details on what it covers.
Collection pages + product grouping: If you also need color swatches on collection page product cards or need to link separate products as variants, add Rubik Combined Listings. Same architecture: metafield-based, Shadow DOM, no external calls. Two apps total covering everything most stores need. Learn more about combined listings on rubikify.com.
Compare this to a setup with a separate swatch app, a separate image filtering app, a separate product grouping app, and a separate collection swatch app. Four apps with four sets of JavaScript, CSS, and potential API calls. Two apps versus four. The speed difference is measurable.
For a detailed comparison of how different swatch apps affect store speed, see our speed performance comparison. And for the full app landscape, see every variant image app compared.
Watch It in Action
See how Rubik Variant Images consolidates variant images, swatches, and AI assignment in one app:
Frequently asked questions
How many apps is too many on Shopify?
There is no magic number. What matters is the total JavaScript and CSS loaded on your storefront. A store with 15 lightweight apps can be faster than a store with 3 heavy ones. Measure with PageSpeed Insights rather than counting apps.
Will uninstalling an app break my store?
Some apps modify theme code during installation. Before uninstalling, check if the app has a “clean uninstall” option that removes injected code. If not, check your theme files for leftover snippets after uninstalling. Most modern apps using the app embed system leave nothing behind when removed.
Do disabled app embeds still affect speed?
A disabled app embed should not load scripts on your storefront. But some apps inject code directly into theme files (not via embeds). Check your theme’s theme.liquid and snippets folder for app-related code even after disabling the embed.
What makes Rubik faster than multiple separate apps?
One JavaScript bundle instead of three. Metafield-based data loading (no external server calls). Shadow DOM rendering (no CSS conflicts). The combined code footprint of Rubik Variant Images + Rubik Combined Listings is smaller than most single-purpose apps because both use the same architecture.





