A brand new Shopify store and a store that's been live for four years are not the same thing, even if they're running the same theme.
The older store has layers. Apps installed by a developer who left. Code snippets injected by SaaS tools that don't have Shopify apps. A theme migration from Online Store 1.0 to 2.0 that cleaned up the front end but left behind a mess in the codebase. Every one of those layers adds weight. And over time, that weight shows up in your load time.
We've handled thousands of PageSpeed optimization tasks at TaskHusky. The culprit is almost never what store owners expect.
The Real Source of Slowdowns on Established Stores
Most merchants assume speed problems come from their theme or their images. Both of those can contribute, but on stores that have been live for several years, the single biggest driver of slowdowns is apps - specifically apps that are loading scripts on pages they don't need to be on, or apps that were never fully removed.
We once audited a store running a marketplace app that was taking 20 seconds to load on its own. The store's total load time was over 35 seconds. The theme was fine. The images were fine. One app was the entire problem.
That's an extreme case, but it's not unusual for app-related bloat to account for the majority of a store's speed problems once it has a few years of operation behind it.
Start with PageSpeed Insights — and Start with Mobile
Before you touch anything, run your store through Google PageSpeed Insights. Use your homepage and your most important product page.
One thing to understand: PageSpeed Insights and your store's speed are related but not the same thing. PageSpeed Insights is what Google uses to evaluate your site. It measures specific signals - LCP, CLS, INP, and a few others - and produces a score from 0 to 100. That score affects your search rankings. Your actual load time is what shoppers experience.
You need to care about both.
Always run the mobile test first. Google indexes and ranks your store based on the mobile version. A desktop score of 90 with a mobile score of 40 is not a win. Fix mobile first, and the desktop score tends to follow.
The metric to focus on first: LCP (Largest Contentful Paint). This measures how long it takes for the main content on the page to become visible to the user. For most Shopify stores, that's your hero image on the homepage or your main product image on a product page. LCP is weighted heavily in Google's scoring, and it maps directly to what a shopper experiences when they land on your site. If you fix one thing, fix your mobile LCP.
Audit Your Apps Before You Do Anything Else
Open your Shopify admin and go to your app list. Then do two things.
First, uninstall any app you are not actively using. This sounds obvious, but on stores that have been live for years, it is common to find three or four apps that are still installed and loading scripts even though no one on the team has touched them in 18 months. Every installed app has the potential to inject JavaScript into your storefront. Uninstall it through Shopify properly - do not just stop using it.
Second, look at what remains. Use a tool like Request Map or the Network tab in Chrome DevTools to see what is actually loading on your product pages. If an app is loading a large script on pages where it has no function, that is a configuration problem. Most apps let you control which pages their scripts load on.
Coaching tip: The app that's costing you the most speed is almost never the one you'd guess. Run the audit before you assume.
Check Your Codebase for Orphaned Code
This one matters most if you migrated from an Online Store 1.0 theme to a 2.0 theme at any point.
With OS 1.0, apps injected code directly into your theme files. Liquid snippets, JavaScript blocks, CSS - all of it lived inside your theme. When you uninstalled an app, Shopify removed it from your app list, but the code it left behind stayed in your theme forever unless someone manually removed it.
With OS 2.0, apps use theme app extensions instead. Uninstalling an app removes its extension cleanly. But if you migrated a store from 1.0 to 2.0, that migration did not automatically clean up the old injected code. It just moved the mess into a newer theme.
A thorough codebase audit on a store like this will often turn up dozens of dead code blocks from apps that haven't been active in years. Each one is adding load time for no reason.
The same applies to any non-Shopify SaaS tool you've integrated over the years — analytics platforms, chat widgets, review tools - that required you to paste a script tag directly into your theme. If you switched away from that tool but never removed the script, it is still loading on every page.
Coaching tip: If you're not sure what code belongs and what doesn't, search your theme files for comments or variable names that reference app or tool names. That's usually the fastest way to find orphaned integrations.
Compress and Lazy-Load Your Images
Images are not usually the primary culprit on older stores, but they are the easiest fix.
Shopify automatically serves images in WebP format for browsers that support it, and it handles resizing through its CDN. What it does not do automatically is compress your original image files before upload, or control how aggressively it applies compression.
Before uploading any product image, run it through a compression tool. Squoosh is free and works well. Aim to keep product images under 200KB without a visible quality drop.
For your hero images, make sure lazy loading is disabled. Hero images need to load immediately because they drive your LCP score. Every other image on the page should lazy-load, meaning it only loads when a user scrolls toward it.
In most Shopify 2.0 themes, lazy loading is already enabled by default for non-hero images. Check your theme settings to confirm.
Reduce Render-Blocking Scripts
Every JavaScript file that loads before your page renders is a potential delay. These are called render-blocking scripts.
In your PageSpeed Insights report, look for the "Eliminate render-blocking resources" opportunity. Click into it. You'll see a list of scripts and stylesheets that are loading before your page content is visible.
Some of these are in your control - app scripts, custom JavaScript you or a developer added. Others are from Shopify itself and cannot be moved. Focus on what you can control.
Any script that does not need to run before the page is visible should have a defer or async attribute added to it. A Shopify developer can make this change directly in your theme. It is a small code change that can have a meaningful effect on LCP.
Consider Whether Your Theme Is Actually the Problem
Most of the time, the theme is not the problem. But sometimes it is.
If your store is running a heavily customized older theme that has accumulated years of additions, the theme codebase itself may be the issue. Conflicting CSS, unoptimized JavaScript, and outdated section structures can all contribute to slow load times in ways that are hard to fix without a full theme rebuild or migration.
If you've done everything above and your PageSpeed score is still well below 50 on mobile, it may be time to audit the theme itself or consider a migration to a faster, leaner base.
Before going that route, get a developer to review the theme code directly. A full rebuild is not always necessary. Sometimes targeted cleanup inside the theme files is enough to recover significant speed.
How to Speed Up a Shopify Store TL;DR
Established Shopify stores slow down over time because of accumulated app bloat, orphaned code from old integrations, and uncompressed images — not usually the theme itself. Start with a PageSpeed Insights audit and focus on your mobile LCP score first. Audit and uninstall any app you are not actively using. If you migrated from OS 1.0 to 2.0, have a developer comb through the codebase for injected code left behind by old apps. Compress images before uploading and check that render-blocking scripts have proper defer or async attributes. If none of that moves the needle, the theme itself may need a closer look.
If you want a second set of eyes on your store's speed, get a free quote from TaskHusky and describe what you're seeing. We've run these audits across thousands of stores and can usually identify the biggest wins quickly.