Most shopping trips end the moment a page feels slow to load, and visitors don’t wait around to find out if things improve.
A 3 seconds delay is often the tipping point where a huge chunk of customers simply bounce, taking their lost sales with them and quietly hurting your search rankings.
I used to think Shopify infrastructure was to blame, but the data tells a different story: the HTTP Archive’s Web Almanac study found roughly of Shopify stores pass Core Web Vitals, against only of WordPress sites.
So instead of chasing a quick fix like installing Thunder Page Speed Optimizer and hoping for the best, it’s smarter to follow a real diagnostic framework that walks through reasons stores actually slow down usually bloated apps.
Afew merchant added issues stacked on top shopify polaris of a perfectly capable sluggish website. Once you build a prioritized fix-it plan around those causes, speed stops being a mystery and starts being a checklist.
Too Many Apps
The single biggest culprit I keep running into is simply having too many third-party apps installed. Every one of them tends to leave app scripts behind, and even review apps, upsell apps, cross-sell apps, popups, loyalty widgets, and analytics tags quietly add their own JavaScript and CSS to every page dropshipping tools included.
Which is why I always recommend checking a guide like this DSers and Shopify walkthrough before adding another automation app to your stack.
On a store I audited last year, we found 50KB to 150KB of extra weight per app, and stacking 10-15 apps added up to 1-5 seconds of pure render-blocking scripts sitting between the shopper and the page some of it synchronous scripts that flat-out stop everything else from loading.
The trick is to defer what you can and push the rest into background loading so app functionality still works without holding up page render.
A proper audit means digging through theme.liquid and the snippets folder for script injections, checking load order, and hunting down orphaned script tags and stray Liquid snippets that a borderline store picks up after uninstalling apps without a clean code cleanup.
This alone can lift your speed score by points and shave shopify polaris points worth of drag, though a proper theme files review can take a developer hours, and trimming even scripts down to size protects both mobile LCP and your Core Web Vitals for the long run.
Bloated Theme
I’ve also seen stores that are slow with zero apps installed at all and that always points straight to the theme. A speed optimized theme like Dawn theme or Refresh theme typically scores out of the box, while a heavier third party theme like Prestige theme, Turbo theme, or Impulse theme can start as low as before a single product is added.
That gap comes from unused features think mega-menus, animated sliders, built-in pop-ups, extra layout options, and parallax scrolling that pile on 500KB CSS and 300KB JavaScript nobody actually uses.
Run a check with PageSpeed Insights or GTmetrix to spot the bottleneck, then decide whether to migrate theme to something lightweight, or trim unused CSS and defer JavaScript for the viewport that matters.
A full migrate theme project can eat 20-40 hours, while trimming inefficient Liquid logic on your current setup runs closer to hours either way, moving toward Online Store and a genuinely minimalist theme can push mobile scores up by mobile points, and honestly, that’s worth the developer time.
Large Images
Images are the easiest win, and also the one merchants ignore the longest. A single high-resolution images file can hit and a homepage slideshow with 5 images can force visitors to download before they see a thing I’ve watched this alone tank a store’s Speed Index.
Common mistakes include uploading PNG instead of JPEG or WebP, keeping images at 4000x4000px when they display at 800px, and skipping lazy loading for anything below the fold.
Fix it by running files through TinyPNG, Kraken.io, or Squoosh, cropping to the actual page view, and always setting a proper width attribute and height attribute to avoid layout shift.
Lean on the Shopify image CDN and the filter or image tag filter for responsive sizes, get your hero image and main product photo down to around 150KB or less and preload the one image that actually determines your Largest Paint score.
Unused Code
Old stores accumulate unused scripts the way a garage accumulates junk outdated features, abandoned apps, and obsolete scripts just sit there generating browser requests nobody asked for.
The technical name for this drag is render-blocking resources: any script tag without defer or async stops HTML parsing dead until it finishes, and a bulky stylesheet sitting in the head tag say a 200KB stylesheet blocks the first pixel from painting.
These resources hit Total Blocking Time hardest, worth of your score, plus First Contentful Paint (FCP) at 10% and Largest Contentful Paint at so fixing this properly can add points almost overnight.
Open the theme code editor, lean on built-in performance tools or a PageSpeed Insights report to find the worst offenders, then extract critical CSS, inline CSS it, and load the rest with a trick expect roughly hours of work, especially on heavy themes and feature dense themes still carrying old anti-flicker snippets from long-abandoned testing tools.
Too Many Redirects
Redirects are useful for reorganizing a store, but a pile of them turns into real drag. Every 301 redirect costs roughly 100-300ms, and unbroken redirect chains usually left over from a migration stack that delay page after page.
Run a site audit with Screaming Frog or Ahrefs, clean up your URL structure, and remove broken links while you’re in there. It’s worth checking your custom fonts too: blocking fonts cause real LCP delay, and switching to font-display swap is a five-minute fix with a noticeable payoff.
You’re Not Using Lazy Loading
Lazy loading simply delays offscreen images until a visitor actually starts to scroll, and it makes a bigger difference to page performance than people expect.
Most themes support it, but I always double-check inside the theme editor or via a dedicated app, because banner images and product thumbnails are the ones themes most often forget.
Don’t stop at photos apply the same logic to videos and iframes, then inspect pages manually to confirm every element defers properly and initial load duration actually drops.
Hosting Videos Directly on Shopify
Product videos sell products beautifully, but direct hosting them on Shopify eats storage space and hits mobile devices especially hard. My rule of thumb.
Mbed through YouTube or Vimeo instead of uploading raw files, since those platforms are built to serve embedded videos at performance excellence levels Shopify’s own hosting can’t match.
Your Store Lacks a Content Delivery Network
A content delivery network stores copies of your site across international servers, so each shopper gets served from the nearest server, cutting page load time noticeably.
Shopify ships with built-in infrastructure for this already, but it only performs at its best when your image optimization, script optimization, and video optimization are actually done.
If you’re pulling in worldwide visitors across different geographic regions, this is one area where the platform does the heavy lifting for you you just have to give it lighter files to move.
Your Store Isn t Optimized for Mobile
Most online shopping now happens on mobile phones, and a store that ignores mobile-friendliness loses shoppers fast. Run Google’s Mobile Friendly Test, keep navigation simple, and avoid heavy animations that choke a small screen.
Use flexible text, sensible image dimensions, and make sure every button or link qualifies as genuinely clickable elements that respond cleanly to taps.
Third-Party Code Overload
Beyond your installed apps, most stores also run scripts straight from Google Analytics, Meta Pixel, Google Tag Manager (GTM), Hotjar, Klaviyo, TikTok Pixel, and Pinterest Tag and every single one adds a DNS lookup, a fresh connection, and its own script download.
The frustrating part is these run on third-party servers you don’t control, so if the Facebook CDN has a slow moment, your PageSpeed Insights score takes the hit regardless.
A typical store loads requests this way, adding seconds combined and clogging the main thread. Fix it by adding preconnect for the domains you truly need, switching to async scripts, using a facade pattern so chat widgets only fully load on interaction, and budgeting hours for the full audit.
Oversized DOM
The DOM is simply the browser’s map of your HTML elements, and Google recommends staying under 1500 elements plenty of Shopify homepages hit elements without anyone noticing.
Big product collections, sprawling mega-menus with hundreds of links, deeply nested HTML, and hidden elements buried inside app-injected widgets are the usual causes.
A large DOM doesn’t crash your score directly, but it slows style recalculations, JavaScript DOM queries, layout, and paint operations, quietly eating extra memory and worsening TBT, CLS, and LCP together. Trim it by switching to pagination instead of “load more,” and budget 4-8 hours for the cleanup.
Slow Server Response Time
Time to First Byte (TTFB) measures how long the browser waits on Shopify servers before anything else can happen, and while you can’t touch the underlying infrastructure, you can absolutely lighten what your Liquid templates ask it to do.
Watch for heavy loops, nested sections, and complex product queries good TTFB sits under 200ms, and anything past 500ms usually traces back to Liquid computation running wild across big collections or fussy filtering.
Simplify for loops, use on queries, and lean on for caching so expensive computations don’t repeat themselves; expect roughly 4-8 hours of work for a 50-150ms improvement, which sounds small but adds up across every page.
What “Slow” Actually Means on Shopify
“Slow” isn’t a vague feeling Google measures it through three Core Web Vitals: Largest Contentful Paint (LCP) under 2.5 seconds, Interaction to Next Paint (INP) under 200ms, and Cumulative Layout Shift (CLS) under 0.1. These became a confirmed Google ranking factor back in 2021 with the Page Experience update, measured against real visitors rather than a lab test.
INP actually replaced the older First Input Delay (FID) metric in March 2024, and it specifically punishes anything tying up the main thread. In my experience, most stores fail on LCP while CLS stays fine usually because announcement bars or late-loading app widgets are the real troublemakers, and both directly affect bounce rates.
Inefficient Liquid Code
Because Shopify renders everything through server-side rendering, sloppy Liquid templates with nested loops or complex Liquid logic genuinely slow down render time. You can’t rewrite Shopify servers, but you can absolutely reduce template workload.
Old anti-flicker snippets left behind by abandoned A/B testing tools and a lazy-loaded LCP image are two mistakes I see constantly, and both are quick to fix once you know to look for them.
What You Can’t Control
You can’t touch the server, hosting, server-level caching, or any infrastructure settings the Shopify platform owns all of that, including some mandatory JavaScript baked into every page.
But here’s the good news TTFB already sits around 300ms, which is genuinely fast. That means every real fix worth chasing lives in your apps, images, theme, and code a shorter, far more actionable list than “optimize everything.”
How to Diagnose Your Slow Shopify Store (15 Minutes)
Don’t guess measure, using three tools together. Start with the Shopify Web Performance Dashboard inside your Online Store admin for real shopper data, then cross-check with Google PageSpeed Insights for both field data and lab data, and finish with Chrome DevTools and Lighthouse to pull a render trace and an unused JavaScript report.
Test one homepage, one product page, and one collection page rather than every single URL, since fixes apply at the template level anyway.
Expect your mobile score to look worse than desktop because of 4x CPU throttling and simulated 4G a 60 score is genuinely healthy, an 80 score is excellent and if your store gets under 100 sessions per day, chase traffic first before chasing the last few points.
The Shopify Speed Fix-It Checklist
Work through this in order and re-test after each step. Start by removing unused apps, then compress key images to WebP or AVIF using responsive image filters.
Preload your LCP image with link rel preload and fetchpriority high, and never lazy-load it by mistake.Extract critical CSS, add defer async to non-essential scripts, and hunt down remaining render-blocking app scripts with Lighthouse or PageSpeed.
Self-host fonts, add font-display swap, and reserve space to stop layout shift and CLS from banners or ad slots and announcement slots.
Finally, clean up old redirects and 301 chains, simplify nested Liquid loops, delete stray anti-flicker snippets, and if the score still won’t move, switch to a lighter base theme like Dawn or Refresh built on Online Store 2.0 that alone can recover real mobile points.
How to Know It Worked
Re-run PageSpeed Insights and you’ll see lab data update within minutes, but the field data that actually affects rankings comes from the Chrome User Experience Report, averaged over a rolling 28-day rolling average.
That means Google Search Console’s Core Web Vitals report can take up to 4 weeks to catch up, so don’t judge results on day one.
Watch for performance regressions afterward too they’re almost always triggered by a new app, a theme update, or a seasonal campaign quietly adding weight back in.
Why This Is Worth Doing
Speed isn’t a vanity number it’s revenue. Conversion rates drop sharply once load time crosses two or three seconds, and the case studies back it up: Rakuten 24 reported a 53% revenue per visitor lift alongside 33% conversion, while Vodafone saw an 8% sales lift from just a 31% LCP improvement.
It’s not only shoppers watching the clock either AI shopping assistants now fetch pages on a strict time budget, and bots abandon slow stores exactly like people do. Fast pages aren’t a nice-to-have anymore; they’re table stakes.
Should You Fix It Yourself or Hire Help?
A lot of this is genuinely DIY-friendly app audits, image compression, clearing banner space and you can move the needle in an afternoon.
But there’s an honest ceiling: if your mobile PageSpeed score sits below 40 score or your LCP runs past 4 seconds, you’ll likely need real theme-level work proper script deferral, critical CSS, and Liquid restructuring of tangled app code.
That’s the point where a specialist or developer earns their keep, whether through a full Shopify Speed and Core Web Vitals service or a dedicated developer kept on retainer for ongoing upkeep.
FAQs About Shopify Polaris
Does my Shopify theme affect speed, and will switching themes help?
Yes your theme sets the baseline for everything else. A lightweight theme such as Dawn, Refresh, or Craft typically scores 70-90 score right out of the box, well ahead of a heavier third-party option, though you’ll still want images compressed and apps trimmed alongside any code cleanup.
Why is my store slower on mobile than desktop?
Mobile devices simply have less processing power, and Google’s test applies throttled CPU conditions and simulated network speeds close to 4G sometimes 3-5x slower than a laptop which is why the same page can feel fine on desktop and sluggish on a phone.
How many apps is genuinely too many?
There’s no strict cutoff, but trouble tends to start around 10-15 apps, each adding 100-500ms. Data across many stores shows those running more than 8 apps average a median mobile LCP above 3 seconds, while stores with 3 apps or fewer usually stay under 2 seconds costing roughly 3-8 PageSpeed points per front-end apps addition.
Is Shopify itself slow, or is it something merchants add?
Almost always the latter. Shopify’s own global CDN, edge caching, and server response time typically around 300ms are genuinely solid, and roughly 75% Core Web Vitals pass rate confirms the platform infrastructure isn’t the bottleneck; it’s what gets layered on top.
How do I check my store’s speed?
Run Google PageSpeed Insights, GTmetrix, or Shopify’s own Shopify built-in speed report, all of which highlight problem areas across theme, apps, and CDN setup.
Does Shopify hosting affect speed?
Shopify’s hosting is fast by default, but real-world speed still comes down to media optimization, theme choice, and how many apps you run.
Can a large product count slow my store down?
Not directly it’s usually product count paired with messy collections structure or unoptimized images causing the actual drag.
Does a faster store genuinely help SEO?
Yes faster stores earn better Google rankings and more organic traffic, largely because visitors stick around long enough to convert, which improves overall user experience signals too.
Will removing apps actually make my store faster?
Usually, but with a catch: uninstalling apps doesn’t always clear their leftover code stray script tags, CSS files, and old Liquid snippets often survive, so a proper theme audit afterward really matters.
Can I fix Shopify speed without touching code?
Yes automated tools can handle script deferral, critical CSS, image optimization, and font loading without you writing a line yourself.
What are the most common Shopify speed issues right now?
Heavy review widgets and popup widgets, oversized hero images past 500KB, uncontrolled DOM size, and JavaScript-heavy event listeners hurting Interaction to Next Paint (INP) through clunky JS-driven menus.
How long does proper speed work take?
A quick speed test takes seconds, but real developer work fixing the LCP image, cleaning render-blocking CSS, and doing full app code cleanup typically runs 10-40 hours, versus roughly 30 seconds for an automated tool.
Why did my store suddenly slow down?
Almost always a sudden slowdown tied to a new app, a theme update, or a live campaign adding JavaScript per page check what changed recently before assuming your store just quietly became a borderline store.
What counts as a good PageSpeed score?
A mobile PageSpeed score above 60 score is healthy, above 80 score is excellent remember mobile always looks worse thanks to 4x CPU throttling and simulated 4G, so judge the underlying Core Web Vitals metrics, not just the number.
How long until fixes show up in Google?
Lab data updates almost instantly, but the field data that actually moves rankings runs on a 28-day rolling average, so give Google Search Console 4 weeks before expecting the full picture.