Why is my Shopify store slow? A 20-minute check for each likely cause
Apps, theme, images, widgets, fonts and tags. How to check each one on your own store in 20 minutes.
It is Sunday night. You open your own store on your phone, on the sofa, on home wifi. The logo appears. Then a grey box sits where the hero image should be. You count to three. Then you wonder what a shopper on a train sees.
In this article
This guide gets you one thing: a short list of what slows your store, in order. You can then fix the top item first. Most checks need no developer and take a few minutes each.
What "slow" means: three numbers Google measures
Google rates page experience with three Core Web Vitals. Each one matches a moment you felt on the sofa.
≤ 2.5s
Largest Contentful Paint (LCP)
How long the main image or text block takes to appear
≤ 200ms
Interaction to Next Paint (INP)
How fast the page responds to a tap
≤ 0.1
Cumulative Layout Shift (CLS)
How much the page jumps while it loads
Poor starts above 4 seconds for LCP, 500 ms for INP and 0.25 for CLS. The same thresholds apply on phones and desktops. A page passes when 75% of visits meet all three.
The grey box on your phone was LCP. A gallery that pushed the Add to cart button down is CLS. A size picker that lags after a tap is INP.
Where to look first: Shopify's Web performance report
Shopify measures these three numbers from your real visitors. In your admin, go to Online Store > Themes. A summary at the top links to the full report. You can also open it from Analytics > Reports.
Each metric gets a rating of Good, Moderate or Poor. You can split the results by page type and by device. Look at mobile product pages first. That is where the buying decision happens.
You need the Reports staff permission to see it. A store with a password or in private mode has no visitor data yet.
Then run PageSpeed Insights on one product page
Open PageSpeed Insights and paste the URL of a busy product page. Keep the Mobile tab selected.
The top section is field data from Chrome users over the last 28 days. It only appears for URLs with enough traffic. The lower section is a lab test by Lighthouse. It loads the page once on a simulated phone and network.
Use the field data to judge. Use the lab report to find causes. Its diagnostics list the largest files, the slowest scripts and the elements that shifted.
Web performance report
Real visitors to your store.
Wins at
- Covers your whole store
- Splits by page type and device
- Good, Moderate or Poor per metric
Struggles with
- Does not name the file at fault
- Needs live traffic to fill
PageSpeed Insights
One URL, field and lab together.
Wins at
- Lists heavy files and slow scripts
- Shows which element is the LCP
- Free, and works on any store
Struggles with
- Lab result is one simulated load
- Field data only for busier URLs
Use both. Read the field numbers to judge, and the lab list to fix.
Cause 1: too many apps, and code from old ones
Each app that adds something to your storefront can load its own script. Shopify's help pages name app count as a common reason stores slow down.
Old apps matter too. Shopify says uninstalling an app does not always remove its code from your theme. Apps built on theme app extensions clean up after themselves. Older apps that edited theme files may leave snippets behind.
- List what runs. Go to Settings > Apps. Remove anything nobody has opened in months.
- Check app embeds. In the theme editor, open App embeds. Switch off any you no longer use, then save.
- Search the theme code. Look in
layout/theme.liquidand thesnippetsfolder for old app names. - Ask the developer. Before you uninstall, ask the app's maker for removal steps.
Not sure what is installed? The competitor stack detector lists the reviews, UGC and video apps a store page loads. Run it on your own URL.
Cause 2: a heavy theme and too many sections
Every section on the home page adds images, markup and often script. Shopify advises limiting the number of sections per page. It also advises paginating large collections.
Check which theme you run and its version. The Shopify theme detector tells you in a few seconds. An old, heavily edited theme often carries code for features you removed years ago.
A quick test: duplicate your theme and remove the bottom half of the home page sections. Run PageSpeed Insights on the preview. If the lab numbers improve a lot, the sections are your problem.
Cause 3: images and video sized for a billboard
Shopify's image CDN already picks WebP or AVIF for browsers that support them. It also resizes and compresses. That only works when the theme asks for the right size.
- Find the LCP element. PageSpeed Insights names it. On product pages it is usually the main photo.
- Never lazy-load that image. Shopify's theme guidance says the LCP image must load straight away.
- Lazy-load the rest. Images below the fold can wait until the shopper scrolls.
- Watch hero video. A video's poster image can be the page's LCP element. Keep the poster light.
- Give every image a size. Width and height, or a CSS aspect ratio, stop the page jumping.
Cause 4: third-party widgets, ours included
Review stars, UGC galleries, chat bubbles and pop-ups all run someone else's script on your page. Any of them can slow it. That includes UGC and shoppable video widgets like ours.
Shopify's developer docs suggest a clean test. In Chrome DevTools, block one widget's domain and record a page load. Then compare scripting time with the widget on and off.
When you look at a UGC or review widget, check three things.
- Script size. How many kilobytes load before the first tile shows? Check the Network tab, filtered by the vendor's domain.
- Lazy loading. A gallery below the fold should not fetch images or video on page load.
- Layout shift. The widget should reserve its space. If the page jumps when tiles appear, CLS suffers.
Our widget speed checklist turns this into eight tests. Use it on any vendor, including us.
We make Idukki, so here is how our widget handles this. Videos that are off screen do not preload. On phones, tile previews wait until the shopper first scrolls or taps. You should still test it on your own pages.
Load widgets only where they earn their place. Shopify's docs suggest limiting a review widget to product pages with a template check.
Cause 5: custom fonts
Each custom font file is another download before text looks right. Shopify recommends system fonts because the shopper already has them.
If you keep a brand font, count the files. Each extra weight is another download. Web.dev suggests font-display: swap for brand text and optional for body text. A late font swap can also shift the layout.
Cause 6: tracking pixels and tag managers
Pixels pile up. A campaign ends, and its tag keeps firing on every page. Shopify's developer docs rank a script audit as the top fix for slow taps.
Open your tag manager and list every tag with an owner and a reason. Remove any without both. Then check theme.liquid for pixels pasted in by hand.
Check it in 20 minutes
The 20-minute pass
- 01
Read the numbers
Web performance report, then PageSpeed Insights on mobile.
0–6 min
- 02
Clear out apps
Installed apps, app embeds and leftover code.
6–13 min
- 03
Test widgets
Kilobytes and requests per vendor before first paint.
13–16 min
- 04
Fonts and tags
Count font files. Find tags with no owner.
16–20 min
| Minutes | Check | Where | What to note |
|---|---|---|---|
| 0 to 3 | Real-visitor ratings | Online Store > Themes, Web performance | Which metric is Poor or Moderate on mobile |
| 3 to 6 | Lab test | PageSpeed Insights, Mobile tab | The LCP element and the largest files |
| 6 to 9 | Apps installed | Settings > Apps | Apps nobody has opened in months |
| 9 to 11 | App embeds | Theme editor, App embeds | Embeds still on for removed features |
| 11 to 13 | Leftover code | Edit code: theme.liquid, snippets | Script tags for apps you uninstalled |
| 13 to 16 | Widgets | DevTools Network tab, filtered by vendor | Kilobytes and requests before first paint |
| 16 to 18 | Fonts | Theme settings, Typography | Number of custom font files |
| 18 to 20 | Tags | Your tag manager | Tags with no owner or no live campaign |
For a second opinion on a product page, run the PDP audit. It checks LCP signals, widgets, video and mobile in one pass.
FAQs
Why is my Shopify store slow on mobile but fine on desktop?
Phones have slower processors and often slower networks. Script that runs fast on a laptop can block a phone. Check the mobile split in Shopify's report and run PageSpeed Insights on the Mobile tab.
Does uninstalling an app make my store faster?
Often, but not always. Shopify says some apps leave code in your theme after you uninstall them. Search theme.liquid and the snippets folder for the app's name.
Why does my PageSpeed score change each time I run it?
The lab test is a single simulated load, so it varies run to run. The field data covers 28 days of real Chrome users. Judge by the field data.
Will a reviews or UGC widget slow my store?
It can. Check its script size and whether it lazy-loads images and video. Then check whether the page jumps when it appears. Block its domain in DevTools to compare.
Sources
- 1web.dev, Web Vitals · Good thresholds: LCP 2.5 s, INP 200 ms, CLS 0.1. Measured at the 75th percentile. Checked 21 October 2026.
- 2web.dev, How the Core Web Vitals thresholds were defined · Same thresholds for mobile and desktop. Poor above 4 s, 500 ms and 0.25.
- 3web.dev, Largest Contentful Paint (LCP) · Video poster images count for LCP.
- 4web.dev, Optimize Cumulative Layout Shift · Set width and height on images and video, and reserve space for embeds.
- 5web.dev, Best practices for fonts · font-display swap for branding, optional for body text.
- 6Shopify Help Center, Web performance reports · Reached from Online Store > Themes or Analytics > Reports. Good, Moderate or Poor per metric. Needs the Reports permission.
- 7Shopify Help Center, Improving web performance · App count, leftover app code, section count, system fonts.
- 8Shopify Help Center, Uninstalling apps · Some apps add theme code that is not removed on uninstall.
- 9Shopify Help Center, Theme images · Shopify serves WebP or AVIF to browsers that support them.
- 10shopify.dev, Audit and remove third-party scripts · Leftover app code, DevTools domain blocking, loading widgets only on product pages.
- 11shopify.dev, Never lazy-load the LCP image
- 12shopify.dev, Identify and remove fake performance apps
- 13shopify.dev, Apps in the online store · App blocks and app embeds are removed automatically on uninstall.
- 14Google for Developers, About PageSpeed Insights · Field data from the Chrome UX Report over 28 days. Lab data from Lighthouse.
Continue reading
6 pieces in this clusterThese long-form pieces on the Idukki blog link back to this article, go deeper on the cluster.
- Strategy
BFCM 2027: a 12-month plan that starts in January
Black Friday 2027 is 26 November. Plan the customer content your product pages need by then, month by month. Start with this year's unboxings.
- Strategy
How to build a Christmas gift guide page that sells
Sort by recipient and budget. Show each gift in customer photos and video. Then switch to last-minute mode after Super Saturday.
- Strategy
Black Friday vs Cyber Monday: what to change on your store between the two
The two days side by side in Adobe and NRF numbers. Then what to swap on your homepage, landing pages, email and proof over the weekend.
- Strategy
Black Friday landing page checklist: what goes above the fold
The first phone screen of your Black Friday page has room for six things. Here they are, with a printable checklist and a Cyber Monday swap.
- Strategy
Black Friday 2026 is five weeks out: the social proof plan
A week-by-week plan from 23 October to Cyber Monday. Pick hero products, clear rights, put proof where the ads land, check speed, then freeze.
- Buyer's guides
Best Shopify apps for Black Friday 2026: social proof, video and reviews
Nine apps for product page proof: reviews, shoppable video, UGC galleries and a countdown bar. Price, what the bill counts, free plan and setup. We make Idukki.
More from Rohin Aggarwal
- Strategy
Lightweight UGC at peak: posters under 79KB and zero layout shift
Peak-week PDP traffic exposes heavy galleries. Use poster-first delivery, fixed aspect ratios and deferred video. Customer proof then stays inside Core Web Vitals.
- Buyer's guides
Post-holiday Shopify stack audit: seven apps to reconcile in January
After peak, reconcile review, UGC, loyalty, search and chat apps. What each bill counted and what overlaps. We make Idukki.
- Strategy
From Shopify to Amazon: one UGC pipeline, every storefront
If UGC already runs on your storefront, the expensive parts of the Amazon problem (collection, rights, product tagging) are already solved. The honest accounting: what transfers untouched, why ASIN mapping is the only genuinely new step, and where Amazon's assets-not-embeds model changes the rules.