The average Shopify store has 6.4 active apps — plus dozens of uninstalled apps whose leftover code slows everything down. Here's the practical checklist plus tools to get to a clean theme fast.
Why clean up a Shopify theme?
Every uninstalled Shopify app leaves script tags, Liquid snippets, JSON app blocks and JavaScript bundles in the theme. Per Web Almanac 2025 the median store carries 251 KB of unused JavaScript per mobile page — costing LCP, Core Web Vitals and conversions.
1. Search theme.liquid
Script tags from app names (judge.me, klaviyo, bold, loox, yotpo)
2. Check layout/theme.liquid
App embed tags left behind after uninstall
3. Safe-parse settings_data.json
Identify dead app blocks (don't break JSON!)
4. Walk through snippets/
Orphan Liquid snippets without {% render %} references
5. Clean sections/
Old app landing templates from uninstalled page builders
6. Reduce assets/
Unused JS bundles, CSS files, icon fonts
7. Clean locales/*.json
Translation keys of orphan apps
8. config/settings_schema.json
Theme-settings entries of old apps
9. Pixels & tracking tags
Facebook, TikTok, GTM with app-specific config
10. CDN references
External script tags from uninstalled apps (supply chain risk!)
11. Post-cleanup Lighthouse
Re-measure LCP, INP, CLS after cleanup
12. Create backup first
Before every cleanup duplicate the theme in Shopify admin
| Criterion | Manual | GhostCode |
|---|---|---|
| Time per store | 3–5 hours | under 3 minutes |
| Pattern coverage | what you know | 200+ apps, 50+ CDNs |
| Backup | self-created | auto, 90 days |
| settings_data.json | Risk: broken store | Safe-parse + fallback |
Core Web Vitals
Typical LCP improvement: 0.5–1.5 seconds
JavaScript payload
Reduction of 15–40% by removing dead bundles
Conversion lift
2–6% more revenue on €500k stores = €10k–€30k/year
Theme editor stability
Removing broken JSON app blocks eliminates UI bugs
GhostCode scans automatically and cleans with one click — with 90-day backup.