· Updated
Preparing Your Store for Shopify Migration: A Complete Checklist
Migration
Planning
Checklist
The migration itself usually isn’t what goes wrong. What goes wrong is something nobody wrote down beforehand: a custom feature nobody flagged, years of messy order history nobody documented, a backup nobody took.
None of that is hard to prevent. It takes doing the prep work before your migration starts, not during it. Here’s what that prep looks like, including a real (anonymized) example of what happens when a store’s history isn’t fully documented going in, and what to do instead.
On a Done-for-you migration, our team works through these steps with you. On a self-service migration, this checklist is yours to run before you start. The steps are the same either way.
Start with a full data inventory
Before anything moves, you need an honest list of what you’re migrating:
- Products and variants. Every product, every variant combination, every image.
- Customer data. Contact details, order history, marketing consent status, and any customer groups you use for pricing or segmentation. Shopify has no customer groups, but groups can come across as customer tags.
- Content pages. Blog posts, static pages, and anything tied to your current URL structure. Our SEO migration guide covers what to do about the URLs.
- Integrations. Every app or service connected to your current store, from your email platform to your review widget to your accounting software. Most won’t move with your data, so note what each one does and find its Shopify replacement. Our partner directory is a good place to start.
This isn’t busywork. It’s the list the migration works from, and anything missing from it is something that can get missed in the move.
Do a technical assessment of what’s custom
Most of what’s in a typical store maps over cleanly. What needs real attention is anything custom: platform-specific features, non-standard fields, and functionality built for your old platform that Shopify handles differently or not at all.
This is where a real conversation pays off. Ask specifically what happens to your custom fields, your non-standard order statuses, and anything you built or configured yourself rather than out of the box. Get that answer up front, not partway through. Our Shopify data migration guide walks through how custom fields land in Shopify metafields, with two real cases.
Document your current setup, especially your order history
Here’s a real example of why this step matters more than people expect.
A Shopware case: order history that needed custom logic
A European retailer selling baby-care products migrated from Shopware to Shopify. Their store had years of order history, and like a lot of long-running stores, that history wasn’t entirely clean. Hundreds of orders, some going back years, had been paid but never marked as fulfilled in the old system.
There was also a status combination no one had accounted for: orders that had been refunded but never marked fulfilled or cancelled. In Shopify, refunding an order doesn’t close it out on its own. A refunded order that hasn’t also been fulfilled or cancelled stays open, and Shopify keeps counting it among your open orders. Those orders needed an extra step to land in the right state.
None of this showed up until the team was deep into mapping order statuses from the old platform to Shopify’s. Once it did, the planned go-live date had to slip while the team built custom logic to handle the specific combinations this store’s history contained.
To be clear, none of this was a sign of a badly run store. Order status history gets messy over years of normal operation, on every platform, for every merchant. The lesson isn’t “keep your order data perfectly clean.” It’s that this kind of history is worth flagging ahead of time, so mapping it is part of the plan instead of a surprise partway through.
Questions to ask about your own order history
- Do you have order statuses that don’t fit neatly into “fulfilled” or “unfulfilled”? (Partial refunds, cancellations after fulfillment, manual overrides.)
- Do you have old orders that were paid but never marked complete?
- Do you have refunded orders that were never cancelled or fulfilled?
- Has your order-status logic changed over the years you’ve been running your store?
If the answer to any of these is yes, or you’re not sure, raise it before the migration starts. It’s a five-minute conversation that saves a mid-migration scramble.
Back up everything, and sort out access early
Before your migration begins, make sure you have:
- A full backup of your database, media, customer records, and order history.
- The access your platform needs. For most platforms, MigrationPro connects through the platform’s API, so an admin login or API access is enough. Some platforms need more: Shopware, for example, connects through a small connector file uploaded to your store, which means FTP or hosting access. Check what yours requires before migration day.
Handing over store access is a reasonable thing to be careful about. Under our privacy policy, migration credentials are available only to authorized migration engineers and are permanently deleted within 7 days of the migration finishing.
No server access? There’s an assisted route
Sometimes a merchant doesn’t have direct server access to their old platform. That comes up more often than you’d think. If you can export a SQL database backup file instead, our Files Migration Service can work from that: our team builds a custom migration based on your file’s data structure. It’s a separate assisted service rather than part of the self-service app, so contact us to set it up.
One migration we handled went exactly this way. The merchant didn’t have FTP or hosting access to their old OpenCart store, so instead of migrating live from the server, the team requested the SQL backup file and migrated from that. Simple swap, no delay.
The point either way is the same: know before you start whether you have the access your platform needs or need the backup-file route, so it’s sorted out before migration day instead of on it.
You can keep selling while you migrate
A common reason to rush prep is fear of downtime, but migrating doesn’t mean closing your old store. It keeps taking orders while the migration runs. Once the full migration finishes, Recent Data Migration brings over the orders, products, and customers added since, and you can run it as many times as you need before going live. That takes the pressure off, so you can do the prep properly instead of quickly.
Your pre-migration checklist
- Inventory everything. Products, customers, customer groups, content, and every connected integration.
- Flag anything custom. Non-standard fields, custom order statuses, or functionality built specifically for your current platform.
- Review your order history. Look for messy or non-standard status combinations, and raise them up front.
- Take a full backup of your store before the migration starts.
- Confirm access. Check what your platform needs (API, admin login, or FTP for connector-based platforms), or prepare a SQL backup file if you don’t have server access.
- Get answers in writing. Know how each piece of non-standard data will be handled before the migration begins, not after.
Common questions about preparing for a Shopify migration
How long should I spend on pre-migration prep?
It depends on your store’s size and how much custom or historical complexity you have, but a thorough data inventory and technical assessment is worth doing properly rather than rushing. A free demo migration of 10 products, 10 customers, and 10 orders is a quick way to see how your data lands before you commit.
What if I don’t have server access to my old platform?
You may not need it. Most platforms connect through their API. If yours needs server access and you don’t have it, our assisted Files Migration Service can work from a SQL database backup file instead, as long as you can export one.
What’s the biggest thing people forget to document?
Order history, specifically anything that doesn’t fit cleanly into standard fulfilled or unfulfilled statuses. It’s easy to forget because it accumulates quietly over years, but it’s one of the most common sources of a mid-migration delay.
Do I need to migrate my entire order history?
That’s your call, and it’s worth deciding on purpose rather than by default. You can migrate everything, or archive older orders outside Shopify. Either way, decide up front so it’s part of the plan.
Want a second pair of eyes on your setup before you commit to a migration date? Talk to our migration team and we’ll walk through what your store needs.