100 points across 9 phases, in the order the work actually happens. Nine of them become irreversible the moment you switch DNS. No email required, nothing gated — copy it into your project tool and run it.
What should a Shopify migration checklist cover?
A complete Shopify migration checklist covers nine phases: the decision to migrate, audit and inventory, URL mapping, data migration, integration rebuild, design and build, pre-launch QA, launch day, and the first 30 days after. Redirect mapping belongs in phase 3, before design — not in launch week, which is where most migrations put it and where most of them fail.
The order matters more than the length. This list is built from 75+ replatforms and new builds, and it is the same sequence we run on client projects. If you want the strategy behind it rather than the steps, start with our Shopify Plus migration services page.
Phase 1 — Decide whether to migrate at all (8 points)
Every item here is cheaper to answer now than in week eight.
- Name the constraint. Write one sentence describing what your current platform stops you doing. If you cannot, stop here.
- Confirm your current platform version and edition, from the admin rather than from memory.
- Check your platform's support end date and whether an upgrade is due anyway.
- Price the alternative: what does staying and upgrading actually cost, including hosting and extension licences?
- Decide which Shopify plan your requirements need — not the one you have been sold.
- Set a launch window that avoids your peak trading season entirely.
- Identify the single person who will approve design, URL mapping and data scope.
- Agree a budget that includes post-launch engineering, not just the build.
On budget: platform and build costs are separate, and most brands underestimate the retainer rather than the build. Our Shopify Plus cost guide breaks down both, including the point at which Plus pays for itself.
Phase 2 — Audit and inventory (14 points)
- Crawl the live site and export every URL.
- Export 12 months of Search Console query and page data.
- Export your backlink profile and note every URL with referring domains.
- Export your platform's historic URL table — Magento's url_rewrite, or WordPress redirects and .htaccess rules.
- Count products, variants, customers and orders. Write the numbers down.
- Count products by type, and configurable or variable products by attribute count.
- List every third-party extension, plugin or app, with what it actually does.
- List every integration: ERP, POS, CRM, 3PL, finance, feeds.
- Identify where SEO metadata lives — in product records, or in an SEO plugin.
- Count pages built in a visual page builder, and check analytics for which still get traffic.
- Locate your review data and confirm the export path from your review platform.
- Document subscription state if you run subscriptions: cycles, renewal dates, payment tokens.
- Document business rules that exist only in someone's head — pricing, shipping, fulfilment.
- Screenshot current Core Web Vitals and rankings for your top 20 revenue URLs as a baseline.
Platform-specific detail lives in the guides: Magento to Shopify Plus migration covers attribute sets and .html URL handling, and WooCommerce to Shopify migration covers page builders, plugin triage and Yoast metadata.
Phase 3 — URL mapping and redirects (12 points)
Build the redirect map before design begins, from three sources combined: a live crawl, Search Console data, and your platform's historic URL table. Shopify uses fixed path prefixes that cannot be changed, so nearly every URL changes. Standard Shopify plans cap redirects at 100,000; Shopify Plus allows 20,000,000.
- Combine crawl, Search Console and historic URL exports into one deduplicated list.
- Map every URL with traffic or backlinks to a specific Shopify destination.
- Decide the new collection architecture, since nested categories flatten on Shopify.
- Map filtered and faceted URLs to Shopify's filter parameters.
- Check your redirect count against your plan's ceiling.
- Flag URLs Shopify will not let you redirect — its own fixed paths, and prefixes including /apps, /cart, /orders and /services.
- Find a different solution for every flagged URL now, not after launch.
- Decide what happens to pages you are retiring, and redirect rather than delete.
- Never bulk-redirect to the homepage. Google treats that as a soft 404 and the ranking is lost.
- Get the map signed off by your decision-maker in writing.
- Prepare the redirect file for bulk import.
- Plan to update internal links to point at new URLs directly, not through a redirect.
Phase 4 — Data migration (14 points)
Order matters: products, then customers, then orders. Verify each before starting the next.
- Set up a staging store. Never import into a live store.
- Clean the source data before moving it. Migration is the cheapest moment to fix a decade of inconsistency.
- Import products, variants, SKUs, barcodes, weights and images.
- Verify a sample of 20 products field by field against the source.
- Map custom attributes to Shopify metafields and metaobjects.
- Import collections and confirm they match the architecture agreed in phase 3.
- Import inventory levels per location.
- Import customers with addresses, tags and marketing consent state.
- Confirm marketing consent transferred correctly — this is a compliance issue, not a data issue.
- Import order history, including refunds and fulfilment status.
- Rebuild discounts and price rules. They do not import; the logic differs by platform.
- Import blog content and CMS pages.
- Migrate SEO metadata as its own workstream — title tags, meta descriptions, image alt text.
- Migrate reviews via your review platform's own path, not the store export.
Phase 5 — Integrations and apps (10 points)
- Decide for each extension: replace with an app, rebuild as custom, or retire.
- Retire aggressively. Some extensions exist only because your old platform lacked something Shopify does natively.
- Rebuild ERP, POS, CRM and 3PL connections and test against real data on staging.
- Rebuild subscriptions on a Shopify subscription platform and reconcile every active subscriber.
- Test subscription renewal dates and billing cycle positions before cutover.
- Configure tax and shipping rules, and test against real addresses.
- Set up payment gateways and run live test transactions.
- Configure GA4, pixels and product feeds now, not after launch.
- Set up email and SMS platform integration with core lifecycle flows.
- Document every integration so the next engineer does not have to reverse-engineer it.
Where nothing off-the-shelf fits, the answer is usually middleware rather than a stack of connector apps — see Shopify app development for how we scope that. If wholesale or retail is in scope, Shopify B2B development and Shopify POS should be scoped into the migration rather than added afterwards.
Phase 6 — Design and build (8 points)
- Decide: faithful rebuild, or redesign. A fixed launch date argues for rebuilding first.
- Build on reusable theme sections so your team can edit without a developer.
- Rebuild only the page-builder pages that still earn traffic. Retire the rest with redirects.
- Keep all work in version control, with reviewed and reversible changes.
- Give every image explicit width and height attributes.
- Lazy-load below the fold; eager-load only what is above it.
- Check accessibility as you build rather than at the end — WCAG 2.2 AA with an automated checker.
- Get documentation and a handover walkthrough written before launch, not after.
Phase 7 — Pre-launch QA (14 points)
- Place real test orders through every payment method.
- Test checkout on mobile, on a mid-range device, not a flagship.
- Test cross-browser and cross-device on your actual analytics device mix.
- Test every integration end to end: does an order reach your ERP?
- Test tax calculation for every region you sell to.
- Test shipping rates against real addresses, including edge cases.
- Test discount codes, automatic discounts and any custom pricing logic.
- Test subscription sign-up and a simulated renewal.
- Spot-check 50 redirects from the map against the staging store.
- Validate structured data in Google's Rich Results Test.
- Confirm robots.txt and sitemap are correct and staging is not indexable.
- Confirm canonical tags are self-referencing.
- Run Lighthouse and fix anything in the poor band.
- Write the rollback plan. Decide in advance what triggers it.
Phase 8 — Launch day (10 points)
Pick your lowest-traffic window. Have the people who built it available for the following 24 hours.
- Import the full redirect file before switching DNS.
- Switch DNS.
- Verify redirects are firing on live URLs, not just staging.
- Submit the new sitemap in Search Console.
- Request indexing for your top 20 revenue URLs.
- Send customer account activation emails — passwords cannot be migrated from any platform.
- Brief customer support on what changed and what to expect.
- Confirm analytics and pixels are firing on the live site.
- Place one real order yourself, end to end.
- Keep the old store accessible but noindexed as a fallback reference.
Phase 9 — The first 30 days (10 points)
- Check Search Console coverage daily for the first fortnight.
- Monitor 404s daily and add redirects as gaps appear.
- Track rankings on the top 20 URLs you baselined in phase 2.
- Watch conversion rate against your pre-migration baseline, by device.
- Monitor Core Web Vitals — field data moves on a 28-day window, so do not judge it in week one.
- Watch support tickets for patterns. They surface bugs analytics will not.
- Reconcile the first subscription renewal cycle against the source system.
- Reconcile the first ERP sync cycle and the first month-end close.
- Audit installed apps and remove anything unused before it becomes permanent.
- Book the retrospective while the detail is fresh.
Once the migration has settled, performance and conversion are the next lever. Our Shopify speed optimization page covers the Core Web Vitals work, and the CRO audit checklist is a free companion to this one for the conversion side.
The 12 items people skip
The most commonly skipped migration steps are: historic URL exports, SEO metadata migration, marketing consent state, internal link updates, subscription reconciliation, redirect spot-checks, the account activation email, the rollback plan, cycle-count discipline, the pre-migration baseline, app cleanup, and documentation. None of them are difficult. All of them are invisible until they cost money.
- Historic URLs — The current export lists what is live. Google indexed a decade, including pages you deleted that still have backlinks.
- SEO metadata — Titles and descriptions often live in a plugin, not in product records. They do not travel with a product export.
- Marketing consent — Migrating customers without their consent state is a compliance problem, not a data problem.
- Internal links — Redirects catch external traffic. Internal links should point at the new URL directly.
- Subscription reconciliation — A missed renewal date is a customer charged twice or not at all. Reconcile every active subscriber.
- Redirect spot-checks — A map that was signed off is not the same as a map that works. Test 50 by hand.
- The activation email — Passwords cannot migrate. If this email is an afterthought, support absorbs launch week.
- The rollback plan — Decide what triggers a rollback before you need to decide it under pressure.
- The baseline — Without pre-migration numbers you cannot tell whether the migration worked.
- App cleanup — Apps carried over out of caution become permanent within a quarter.
- Cycle counts — For anyone running retail, inventory accuracy decays without a counting rhythm.
- Documentation — The engineer who inherits this will not have your context. Write it down while you have it.
Do not launch if any of these are true
Delay the launch if the redirect map is unfinished or untested, if any integration has not processed a real transaction on staging, if you are inside your peak trading season, if nobody owns the first fortnight of monitoring, if there is no rollback plan, or if subscriptions have not been reconciled. Each of these is cheaper to wait out than to fix live.
- The redirect map is incomplete, unsigned, or has not been spot-checked.
- Any integration has not successfully processed a real transaction on staging.
- You are inside your peak trading season, or within three weeks of it.
- Nobody is named as owning daily monitoring for the first fortnight.
- There is no written rollback plan with defined triggers.
- Subscriptions exist and have not been reconciled subscriber by subscriber.
A migration delayed by three weeks costs three weeks. A migration launched into one of these costs a quarter.
The 9 things you cannot undo after cutover
- Redirects not in place at cutover — the ranking loss starts immediately and recovery is slower than prevention.
- Order history not migrated before launch — backfilling later is far harder than importing once.
- Marketing consent state lost in the customer import.
- Subscription billing dates set incorrectly on the first renewal cycle.
- The activation email sent to the wrong segment, or not sent at all.
- Historic URLs never exported, because the old platform is decommissioned.
- Analytics gap on launch day, which permanently breaks year-on-year comparison.
- Deleted pages with backlinks that were never mapped, once the source list is gone.
- Your pre-migration baseline, if you did not record it before switching.
Where this list comes from
This is the sequence we run. Solo Media Group has delivered 75+ replatforms and new builds since March 2018 as a Platinum-tier Shopify Plus development agency, rated 5.0 from 37 reviews on the Shopify Partner Directory. Migrations from Magento, WooCommerce, BigCommerce and custom platforms are the work we are asked for most.
Time4Learning is another: a migration delivered alongside their in-house engineers, including subscription platform work and SEO fixes through the transition.