Platform migrations go wrong more often than they go right. Products disappear, redirects break, SEO rankings tank, customers can't log in. Most of this is avoidable with proper planning.
Google states that a site migration takes 3-6 months to fully process. Sites with 95%+ redirect coverage recover traffic within 4-8 weeks. Sites below 80% coverage often see permanent 20-40% traffic loss. Those numbers should define how seriously you treat this.
This checklist covers what actually matters when migrating to Shopify from Shopware, Magento, WooCommerce, or any other platform. Based on migrations we've handled at BrandUp Factory.
Before You Start: The Audit
Export everything from your current platform before touching Shopify. Products, customers, orders, blog posts, pages, redirects. All of it. Even data you think you won't need.
Crawl your entire existing site with Screaming Frog (free up to 500 URLs) or Sitebulb. Export every URL that returns 200. Then cross-reference with Google Search Console (Performance > Pages) — GSC often shows indexed URLs that a crawl misses: old blog posts, parameter URLs, image URLs.
Make a list of every third-party integration: payment providers, shipping, ERP, email marketing, reviews, accounting, subscriptions. Each one needs to be reconnected or replaced. Notify your payment processor (Stripe, PayPal) before the switch — failing to reconfigure can cause 24-48 hours of failed transactions post-launch.
Check your current site's traffic in Google Analytics. Note your top 50 landing pages by organic traffic. These are the URLs you absolutely cannot break.
- 01Crawl entire site with Screaming Frog or Sitebulb — export all 200-status URLs
- 02Cross-reference with Google Search Console indexed URLs
- 03Export all products, customers, orders, reviews, and content
- 04List all third-party integrations and notify payment processors
- 05Screenshot current Google Search Console performance as baseline
Product Data Migration
Every platform stores product data differently. This is where most migrations get messy.
Shopify has a hard limit: 3 option types and 100 variants per product. WooCommerce and Shopware allow unlimited. If your products exceed this, you need a strategy before migrating. Options: split into multiple products and use Combined Listings, combine two dimensions into one (e.g. 'Color-Material'), or use metafields.
Shopware-specific: Shopware properties/variants map imperfectly. Shopware custom fields become Shopify metafields — requires remapping in your theme. Shopware 6 Shopping Experiences (CMS pages) don't transfer at all. Each must be rebuilt.
WooCommerce-specific: Product categories are hierarchical (parent > child > grandchild). Shopify collections are flat. Deep category trees (3+ levels) require rethinking your navigation. WordPress shortcodes and page builder content (Elementor, Gutenberg blocks) appear as raw code — every post needs manual cleanup.
Product descriptions often break during migration. Automated tools handle text but rarely handle formatting, embedded images, or custom HTML correctly.
Images: download every product image at full resolution. Don't rely on migration tools — they fail silently. WooCommerce stores images in wp-content/uploads/ with date-based folders; these all get new URLs on Shopify's CDN. Any hardcoded image references in descriptions will break.
SEO data: meta titles, meta descriptions, URL handles. Map these explicitly. If you don't manually migrate SEO titles and descriptions, Shopify auto-generates them from product names — Google sees thousands of title changes overnight.
Run a test migration with 10-20 products first. Check everything — variants, images, descriptions, metafields, SEO data. Fix issues in your process before migrating the full catalog. Tools: Matrixify (bulk import/export, handles 100K+ products), Cart2Cart or LitExtension ($50-300, automated data mapping with free demo migration).
URL Redirects
This is non-negotiable. Every old URL needs a 301 redirect to its Shopify equivalent. Sites with 95%+ redirect coverage recover traffic in 4-8 weeks. Below 80% often means permanent loss.
Shopify forces /products/ and /collections/ prefixes. You cannot remove them. Every platform uses different URL patterns:
Shopware: /nike-air-max-90 (flat, clean URLs) → Shopify: /products/nike-air-max-90
Magento: /catalog/product/view/id/123 → Shopify: /products/product-name
WooCommerce: /product/product-name or /shop/product-name → Shopify: /products/product-name
Your redirect map must cover: all products, all categories/collections, all CMS/static pages, all blog posts, the blog index, pagination URLs (?page=2), filtered URLs (?sort=price), and any linked PDFs or media files.
Shopify's built-in redirect tool (Online Store > Navigation > URL Redirects) works for manual entry. For bulk: CSV import (batches of 10-20K to avoid timeouts). Shopify supports up to ~200,000 redirects. For complex patterns, Shopify's native redirects don't support regex — you need Plus or an app like Easy Redirects for wildcards.
Don't forget: non-product pages (/about, /contact, /blog), internal links within product descriptions and blog posts that still reference old URL structures, and old transactional emails with hardcoded links.
Critical: never change your domain AND platform simultaneously. Migrate the platform first on the same domain. Let Google settle for 2-3 months. Then do a domain change if needed. Doing both at once doubles the risk and makes it impossible to diagnose traffic loss.
- 01Map every old URL to its Shopify equivalent — products, collections, pages, blog, media
- 02Include pagination URLs, filtered URLs, and parameter URLs in your redirect map
- 03Use CSV import in batches of 10-20K to avoid timeouts
- 04Check redirect chains — no redirect should point to another redirect
- 05Never change domain and platform at the same time
Customer Data and Orders
Customer accounts import via CSV. Names, emails, addresses, tags — all transferable.
Passwords cannot be migrated. Shopify hashes passwords differently from every other platform. There is no workaround. Every customer must reset. Use the 'Bulk Account Invites Sender' app to automate password reset emails. Send a communication before the switch explaining what's happening.
Order history: Shopify allows importing historical orders, but they're read-only. No refunds, no fulfillment actions. Many merchants keep the old platform accessible internally for 12-18 months for customer service reference.
Product reviews: Don't survive automatic migration. Export as CSV from your current platform, then import via your chosen Shopify review app (Judge.me, Loox, etc.). Each app has a different CSV format.
Gift cards with outstanding balances must be recreated manually. No automated transfer path from most platforms.
Subscriptions: If you use subscription billing (ReCharge, Bold), migrating active subscriptions with intact billing cycles is one of the most complex parts. This typically requires direct involvement from the subscription app vendor.
Tax settings: If you used tax-inclusive pricing (standard in EU/DACH), explicitly enable 'All prices include tax' in Shopify settings. Verify rounding behavior. Off-by-one-cent issues between platforms are common.
- 01Passwords: cannot migrate — use Bulk Account Invites Sender app
- 02Order history: imports as read-only, keep old platform for reference
- 03Reviews: export CSV, import to new review app manually
- 04Gift card balances: recreate manually
- 05Subscriptions: coordinate with vendor for billing cycle migration
- 06Tax-inclusive pricing: must be explicitly enabled in Shopify settings
Theme and Design
Don't try to replicate your old design 1:1. It never works well and costs twice as much.
Pick a Shopify theme that covers 80% of your needs, then customize the remaining 20%. Before buying, check the demo store's performance on PageSpeed Insights — if the demo is slow, your store will be slower.
Shopware Shopping Experiences pages are highly custom layouts. These don't transfer. Each must be recreated using Shopify's native sections or a page builder app.
WooCommerce stores with Elementor/WPBakery content: all page builder layouts are lost. Plan to rebuild key landing pages.
Transactional emails (order confirmation, shipping notification) are completely different in Shopify. Many merchants go live with Shopify's default emails — customers see a jarring brand change. Customize these before launch.
Test on mobile first. 70%+ of e-commerce traffic is mobile.
If your old store had custom checkout steps, product configurators, or complex filtering, budget separately for rebuilding these. WooCommerce's checkout is fully customizable via plugins — Shopify's is locked down unless you're on Plus.
Go-Live Plan
Don't migrate on a Friday. Don't migrate during a sale. Don't migrate during peak season.
Ideal window: low-traffic weekday, early morning. Full team available for the entire day.
Go-live sequence:
1. Freeze orders on old platform
2. Export final order and inventory data
3. Import to Shopify
4. Activate all redirects
5. Point domain to Shopify
6. Test every critical flow: browse, search, add to cart, checkout, account login, password reset
7. Submit new sitemap to Google Search Console
8. Use URL Inspection tool to request indexing of top 20-50 revenue pages
Keep the old platform running (inaccessible to customers) for at least 30 days. You'll need it for customer service, missed data, and edge cases.
Have a rollback plan. If something goes critically wrong, you need to point the domain back to the old platform within minutes.
- 01Schedule during low-traffic hours on a weekday
- 02Freeze orders on old platform before final export
- 03Test all critical flows immediately after go-live
- 04Submit new sitemap to Google Search Console immediately
- 05Request indexing of top 20-50 revenue pages via URL Inspection
- 06Keep old platform accessible internally for 30+ days
- 07Have a domain rollback plan ready
Post-Migration: The First 30 Days
The migration isn't done when the store goes live. The first 30 days are where you catch everything that slipped through.
Week 1: Monitor Google Search Console daily. Fix every 404 error. Check the Coverage report for indexing issues. Verify Google is crawling new URLs. Watch for structured data errors — if your old platform had rich snippets (reviews, FAQ, product schema) and your Shopify theme doesn't output the same markup, you lose rich results.
Week 2: Compare conversion rates to pre-migration baseline. A significant drop usually means page speed, checkout flow, or mobile experience issues. Also check for tax rounding errors and payment processing issues.
Week 3-4: Review organic search traffic. A 10-20% dip for 2-6 weeks is normal even with perfect redirects. If the dip exceeds 30% or lasts beyond 8 weeks, investigate missing redirects, canonical tag changes, or internal linking issues.
Ongoing: Customer complaints about missing order history, broken links in old marketing emails, and password reset confusion will trickle in for months. Have your support team prepared with templated responses.
Conclusion
A clean migration is mostly preparation. The actual switch takes hours. The planning takes weeks. Google needs 3-6 months to fully process the change. Cut corners on planning and you'll spend that entire time fighting fires instead of growing. Do it right once.
Key Takeaways
- 01Sites with 95%+ redirect coverage recover traffic in 4-8 weeks; below 80% means permanent loss
- 02Crawl your entire site before migrating — Screaming Frog + Google Search Console cross-reference
- 03Shopify's 100-variant limit and forced /products/ URL prefix require planning for every migration
- 04Customer passwords cannot be migrated — automate resets with Bulk Account Invites Sender
- 05Reviews, gift cards, and subscriptions each need separate manual migration strategies
- 06Never change domain and platform at the same time
- 07Test migration with 10-20 products first — use Matrixify for bulk imports
- 08Enable tax-inclusive pricing explicitly if migrating from EU platforms
- 09Expect a 10-20% organic traffic dip for 2-6 weeks even with perfect execution


.jpg&w=3840&q=75&dpl=dpl_EmfMMyT7beWdifAp6gsSV4huMoJz)