Shopify Migration Checklist: WooCommerce & Magento
A practical pre-migration checklist for moving from WooCommerce or Magento to Shopify — data, SEO, redirects, and what typically goes wrong.
- 01Before you start: data inventory
- 02Product data migration
- 03URL structure and SEO redirects
- 04Customer and order history migration
- 05Pre-launch checklist
Before you start: data inventory
Before migrating, audit what you're moving. Products (titles, descriptions, images, variants, metafields), customers (name, email, addresses, order history), orders (historical records), and any custom data (reviews, wishlists, loyalty points).
Not everything can be migrated automatically. Reviews often need a separate migration via the review platform's import tool. Loyalty points require a loyalty app that supports imports. Wishlists — unless you're using a third-party app — typically can't be migrated.
Make a list of custom data types and confirm what Shopify equivalent exists (metafields, metaobjects, customer metafields, etc.) before the migration starts.
Product data migration
Shopify's product import uses a CSV format. Most migration tools (Matrixify, Transporter) can export from WooCommerce/Magento and import to Shopify. The main complexities: variant structure (Shopify has a maximum of 3 options per product and 100 variants), custom fields (map to metafields), and product categories (map to Shopify collections).
Images are typically re-hosted on Shopify's CDN during import — ensure original image URLs are accessible during migration. Broken image URLs in the import CSV will result in products with no images.
For large catalogues (10k+ products), do a test migration with a sample set first. Fix data issues before the full run.
URL structure and SEO redirects
This is the most commonly underestimated part of a migration. Your existing URLs have accumulated backlinks and search ranking — losing them to 404s after launch is a ranking hit that can take months to recover from.
Document every existing URL pattern: products (/product/slug), categories (/category/slug), blog posts (/blog/post-slug). Shopify has fixed URL patterns (/products/slug, /collections/slug, /blogs/news/slug) that differ from WooCommerce and Magento.
Create 301 redirects for every URL that changes. Shopify supports URL redirects natively (up to 100k) — import them as a CSV before launch. Test a sample of redirects before going live.
Also update your XML sitemap submission in Google Search Console immediately after launch.
Customer and order history migration
Customer migration: Shopify's customer import can handle name, email, addresses, and tags. Password hashes from WooCommerce/Magento cannot be migrated — customers will need to reset their password on first login. Use Shopify's customer account invite flow to prompt this.
Order history migration: Historical orders can be imported to Shopify using the Admin API (DraftOrder or Order endpoints). This preserves order history in the customer account. However, imported historical orders won't trigger Shopify's normal post-purchase flows (emails, analytics events) — ensure these are handled correctly.
Never import customer payment details to Shopify — this is a PCI compliance issue. Customers with saved cards will need to re-add them.
Pre-launch checklist
Before switching DNS: test all payment methods end-to-end in staging. Confirm tax settings match the previous store. Verify all redirects work. Test the checkout flow for guest and logged-in customers. Check that all third-party apps (email marketing, reviews, loyalty) are connected and tested.
On launch day: switch DNS, monitor 404 errors in Google Search Console, and check order notifications are working. Keep the old site accessible (on a subdomain) for at least 30 days as a fallback reference.
Common issues that surface post-launch: broken redirect chains (A → B → C instead of A → C), tax configuration mismatches, email templates not updated with new store branding, and shipping rates not matching previous configuration.
Need help implementing this?
I build what I write about. If you need this implemented on your Shopify store, get in touch.
Discuss your projectReady to build this on your store?
Let's scope it.
I reply personally within 24 hours.