How to Update Your Shopify Theme Without Losing Your Customizations
A new version of your theme is available, promising bug fixes and new sections. Then you remember the size chart popup a developer added last year and the tweaked cart drawer. If you update your Shopify theme the wrong way, some or all of that work can quietly vanish. This guide explains why that happens and the step-by-step process we use to update themes for clients without losing customizations.
Why Shopify Theme Updates Break Custom Work
A Shopify theme is a folder of files: Liquid templates, sections, snippets, CSS, JavaScript and JSON settings. A new version is a fresh copy of all those files. Shopify does not merge it with your edited copy line by line; it moves over what it safely can. Two kinds of changes behave very differently here.
Theme editor customizations (usually safe)
These are changes made in the theme editor (colors, fonts, homepage sections, banner text), stored as settings in JSON files. When you use Shopify's built-in update for a Theme Store theme, these settings are typically carried over to the new version. At the time of writing, Shopify's documentation describes it this way, but check the current help article before you rely on it, since the process has changed over the years.
Code edits (not carried over)
Anything added through the code editor (a new snippet, an edited Liquid file, custom CSS, a script pasted into theme.liquid) lives inside files the new version replaces. The built-in update does not bring code edits across. Shopify usually disables the one-click update altogether when it detects the theme's code has been edited, which is often the first sign a store owner gets that there is a problem.
Other things that can break
- Renamed or removed sections. If the theme developer renames a section your homepage used, that block can disappear from the page.
- Changed settings. A setting you relied on might be removed or reorganized, so the new version looks slightly different even without code edits.
- App code in theme files. Older apps often injected snippets directly into theme files. Those snippets do not come across either.
Before You Touch Anything: Audit What You Have
The biggest cause of lost work is not knowing what was changed in the first place. Spend an hour on an audit first.
- Check the theme version. In the theme library, note your current theme name and version number, and the version you are updating to.
- Read the theme's release notes. Most Theme Store themes publish a changelog. Look for renamed sections, removed settings or big structural changes.
- List every visible customization. Walk through the homepage, a collection page, a product page, the cart and any landing pages. Note anything that does not look like the stock theme demo.
- Find code edits. Download a fresh, unedited copy of your current theme version from the Theme Store (add it to your library without publishing) and compare its files to your live theme. A developer can diff the two in minutes.
- List installed apps that touch the theme. Note which apps use app blocks or app embeds and which ones asked you to paste code.
The output should be a simple change log: a list of every customization, which file it lives in and whether it came from the editor, a developer or an app. This document is worth keeping even after the update. When we take on Shopify development work for an existing store, this audit is always the first deliverable, because every later decision depends on it.
The Safe Update Workflow: Duplicate, Update, Preview
Never update the live theme directly. The safe pattern is always the same: work on a copy, preview it thoroughly and publish only when it is ready.
Step 1: Back up the live theme
Duplicate your current live theme and rename it with a date, for example "Dawn Live Backup 2026-07-28". Also download the theme files to your computer from the theme library menu. If anything goes wrong later, you can republish the backup in seconds.
Shopify caps how many themes a library can hold (20 at the time of writing), so clear out old experiments.
Step 2: Get the new version into your library
If your theme has no code edits, Shopify's update option adds the new version to your library as an unpublished copy with your editor settings transferred. If the update option is unavailable because of code edits, add the latest version of the theme from the Theme Store as a new, unpublished theme instead.
Step 3: Reapply customizations from your change log
Work through the change log item by item on the new copy:
- Editor settings: if they did not carry over, copy them across manually or have a developer move the relevant JSON template and settings files.
- Code edits: reapply each one, and ask whether it is still needed. The new version may already include it.
- App code: reinstall app blocks and embeds through the theme editor rather than pasting old snippets back in.
Step 4: Preview and test
Use the preview link to test on real devices, not only desktop. A minimal test list:
- Homepage, collection, product, cart and search pages render correctly
- Every variant picker, size chart, badge and custom block works
- Add to cart works from product pages, quick view and the cart drawer
- Discount codes and gift cards apply correctly
- Apps that show on the storefront (reviews, subscriptions, upsells) appear in the right place
- Tracking and analytics fire on key events
- Page speed has not dropped noticeably compared to the old theme
Step 5: Publish at a quiet time
Publish on a low-traffic day, not before a sale. Keep the backup theme in your library for at least a few weeks so you can roll back if a problem appears that testing missed.
Version Control: Stop Losing Code for Good
The duplicate-and-preview workflow protects you during one update. Version control protects you permanently, because every code change is recorded with who made it, when and why.
Shopify's GitHub integration in plain English
GitHub is a service that stores code and keeps a full history of every change. Shopify can connect a theme in your library directly to a GitHub repository branch. Once connected, changes made in the Shopify code editor or theme editor are saved back to GitHub, and changes a developer pushes to GitHub appear in the theme.
What this gives you as a store owner:
- A complete history of every edit, so nothing is "mystery code" anymore
- The ability to see exactly what changed between any two dates
- Easy rollback of a single file or change, not just the whole theme
- A clean way to compare your version with the theme developer's new release
Shopify CLI for developers
Shopify CLI is a command-line tool developers use to work on themes on their own computer. They can pull the live theme down, run a local preview that shows changes instantly, and push changes to an unpublished theme for review. It also includes Theme Check, which flags common errors and outdated code patterns.
You do not need to use it yourself. What matters is that your developer uses it (or the GitHub integration) instead of editing the live theme in the browser.
Merging theme updates with Git
With version control in place, a theme update becomes a merge rather than a manual rebuild. The developer brings in the new release as a separate branch, and Git shows every file where the theme developer's changes and your customizations overlap. Non-conflicting changes merge automatically, and on a moderately customized theme this can turn a multi-day reapplication job into a few hours of work.
App Blocks vs Code Edits: Build for Future Updates
The best way to make future updates painless is to reduce how much custom code lives inside the theme files at all.
App blocks and app embeds. Online Store 2.0 themes support app blocks, which let apps add features through the theme editor without touching theme code. They survive updates far better, and uninstalling an app removes the block cleanly instead of leaving broken snippets. Prefer apps that use them.
Custom sections instead of edits. If you need a custom feature, having a developer build it as a new, self-contained section file is far easier to carry across than editing the theme's existing product template. New files are simple to copy into the new version. Edits scattered across existing files are not.
Metafields for content. Content that changes per product, such as care instructions or a size guide, belongs in metafields connected through the theme editor, not hardcoded in Liquid. It survives theme updates and even full theme changes.
A dedicated custom CSS file. Instead of editing the theme's main stylesheet, keep your styling overrides in one separate file or in the theme editor's custom CSS setting. Updating then means copying one file, not hunting through thousands of lines.
For stores that need features beyond what themes and apps can offer, we often move the logic into a small custom Shopify feature built as a theme app extension, which keeps it out of theme files entirely.
How Much Time and Money an Update Takes
Costs vary with how much custom code exists and whether it was documented. In our projects, typical ranges look like this:
- Lightly customized theme, editor changes only: 1 to 3 hours of testing. Many owners handle this themselves.
- Moderately customized, 5 to 15 code edits, no version control: roughly 1 to 3 days of developer time, most of it spent auditing and reapplying changes.
- Heavily customized, many undocumented edits: 1 to 2 weeks, and sometimes more than a rebuild would cost.
- Customized theme already in GitHub with a change log: often half a day to 2 days, because the merge is mostly mechanical.
The first update after years of undocumented edits is expensive; later ones are much cheaper.
When to Rebuild Instead of Update
Sometimes updating is the wrong move. Consider a rebuild or a fresh theme when:
- You are several major versions behind. Jumping multiple major versions can mean restructured templates where almost every customization needs rework.
- The theme is vintage (pre Online Store 2.0). Older themes lack sections on every page and app block support. Updating them is not really possible in the normal sense.
- Most of the theme is custom code. If little of the original theme remains, you are maintaining a custom theme anyway and should treat it as one.
- The theme developer has stopped supporting it. No more updates means no security or compatibility fixes going forward.
If you are weighing a rebuild, our team can review your theme and give you a clear update-versus-rebuild recommendation with costs for both. Past examples are in our portfolio.
FAQ
Do I have to update my Shopify theme?
Not immediately. But falling several versions behind makes the eventual update harder and means missing bug, accessibility and compatibility fixes. Reviewing updates every few months is a sensible rhythm.
Will updating my theme affect my SEO?
A theme update does not change your URLs or products, so rankings are not usually affected. Problems appear when customizations such as structured data or internal links are lost, which preview testing catches.
Why is the update button missing for my theme?
Shopify typically hides the one-click update when the theme's code has been edited, when the theme did not come from the Theme Store or when it is a very old version. In that case, add the latest version from the Theme Store as a new copy and reapply your customizations using the workflow above.
Can I undo a theme update?
Yes, as long as you kept a backup. Because the safe workflow never overwrites the live theme, rolling back simply means republishing your dated backup copy from the theme library.
If you want a second opinion on updating your theme safely, book a free 1-hour strategy call with our team through the contact page.
Need help with your website?
Get a free 1-hour strategy call with our team. Clear plan, fixed quote, no obligation.
Get in touch
