How to update a Shopify theme without losing customizations
· 7 min read
To update a Shopify theme without losing customizations you have to treat it as a migration, not an upgrade. Updates are worth taking — they carry performance work, accessibility fixes and new sections — but they are also the most common way stores lose custom code, because an update replaces the vendor's files with newer vendor files, and your edits live in those same files.
The good news: losing work to an update is entirely avoidable, and the method is procedural rather than technical.
First, know which kind of update you are getting
Shopify can update some Theme Store themes for you automatically, but that path closes once the theme's code has been edited — an edited theme is no longer something Shopify can safely replace. Most real stores have edited code somewhere, so in practice you are doing a manual update: install the new version as a separate theme, then move your work across.
That distinction matters because it changes what "update" means. You are not upgrading a theme in place. You are setting up a new theme next to the old one and migrating.
The order of operations
1. Capture the current theme before anything else
Every file, not only the ones you think you changed. If the update goes badly, this copy is the difference between an afternoon and a week. What a backup needs to contain covers why config and locales matter as much as templates.
2. Write down what you customised — then verify the list
Everyone's memory of their own customisations is incomplete. Compare your current theme against a clean copy of the same theme version to get the real list; comparing two themes file by file is exactly this job. Expect to find changes you had forgotten, plus changes an app made that you never knew about.
3. Install the new version as a separate, unpublished theme
Never update the live theme in place. Add the new version to your library and leave it unpublished — customers keep seeing the current theme throughout.
4. Re-apply customisations one at a time
Move each change from your list into the new theme deliberately. Do not paste whole old files over new ones: that reverts the vendor's fixes inside the same file, which is the bug you will spend the longest failing to explain.
5. Compare the two themes before publishing
Diff your customised new theme against the customised old one. Anything different that is not on your list is either a vendor improvement (fine) or a customisation you missed (not fine).
6. Publish, then check the paths that carry money
Product page, cart, checkout entry, search, and any page with a custom section. Publishing keeps the old theme in your library, so rolling back is one click if something is wrong.
What gets lost most often
- Edits to shared snippets — small, easy to forget, and they break several pages at once.
- Theme settings that only exist in the old settings_schema.json, which silently vanish.
- Translations in locales/ that were edited directly rather than through the admin.
- App code injected into theme.liquid, which the app cannot always re-add by itself.
- Custom CSS appended to an asset file the vendor also rewrote.
Re-install any app that injects theme code after the update, or check its settings page — several apps offer a "re-add to theme" action precisely because updates remove their snippets.
How often to update
Updating every release is unnecessary; never updating is worse, because the gap between your version and the current one grows until migrating becomes a project rather than an afternoon. A reasonable cadence for most stores is quarterly, plus immediately for anything the vendor flags as a security or checkout fix.
Do not update in your busiest week. The work is not the update itself — it is verifying afterwards, and that needs attention you will not have during a sale.
Making the next update cheaper
The reason updates hurt is that nobody can say what the theme looked like before. Auto Theme Sync captures every file of a theme automatically — including a full capture the moment a theme is published — so the before-state always exists, and comparing before and after is a diff rather than an archaeology project.
Back up your theme automatically
Auto Theme Sync captures every file in a theme, takes a backup the moment a theme is published, and lets you compare any two themes file by file.
See how it worksKeep reading
Shopify staging theme: a workflow that does not lose work
How to run a Shopify staging theme properly — where to make changes, how to move them live, and how to avoid the drift that makes staging useless.
Shopify theme version control: what agencies actually use
Shopify keeps no file history of its own. The real options for Shopify theme version control: Git, the GitHub integration, CLI pulls, automatic capture.