How to back up a Shopify store before a migration

Last updated 23 August 2026

Four different things get called a migration

Moving to a new theme. Moving a catalogue onto Shopify from somewhere else. Duplicating a store for a new market or a rebuild. Handing a store to a new agency, or taking one over. They have different risks, and only the first one is reversible by publishing the old thing again.

What they share is a window of a few days in which a lot of writes happen quickly, half of them from importers and apps rather than from a person, and nobody can later say what the catalogue looked like before it started.

What Shopify itself says does not come across

Shopify's own guidance is to back a store up by exporting CSV files from the admin. Its page on backups and duplication is also candid about what those files cannot do, and this is the list worth reading before the migration plan is written rather than after. Checked against Shopify's documentation on 23 August 2026.

Orders cannot be imported into a store through the admin at all. Discount codes cannot be transferred. Issued gift cards cannot be transferred. Saved custom reports cannot be transferred. Visitor traffic data does not move. A theme is downloaded and uploaded separately from any of this.

None of that is a defect in the export tool. It is the shape of the platform, and a migration plan that assumes otherwise discovers it on the day the new store goes live.

What the exports miss even where they do work

Collection membership is never written into a products export, though a products import will accept a Collection column - so membership can be restored from any source that has it, just not from the file the admin gave you. Image files are referenced by URL rather than contained. Metafields with definitions are in the product CSV; app-created ones are not. The full itemised list is on what a CSV export leaves out, and the wider comparison is on CSV export against a real backup.

The capture that makes the difference: before the first write

Take a full copy of the source store before anything writes into it, and note the moment. During a migration the expensive question is never "is there a backup somewhere" - it is "this product has the wrong price and three tags missing, what did it look like on Tuesday morning". That question needs versions per record, not one archive of the whole store.

Do the theme separately and by hand: duplicate the live theme and keep a downloaded .zip of it outside the store, because a duplicate lives in the same store and dies with it. That is its own page.

While the migration runs, the useful property is a dated history rather than a nightly archive. Importers fail halfway, apps retry, and the damage is usually a partial write that nobody notices for two days - by which time last night's single archive contains the damage too.

What StoreVault does here, and what it does not

It keeps versioned copies of the store it is installed on and restores into that same store, record by record or to a moment in time, with a plan shown before anything is written. On a migration that is the safety net for the source store and for the new one once it exists.

It is not a migration tool. It does not copy one store into another, it does not clone a store for a new market, and it never writes a theme into a store - theme versions are exported as a .zip that you upload and preview yourself. If what you need is store-to-store copying, that is a different category of app, and we would rather say so on this page than in a support reply after you install.

Agencies doing this repeatedly: the terms for client stores and development stores are on the agency page.

A short order of operations

Export products, customers, orders and inventory from the source store, and keep the files outside Shopify. Download the live theme as a .zip. Write down what cannot come with you from the list above, and decide now what happens to it - historic orders in particular, since they cannot be imported. Capture a versioned copy before the first write, note the minute in UTC. Then migrate, and re-check a handful of records against the source rather than trusting the importer's summary.

The same preparation for a smaller and far more frequent event is on backing up before a bulk edit. If you are comparing backup tools for a migration window, the comparison with the best-known one is on the Rewind alternative page.

A migration is the one week where the store changes faster than anyone can remember. A backup app covers you from the day it is installed rather than the day you need it, so it belongs in the preparation rather than in the recovery.

StoreVault on the Shopify App Store - versioned backups of products, collections, content, inventory and themes, with a plan shown before any restore writes.