1. Apps
Apps are usually the biggest offender. Every Shopify app can inject JavaScript and CSS into your storefront, often on every page, even when the app only needs to run on one specific template.
The most common app-related slowdowns include apps loading globally, uninstalled apps leaving code behind, multiple apps doing similar jobs, and poorly written scripts from less-established app developers.
If you are running 15 or more apps, this is almost certainly one of your biggest performance problems. For a deeper audit process, read Shopify Apps Slowing Your Store.
2. Oversized and unoptimized images
Shopify serves responsive image sizes and can convert images to WebP, but it still starts from what you upload. Huge hero images, product photos uploaded at print resolution, PNGs used where JPG or WebP would be lighter, and autoplaying homepage videos can all slow a store dramatically.
3. Theme bloat
Themes often support dozens of features you do not use, but the code can still load. Older themes built before Online Store 2.0 and heavily customized themes are usually the heaviest.
Modern Shopify themes like Dawn, Sense, Refresh, Studio, and Crave tend to be much lighter than older themes such as Debut, Brooklyn, Boundless, Narrative, and Venture.
4. Render-blocking third-party scripts
Analytics tools, heatmaps, chat widgets, ad pixels, review widgets, and A/B testing tools all add JavaScript. Most stores carry more scripts than they realize, and many of those scripts load earlier than they need to.
5. Custom code from previous developers
Inline JavaScript in theme.liquid, render-blocking CSS, inefficient Liquid loops, and scripts loaded synchronously can all create hidden performance problems. These issues are usually invisible from the Shopify admin and only show up during a code audit.
6. Fonts
Loading four font families with six weights each can add serious weight to the first render. Most stores should use one or two font families with two weights each.