· Updated
Zero-Downtime Shopify Migration: Keeping Your Store Open
Zero Downtime
Cutover
Migration
You don’t have to close your store to migrate it. That’s the part people worry about most, and it’s also the part that’s most within your control once you know what causes downtime and what doesn’t.
“Zero-downtime” doesn’t mean nothing happens behind the scenes. It means your customers never see a closed sign. Your old store keeps taking orders while your new one gets built and populated in parallel, and the two only hand off to each other at a moment you plan for, not one that catches you off guard.
The three phases of a zero-downtime migration
1. Setup
Your new Shopify store gets created and configured, and your initial data (products, customers, historical orders) gets imported. Your old store keeps running the entire time, and your new store stays behind Shopify’s password page, so customers can’t reach it yet. Nothing about this phase touches your live business. If you haven’t done the groundwork yet, our pre-migration checklist covers what to inventory and back up first.
2. Synchronization
Your old store is still the only one selling, so it keeps collecting new orders, customers, and stock changes after the initial import. Keeping Shopify current is a matter of running catch-up passes, as many times as you need before go-live:
- Recent Data Migration brings over records added since the last run: new orders, customers, and products.
- Smart Update refreshes products you’ve already migrated, such as titles, prices, and stock quantities.
This is also your testing window. Check that products display correctly, that checkout works, and that your custom functionality behaves the way it should before anyone else sees it.
3. Cutover
This is the handoff: a final data sync, your domain pointed at your new store, your payment processing switched over, and a verification pass to confirm everything landed correctly. On the Shopify side, that means removing the store password, connecting your domain in Shopify’s domain settings, and turning on your URL redirects (our SEO migration guide explains which ones you need). This phase is short, usually a matter of hours, but it’s the one that needs the most care.
The gap that catches people off guard
Here’s something worth understanding before your own cutover, because it’s easy to miss and it’s the biggest risk in this whole process.
Once your DNS switches over to point at your new Shopify store, your old store’s domain no longer leads to your old store. That’s the point of a DNS switch. But if your old store is on a self-hosted platform (WooCommerce, Magento, PrestaShop, OpenCart, Shopware), it also means anything that reaches your old store through that domain, including your migration tool, loses its route back to it at that moment.
Hosted platforms work differently. BigCommerce or Wix connect through the platform’s API rather than your domain, and CSV-based platforms such as Squarespace work from files you export, so switching DNS doesn’t cut either one off. If that’s you, this gap doesn’t apply to the sync itself, though a final sync after the switch is still good practice. One exception: images embedded in your content that reference your custom domain can still break if they’re migrated after the switch, as our post-migration checklist explains.
A WooCommerce case: the orders placed during the switch
We saw this play out on a real WooCommerce to Shopify migration. The retailer’s cutover plan called for a final order sync right at the DNS switch, covering every order up to that cutoff. Once DNS pointed to the new Shopify store, though, the connection back to the old store’s original domain stopped working, the same way it would for any visitor. Any order placed in the narrow window around the switch couldn’t be pulled the normal way anymore.
DNS changes also don’t take effect everywhere at once. For a while after the switch, some visitors still reach your old store and can place orders there, which widens the window. Lowering your domain’s TTL (time to live) a day or two before cutover makes the switch take effect faster and keeps that window short.
How to close the gap
The fix is to keep your old store reachable after your main domain moves, through a temporary subdomain (for example, old.yourstore.com) or a direct IP address. Be clear-eyed about what that involves: it isn’t a setting in the migration app. It depends on your hosting provider exposing your old store at that address and allowing our migration servers through their firewall, and how quickly that happens is up to them.
In the WooCommerce case, the retailer’s host had to allow our IP address through their firewall. Even after the host confirmed it was allowed, the connection kept failing for hours, with caching adding to the confusion. It started working about a day later. That’s the reason to start early. Here’s the sequence we recommend:
- Set up the temporary route well before cutover day. Ask your hosting provider for the subdomain or IP access and for our IP to be allowed through their firewall.
- Test it while your main domain still works. Confirm with our team that the migration connects through the temporary address days ahead, not on the night of the switch.
- Run your final sync at the switch, then a follow-up Recent Data Migration pass right after go-live to pick up anything created in the gap, including orders from visitors whose DNS hadn’t updated yet.
- Retire the temporary route once the follow-up pass is done and verified.
Note that the follow-up pass depends on the temporary route. Without it, a sync after go-live has nothing to connect to, for the same reason the original final sync failed.
If the route can’t be arranged in time, keep the gap small instead: schedule the switch for your quietest hour, and plan to recreate the handful of orders placed in that window by hand in Shopify.
Decide this before your cutover starts, not while you’re in the middle of it. A five-minute conversation about how your setup will handle the gap is a lot cheaper than discovering it live.
Business continuity during the transition
A few other things are worth planning for through the cutover window specifically:
- Order fulfillment. Make sure whoever handles fulfillment knows which store is authoritative at each point in the process, so nothing gets fulfilled twice or missed entirely. Orders caught by the follow-up pass need fulfilling too.
- Inventory accuracy. Until cutover, only your old store sells, so the risk isn’t two stores selling the same item. It’s Shopify’s stock levels going stale. Run a Smart Update pass for stock right before you switch, so the new store opens with accurate quantities.
- Customer support continuity. Give your support team a clear answer for “which store is live right now” so they’re not guessing mid-conversation with a customer.
- Payment processing. Confirm your payment provider is fully configured and tested on your new store before cutover, not during it. A failed transaction at go-live is one of the fastest ways to lose customer trust.
Your zero-downtime migration checklist
- Build first, switch later. Build and populate your new store fully before you touch DNS. Your old store should keep running, untouched, through this entire phase.
- Test during synchronization. Check checkout, custom functionality, payment processing, and how your customizations behave on the new platform.
- Keep Shopify current. Run Recent Data Migration and Smart Update passes as often as you need before go-live.
- Plan the cutover gap. If you’re on a self-hosted platform, ask your host for a temporary subdomain or IP route to your old store and test it days ahead, and lower your DNS TTL a day or two before the switch.
- Confirm payments. Make sure your payment processor is live and tested on the new store before cutover.
- Brief your teams. Give support and fulfillment a clear answer for which store is authoritative at each stage.
- Verify, then sync once more. Check your final data (orders, inventory, customers) after cutover, and run a follow-up sync to catch anything that came in during the gap. Our data migration guide covers what field-level verification looks like.
Common questions about zero-downtime Shopify migrations
Does “zero-downtime” really mean zero downtime?
It means your storefront stays open and orderable the whole time. The technical work happens in parallel, behind the scenes, on a store your customers aren’t looking at yet.
How long does the cutover phase take?
Usually a matter of hours, covering the final data sync, DNS switch, payment transition, and verification. The exact time depends on your store’s size and how much data needs a final sync.
What happens to orders placed during the DNS switch itself?
This is the one gap worth planning for specifically. On a self-hosted platform, once DNS points to your new store, your old store’s domain no longer leads to it, so orders placed in that window can only be synced if your hosting provider keeps a temporary route to the old store open. With that route tested ahead of time, a follow-up Recent Data Migration pass picks them up. Without it, schedule the switch for a quiet hour and recreate those few orders by hand. On hosted platforms, the migration connects through the platform’s API or your exported files, so the switch doesn’t cut it off.
Do I need to test anything before cutover, or only afterward?
Before. Your synchronization phase, while your old store is still live, is the window to test checkout, custom functionality, and payment processing on your new store with no risk to your business.
Want to walk through what your cutover window should look like? Talk to our migration team and we’ll help you plan around your setup before you commit to a go-live date.