Blog

The Shopify Theme Cleanup Checklist After Uninstalling Apps

A practical, safe checklist to remove leftover app code, duplicate scripts, and theme artifacts after uninstalling Shopify apps.

Uninstalling a Shopify app often removes the app from your admin, but it does not guarantee a clean storefront. Many apps touch your theme (snippets, assets, liquid includes) or leave settings behind (app embeds, metafields, discount rules). Over time, those leftovers cause slowdowns, duplicate widgets, layout bugs, and tracking conflicts.

This checklist is designed to be safe and repeatable. You can run it after every uninstall, and you do not need to rebuild your theme.

Before you touch anything (safe workflow)

  1. Duplicate your theme (Online Store > Themes > Actions > Duplicate).
  2. Work on the duplicate first.
  3. Keep a rollback plan: note the exact app you uninstalled and when.
  4. If the store is mid-campaign, schedule changes for a low-traffic window.

Step 1: Check Theme App Embeds (the most common duplicate)

Apps increasingly use Theme App Extensions (App embeds). You can uninstall an app, but if a similar app is installed later, you can end up with duplicated behavior.

  • Go to the Theme Editor
  • App embeds panel
  • Look for anything related to the app you removed
  • Turn off anything unknown or clearly unused on the duplicate theme

If a widget appears twice on the storefront, this is the first place to check.

Step 2: Search for leftover Liquid includes

Most legacy apps add a snippet include into theme.liquid or key templates.

Search for patterns like:

  • render 'app'
  • include 'app'
  • app- prefixes
  • comments like <!-- BEGIN app -->

Start with:

  • layout/theme.liquid
  • sections/header.liquid
  • sections/footer.liquid
  • templates/product.*
  • templates/cart.*

If you remove a snippet include, double-check that it is not used by another installed app.

Step 3: Remove dead snippets and assets

Apps commonly add:

  • snippets/*.liquid
  • assets/*.js
  • assets/*.css

Safe approach:

  1. Confirm the snippet is not referenced anywhere (search for the snippet name).
  2. Confirm the asset is not referenced by script_tag, stylesheet_tag, or asset_url.
  3. Remove references first, then delete the file.

If you are unsure, do not delete immediately. Comment out the include first, validate, then delete later.

Step 4: Audit script tags and tracking duplicates

Even if the theme is clean, the store can still load scripts via:

  • Shopify “Customer events” / pixels
  • App-based script injection
  • External tag managers

Symptoms of duplication:

  • Two identical widgets
  • Two network calls for the same analytics endpoint
  • Double page view events

Quick test:

  • Open the storefront, right-click > Inspect
  • Network tab: filter by collect, pixel, analytics, or the app domain
  • Look for the same requests firing twice

Step 5: Confirm cart and checkout behavior

App leftovers often break the cart.

Test on the duplicate theme:

  • Add to cart from product page
  • Update quantity
  • Remove item
  • Apply discount code (if the store uses codes)
  • Proceed to checkout

If the store uses a cart drawer, also test:

  • Drawer open/close
  • Focus trap (Tab navigation)
  • Mobile scroll lock

Step 6: Check product template and collection template regressions

Many apps modify product pages for upsells, bundles, or reviews.

Verify:

  • Product media gallery works
  • Variant changes update price and availability correctly
  • Subscription selling plans (if used) still work
  • Collection filters and sorting still work

If variants behave oddly, search for custom JS added near variant selectors.

Step 7: Review metafields and settings the app created

Apps often add metafield definitions and values that remain after uninstall.

You do not need to delete everything immediately. Instead:

  • Identify the namespace and key patterns the app used
  • Track whether the theme still references them
  • Decide if they should be archived or removed later

Metafield cleanup is usually a second pass after storefront stability is confirmed.

Step 8: Final validation checklist

On the duplicate theme:

  • Home page loads, no missing sections
  • Product page works, no console errors
  • Cart works, no duplicate widgets
  • Performance baseline looks similar or better (no new blocking scripts)

Once validated, publish the duplicate theme.

Make this measurable

The hard part of cleanup is confidence: what changed, what is still loaded, and what is safe to remove. If you want to speed this up, Checkpoint: Store Scanner can surface leftover theme references, suspicious scripts, and risky artifacts so you can prioritize fixes and avoid breaking the storefront.

Free download

Shopify Store QA Checklist

A quick, practical checklist to catch leftover app code, risky scripts, content gaps, discount issues, and common theme regressions.