Shopify Store Speed: How to Test It in 30 Seconds and Fix the 6 Most Common Problems
By Tania Ahmad, freelance Shopify & full-stack developer · Published · 8 min read
Quick answer
Go to pagespeed.web.dev, paste your store URL, choose Mobile and check three Core Web Vitals: LCP under 2.5 s, INP under 200 ms and CLS under 0.1. If they're red, the usual causes are oversized images, leftover app code, heavy sliders or videos, too many apps and scripts, too many fonts, or an old theme.
A slow store makes shoppers wait before they can see a product, tap a button or reach checkout, and many simply leave. The good news: you can check your store's speed for free in about 30 seconds, and most problems come from the same handful of causes.
How to test your Shopify store speed (free, 30 seconds)
- Open pagespeed.web.dev (Google PageSpeed Insights).
- Paste your store's homepage address and click Analyze.
- Make sure the Mobile tab is selected. Most shoppers browse on their phones, and mobile scores are always lower than desktop.
- Wait about 30 seconds and look at the three numbers below.
Repeat the test for one product page and one collection page. Those are usually heavier than the homepage.
The 3 numbers that matter
Google calls these the Core Web Vitals. These are the thresholds PageSpeed Insights uses:
| Metric | What it measures | Good | Poor |
|---|---|---|---|
| LCP — Largest Contentful Paint | How long until the main image or headline appears | 2.5 s or less | over 4 s |
| INP — Interaction to Next Paint | How quickly the page reacts when someone taps or clicks | 200 ms or less | over 500 ms |
| CLS — Cumulative Layout Shift | How much the page jumps around while loading | 0.1 or less | over 0.25 |
Two things confuse most store owners:
- "Real users" vs. the score. The top section shows real-visitor data from the last 28 days. Small or new stores often see "No data" there, which is normal. The 0–100 score below is a simulated test on a mid-range phone. Use it to spot problems.
- The score moves between runs. A change of about 5 points from one test to the next is normal. Run it 2–3 times and look at the trend.
Shopify also shows real-visitor Core Web Vitals inside your admin: go to Analytics → Reports and search for "web performance". A summary appears on the Online Store → Themes page too. New stores may not have enough data yet.
The 6 most common problems (and how to fix them)
1. Giant product images
A photo straight from a phone or camera can be several megabytes, and a collection page can load dozens of them. Shopify's image CDN already serves modern formats like WebP or AVIF to browsers that support them, but it still starts from your original upload, and themes don't always request sensible sizes.
- Resize photos to about 2000 px on the longest side before uploading. That's plenty for zoom on most themes.
- Make sure your theme uses responsive images, so phones get small versions and desktops get larger ones. In Liquid that means
image_urlwith awidth, orimage_tagwith awidthslist. - Compress lifestyle and banner images. They are often the heaviest files on the page.
2. "Ghost" code from apps you deleted
Some apps add code directly into your theme files. When you uninstall the app, that code can stay behind and keep loading scripts and styles on every page.
- Go to Online Store → Themes → … → Edit code and check
theme.liquidand thesnippetsfolder for names of apps you no longer use. - Duplicate your theme first, remove the leftovers in the copy, test it, then publish.
- Prefer apps that use theme app blocks and app embeds. They can be switched off from the theme editor and don't leave code behind.
3. Heavy sliders and autoplay videos at the top
The first big element on the page is usually what LCP measures. An image slider or autoplay background video at the top often makes shoppers wait, and the extra slides are rarely seen.
- Use one strong, well-compressed hero image instead of a slider.
- Never lazy-load the hero image. It should load immediately, while images further down the page can be lazy-loaded.
- If you must use video, keep it short and small, give it a poster image, and consider loading it only after the page is ready.
4. Too many apps and third-party scripts
Chat widgets, pop-ups, review widgets, upsell bars, heatmaps and tracking pixels each add JavaScript, which is what usually hurts INP.
- List every app and ask: does this make money, or did I install it once and forget?
- Load chat widgets and pop-ups after the page is ready or on first interaction, not instantly.
- Replace several small apps with one small piece of custom code where it makes sense.
5. Too many fonts
Each font family and weight is another file to download. Three families in four weights each adds up quickly.
- Stick to one or two families and only the weights you actually use.
- Use fonts from your theme settings (Shopify's font library), which are optimised for themes, or system fonts for body text.
6. An old or bloated theme
Older themes, and themes that have been heavily customised over the years, often carry code for features you no longer use.
- Test a free Online Store 2.0 theme (such as Dawn) on a duplicate of your store's content to see the difference.
- If your theme is heavily customised, an audit and clean-up is often faster and cheaper than a full redesign.
Real example: my own site went from 77 to 93
My portfolio isn't a Shopify store, but the same principles apply. Mobile Lighthouse performance went from 77 to 93 after I:
- compressed the hero background video from 1.5 MB to 115 KB and loaded it after the page was ready,
- converted every screenshot to resized WebP files (one went from 1.4 MB to about 20 KB),
- removed a full-screen preloader and loaded the sections below the first screen separately,
- delayed a third-party chat widget until the browser was idle.
Quick checklist
- Mobile LCP is 2.5 s or less on the homepage, a product page and a collection page
- Product photos resized before upload, and the theme uses responsive images
- No leftover code from uninstalled apps in
theme.liquidor snippets - One hero image, not lazy-loaded, and no slider
- Only the apps that earn their keep. Chat and pop-ups load late.
- One or two font families
Want me to check your store for you?
Send me your store link and I'll record a free 60-second video showing the 3 changes that would help your speed and sales most.
Get my free store auditFAQ
What is a good PageSpeed score for a Shopify store?
90 or above is considered good. Many Shopify stores with apps score lower on mobile, so focus first on the Core Web Vitals: LCP 2.5 s or less, INP 200 ms or less and CLS 0.1 or less.
Why does my PageSpeed score change every time I test?
The test runs in a simulated environment, and network and server conditions vary. A change of about 5 points between runs is normal, so test 2–3 times and look at the trend.
Does Shopify optimise images automatically?
Shopify's image CDN serves modern formats like WebP or AVIF to supporting browsers, but it starts from your original upload, and your theme decides what sizes to request. Uploading sensibly sized images and using responsive image markup still matters.
Will removing apps break my store?
It can if code is removed carelessly. Always duplicate your theme, make changes in the copy, test the main pages and checkout, and only then publish.