Shopify resourceGuide·7 min read
Shopify Speed Checklist: 20 Fixes in the Right Order
Twenty fixes that speed up a Shopify store, sorted so the cheap, high-impact work comes first. Each one has the reason it matters and where to find it in your admin.

Key takeaways
- Shopify no longer shows one speed score. Its web performance dashboard rates three Core Web Vitals as Good, Moderate or Poor, using real visitor data from the past 30 days.
- Good means Largest Contentful Paint (LCP) of 2.5 seconds or less, Interaction to Next Paint (INP) of 200 ms or less and Cumulative Layout Shift (CLS) of 0.1 or less, measured at the 75th percentile.
- In PageSpeed Insights, a Lighthouse score of 90 to 100 is Good, 50 to 89 Needs Improvement and 0 to 49 Poor. It is a lab test, so it moves between runs.
- Apps and scripts are usually the biggest cost, so remove them before you touch images or code. Uninstalling an app doesn't always remove its code from your theme.
- Who it is for
- Shopify owners with a slow store
- Time needed
- A day for fixes 1 to 11, longer for code fixes
- What you need
- Admin access and a duplicate of your theme
This is the order I work in when a client asks me to optimize Shopify speed. It is 20 fixes, grouped by area and sorted so the cheap, high-impact work comes first. Keep the page open, work down the tables, and re-test after each section so you know which change helped.
Most of it needs no code. The later fixes do, and I've said where. Thresholds and Shopify settings below come from Shopify's Help Center, web.dev and Chrome's Lighthouse documentation, as checked on 7 November 2026.
Step 0: Measure before you change anything
- Open Shopify's dashboard. Go to
Online Store > Themesfor the performance summary, andAnalytics > Reportsfor the full Core Web Vitals reports. Data can be delayed by up to 36 hours. - Run a lab test. Test your home page, one collection and one product page in PageSpeed Insights or my Shopify speed checker. Use the mobile result.
- Write the numbers down. Record LCP, INP, CLS and the Lighthouse score for each of the three pages, with the date.
- List your apps. Note every installed app and what it does. My Shopify app detector shows which ones load on the storefront.
- Duplicate your theme. In
Online Store > Themes, useDuplicateon the live theme so every change can be undone.
| Metric | Good | What it measures |
|---|---|---|
| LCP | 2.5 s or less | How fast the main content appears |
| INP | 200 ms or less | How fast the page reacts to taps and clicks |
| CLS | 0.1 or less | How much the layout jumps while loading |
| Lighthouse score | 90 to 100 | A lab score, weighted mostly on TBT, LCP and CLS |
Shopify's dashboard uses real visitors. PageSpeed lab scores use one simulated phone, and Chrome's own documentation says much of the variation between runs has nothing to do with your site. Judge progress on the real-user numbers. My answer on what a good Shopify PageSpeed score is explains the gap between the two.
1. Apps and third-party code (fixes 1 to 5)
On most stores I audit, app scripts cost more than everything else combined. Each one adds JavaScript that competes with your own page for the phone's processor.
| Check | Why it matters | Where in Shopify |
|---|---|---|
| 1. Remove apps that don't drive sales | Shopify's first advice for a slow store | Settings > Apps |
| 2. Clean leftover code after uninstalling | Uninstalling doesn't always remove theme code | Online Store > Themes > Edit code |
| 3. Turn off unused app embeds | Embeds can load on every page | Customize > App embeds |
| 4. Replace overlapping apps | Two review or popup apps double the cost | App list, then your theme's built-in features |
| 5. Load chat and popups late | They rarely need to load before the page is usable | App settings, delay or trigger options |
Ask each app one question: what does it earn? If you can't answer, remove it, test for a week and see if anyone notices. My guide to auditing and removing unused Shopify apps has a step-by-step process, and whether too many apps slow down a Shopify store explains why the count matters less than what each app loads.
2. Theme and page structure (fixes 6 to 9)
| Check | Why it matters | Where in Shopify |
|---|---|---|
| 6. Run an up-to-date theme | Shopify recommends current Online Store 2.0 themes | Online Store > Themes, update notice |
| 7. Cut sections on long templates | Too many sections lowers performance | Customize, each template |
| 8. Remove slideshows above the fold | Several large images compete for the first load | Customize, home page hero |
| 9. Reduce animations | Shopify notes animations can slow pages | Theme settings, Animations |
An old theme heavily edited by several developers is often the root cause. If yours is several versions behind, my answer on updating a Shopify theme to the latest version covers how to move without losing your changes.
3. Images and video (fixes 10 to 14)
Shopify's image CDN already compresses images and serves modern formats. What it can't fix is a page that shows too many images, or the wrong one loading first.
| Check | Why it matters | Where in Shopify |
|---|---|---|
| 10. Upload at sensible sizes | Shopify suggests 2048 x 2048 px for square product images | Products, media |
| 11. Show fewer images per page | Many high-quality images slow a page | Customize, image blocks |
| 12. Don't lazy-load the hero image | Lazy-loading the LCP image always delays it | Theme code, hero section (developer) |
| 13. Give the main image high priority | Browsers don't load images at top priority by default | Theme code, fetchpriority="high" |
| 14. Replace autoplay hero videos | A video hero is often the LCP element | Customize, use an image or poster |
fetchpriority="high" on one or two images at most. Marking many images high cancels the benefit.More on image sizes in what size Shopify product images should be, and on video in whether a store should have a video on the home page.
4. Fonts and layout shift (fixes 15 to 17)
| Check | Why it matters | Where in Shopify |
|---|---|---|
| 15. Use one or two font families | Each font file is another download | Customize > Theme settings > Typography |
| 16. Reserve space for banners and embeds | Late-loading bars push content and raise CLS | Announcement bar and app widgets |
| 17. Set sizes on images and reviews widgets | Unsized elements cause layout jumps | Theme code (developer) |
CLS problems usually come from apps that inject content after the page has drawn: review stars, sticky bars and cookie banners. Load the page on a phone and watch for anything that pushes text down.
5. Tracking and tag managers (fixes 18 and 19)
| Check | Why it matters | Where in Shopify |
|---|---|---|
| 18. Audit your tag manager | Shopify advises removing unused or low-value tags | Google Tag Manager, outside Shopify |
| 19. Use one connection per platform | Duplicate pixels load the same code twice | Settings > Customer events |
Old pixels from agencies you no longer work with are common. If nobody reads the data, the tag can go.
6. Collections and interaction (fix 20)
| Check | Why it matters | Where in Shopify |
|---|---|---|
| 20. Paginate large collections | Shopify suggests limiting products loaded at once | Customize, collection template |
INP is the metric most stores now fail. Heavy filter apps, mega menus and quick-view popups add JavaScript that runs on every tap. If your INP is Poor after fixes 1 to 19, the remaining work is usually in theme or app code, and that's developer territory. My Core Web Vitals guide for Shopify explains each metric in more depth.
Common misses
- Chasing a lab score of 100. Real-user Core Web Vitals matter more than a single lab run, and the lab score varies between tests.
- Testing only the home page. Product pages carry most of the revenue and often the most apps.
- Buying a speed app. An app that promises speed still adds its own code. Removing things beats adding things.
- Uninstalling without cleaning up. Leftover snippets keep loading after the app is gone.
- Changing ten things at once. You won't know which fix helped, or which one broke something.
- Judging too soon. Real-user data covers 30 days and can lag by 36 hours, so give changes time to show.
Before you sign off
| Area | Done when | Where to check |
|---|---|---|
| Baseline | LCP, INP, CLS and score recorded for 3 pages | Analytics > Reports |
| Apps | Every app earns its place, leftovers removed | Settings > Apps, theme code |
| Theme | Current version, lean templates, few animations | Online Store > Themes |
| Images | Sensible sizes, hero not lazy-loaded | Products, theme code |
| Layout | No visible jumps on a phone | A real phone on 4G |
| Tracking | One pixel per platform, tag manager cleaned | Customer events, GTM |
| Result | All three vitals Good, or improving | Web performance dashboard |
Next steps
Work through fixes 1 to 11 this week: they need no code and usually make the biggest difference. Re-test, then decide whether the code fixes are worth doing yourself. My full guide on how to speed up a Shopify store explains each fix in more detail.
If you'd rather hand it over, my Shopify speed optimization work starts from $100, with a fixed quote after a free review. You can see what drives the price in my guide to Shopify speed optimization costs.
Free tools
Check your own store
Free, no sign-up. Each one runs a part of this guide for you.
Frequently asked questions
What is a good Shopify speed score?
Shopify's current dashboard has no single score. It rates LCP, INP and CLS as Good, Moderate or Poor. Good means LCP of 2.5 seconds or less, INP of 200 ms or less and CLS of 0.1 or less. In PageSpeed Insights, a Lighthouse score of 90 or more counts as Good.
Where do I find my Shopify speed score?
Go to Online Store > Themes for the web performance summary, or Analytics > Reports for the full reports. They use real visitor data from the past 30 days, which can be delayed by up to 36 hours.
How do I run a Shopify speed test?
Run your home page, a collection page and a product page through PageSpeed Insights or a free Shopify speed checker, and use the mobile result. Run each test more than once, because lab scores vary between runs.
What slows down a Shopify store the most?
On most stores I audit, it is app and tracking scripts, followed by heavy home pages with slideshows, videos and many sections. Large or lazy-loaded hero images are the next most common cause of a slow LCP.
How can I increase Shopify speed without a developer?
Remove unused apps and app embeds, cut sections and slideshows from long pages, reduce animations, use one or two fonts and clean out old tracking tags. Fixes 1 to 11 and 15 in this checklist need no code.
Sources
- Web performance dashboard, Shopify Help Center
- Improving web performance, Shopify Help Center
- Web Vitals, web.dev
- Optimize Largest Contentful Paint, web.dev
- Lighthouse performance scoring, Chrome for Developers
Related services and work

Written by Ashraf Siddik
I'm a Shopify developer and CRO specialist. I have built and improved Shopify stores since 2018, completed more than 1,000 projects, and hold a 4.96 average rating across 719 client reviews.
More guides
-
CRO8 min readUpdated
Why Shopify Stores Lose Sales on Mobile: A Practical CRO Checklist
Mobile visitors decide fast, with one thumb and plenty of distractions. Here is how to find the leaks on a Shopify store and fix them in the right order.
Read the guide -
CRO6 min readUpdated
Shopify CRO Audit Checklist for DTC Brands
The checklist I use to audit DTC Shopify stores, from checking that the data can be trusted to deciding which fixes to ship first.
Read the guide -
Apps6 min readUpdated
When to Build a Custom Shopify App Instead of Adding Another Subscription
Another subscription is the quickest fix, until you are paying for five apps that still don't match how your business works. Here is how to decide.
Read the guide -
Themes6 min readUpdated
How to Find Out What Theme a Shopify Store Uses
Every Shopify store names its theme in the page code. Here is where to look, how to read what you find, and what it means for your own theme choice.
Read the guide -
Apps5 min readUpdated
How to See What Apps a Shopify Store Uses
Apps leave traces in a store's page code: scripts from their own servers, app embed folders and pixel settings. Here is how to read them, and what to do with the list.
Read the guide -
Branding7 min readUpdated
How to Name a Shopify Store (and Check the Name Is Free)
A store name has to be easy to say, free as a domain and a handle, and clear of other brands. Here is the process I use with clients, and what Shopify lets you change later.
Read the guide