Why This Article Is Different
There are hundreds of articles about Shopify migrations. Most of them sound like this: "Migration is easy! Export data, import, done!" The reality looks very different.
We have guided dozens of migrations -- from WooCommerce, Magento, Gambio, JTL, and other systems. Every single one had unexpected challenges. This article shares what we learned along the way. The ugly details included.
The Honest Assessment: Do You Really Need a Migration?
Before you jump into a migration, ask yourself these questions:
What exactly is not working? If it is specific problems (slow load times, plugin conflicts, design limitations), check whether these can be solved on your existing platform. A migration just because "the grass looks greener" is expensive and risky.
What does the problem cost? Do the math honestly: If your WooCommerce store costs you $500/month in maintenance and the migration costs $15,000 -- you need 30 months of savings before the switch pays for itself. Add to that the opportunity costs: everything you cannot do while the migration is underway.
Do you have the resources? A migration ties up significant capacity for 2-3 months. Your team needs to prepare data, migrate content, test, inform customers. Do not underestimate this.
When a Migration Actually Makes Sense
- Your current system is a security risk (outdated software, no more updates)
- Performance cannot be improved despite optimization efforts
- You need features that are not feasible on your current platform
- Ongoing costs are permanently higher than on Shopify
- Your developer or agency no longer supports the current platform
- Magento 1 end-of-life (migration here is not optional, it is necessary)
What You Actually Migrate (and What You Don't)
Data That Migrates Well
Products: Titles, descriptions, prices, variants, images -- these can usually be exported and imported without much trouble. Shopify accepts CSV files, and there are tools like Matrixify (formerly Excelify) that simplify the import process.
Watch out for variants: WooCommerce and Magento handle variants differently than Shopify. WooCommerce has "Variable Products" with "Variations," Magento has "Configurable Products" with "Simple Products." Shopify has its own variant model with a maximum of 3 options (e.g., Size, Color, Material) and a maximum of 100 variants per product.
If your products have more than 3 options or more than 100 variants, you need to rethink your product structure.
Customers: Name, email, addresses -- no problem. But there is a major catch:
Passwords are never migratable. No platform exports hashed passwords, and Shopify does not accept external hashes. Every customer must set a new password. That sounds harmless, but it is one of the most common reasons for customer complaints after a migration.
Order history: Past orders can be imported into Shopify as "archived orders." They appear in the customer account but can no longer be edited.
Data That Is Problematic
SEO URLs: This is the most critical point (more on this below).
Product reviews: Reviews are stored in WooCommerce plugins (e.g., WooCommerce Product Reviews, Yotpo) or Magento extensions. Each tool has its own format. You need to export the reviews and import them into a Shopify review app (e.g., Judge.me, Loox). This usually works, but requires manual effort.
Custom fields / Metafields: WooCommerce uses Custom Fields and Advanced Custom Fields (ACF), Magento has Custom Attributes. These need to be recreated as Shopify Metafields and the data mapped accordingly. With 50 custom fields, this can take days.
Blog posts: WordPress blogs are often the backbone of a content strategy. Shopify's blog system is significantly simpler than WordPress. Check whether you can live with Shopify's blog or whether you should keep the blog on a subdomain (blog.yourdomain.com) running WordPress.
Data That Cannot Be Migrated
- App/plugin data: Everything stored in WooCommerce plugins or Magento extensions
- Design/theme: Must be rebuilt from scratch
- Gift cards: Must be recreated manually (or via API)
- Analytics history: Google Analytics continues to run, but Shopify's internal analytics start from zero
The SEO Migration: Where Most Fail
If you have to get one thing right during the migration, it is the SEO migration. Everything else can be fixed later. Lost rankings cannot -- at least not quickly.
The Problem
WooCommerce and Shopify have different URL structures:
| Page Type | WooCommerce | Shopify |
|---|---|---|
| Product | /product/blue-tshirt/ | /products/blue-tshirt |
| Category | /product-category/mens/ | /collections/mens |
| Page | /about-us/ | /pages/about-us |
| Blog | /blog/post-title/ | /blogs/news/post-title |
| Cart | /cart/ | /cart |
| My Account | /my-account/ | /account |
Magento looks similar, with its own URL patterns.
Every single URL that changes needs a 301 redirect. Otherwise, Google cannot find the page, visitors land on a 404 error page, and you lose rankings.
The Redirect Strategy
Step 1: Capture All URLs
Crawl your current store with a tool like Screaming Frog or Sitebulb. Capture every indexed URL. For a store with 1,000 products and 50 categories, this quickly adds up to 2,000-3,000 URLs.
Step 2: Create the Mapping
Build a spreadsheet: Old URL -> New URL. This is tedious work, but absolutely essential.
Step 3: Set Up Redirects in Shopify
Shopify offers the option to enter redirects under "Online Store -> Navigation -> URL Redirects." For large numbers of redirects, use the CSV import or an app like "Bulk Redirect."
Step 4: Check, Check, Check
After go-live: verify every single redirect. Automated (with a crawler) and by manual spot checks. A wrong redirect is worse than no redirect -- it sends visitors to the wrong page.
The Hidden SEO Pitfalls
Trailing slashes: WooCommerce uses trailing slashes (/product/tshirt/), Shopify does not (/products/tshirt). Sounds like a detail, but it is a separate redirect.
HTTP vs. HTTPS: Make sure redirects from both HTTP and HTTPS on the old domain work properly.
Canonical tags: After migration, all canonical tags must point to the new URLs. Shopify does this automatically, but verify it anyway.
Structured data: If you had JSON-LD or Schema.org markup, make sure it also exists on Shopify. Shopify themes include the basics, but often not everything you had before.
Google Search Console: Submit the new sitemap as soon as the store goes live. Use the URL Inspection tool to manually request indexing for important pages. Monitor the coverage reports closely in the weeks following migration.
Realistic Traffic Trajectory After Migration
Expect the following after a well-executed migration:
- Weeks 1-2: 10-30% traffic drop (normal, Google is re-crawling the site)
- Weeks 3-4: Recovery to 80-90% of previous levels
- Months 2-3: Full recovery or even improvement (thanks to better performance)
After a poorly executed migration:
- Weeks 1-2: 50-80% traffic loss
- Months 1-3: Slow recovery, if redirects are set up retroactively
- Months 3-6: Possibly never full recovery of previous rankings
The Migration Timeline
For a Mid-Sized Store (500 Products, 5,000 Customers)
Weeks 1-2: Preparation
- Complete crawl of the existing store
- Create URL mapping
- Data export and cleanup
- App research: Which Shopify apps replace current plugins?
- Decision: Buy a theme or custom design?
Weeks 3-5: Build
- Set up Shopify store
- Configure theme or develop custom theme
- Import and verify product data
- Import customer data
- Import order history (optional)
- Install and configure apps
- Migrate legal pages (imprint, privacy policy, terms and conditions, cancellation policy)
- Set up email templates
Week 6: Content and SEO
- Transfer all page content
- Review meta titles and descriptions
- Set up redirects
- Generate and verify sitemap
- Verify structured data
Week 7: Testing
- Cross-browser testing (Chrome, Firefox, Safari, Edge)
- Mobile testing (various devices and screen sizes)
- Walk through the entire checkout process (with different payment methods)
- Redirect verification (automated + manual)
- Performance testing (PageSpeed, Core Web Vitals)
- Email testing (order confirmation, shipping notification, etc.)
Week 8: Go-Live
- Switch DNS (at night or on weekends when traffic is low)
- Verify SSL certificate
- Final check of all redirects
- Google Search Console: Submit new sitemap
- 48 hours of intensive monitoring
- Inform customers about the new store (email, social media)
The 7 Most Expensive Migration Mistakes
1. Forgetting or Misconfiguring SEO Redirects
Already covered above, but it cannot be stressed enough. A store with 2,000 indexed pages and missing redirects can lose 70% of its organic traffic within 2 weeks. Recovery takes months.
2. Shutting Down the Old Store Too Early
Keep the old store accessible in read-only mode for at least 2 weeks after go-live. This way you can:
- Retroactively verify and export data
- Direct customers with questions to old order records
- Switch back in an emergency
3. No Customer Communication
Inform your customers before the migration. Send an email explaining:
- When the new store goes live
- That a new password is required
- Where they can find their order history
- Who to contact with questions
Stores that skip this experience a flood of support tickets. The question "Why doesn't my login work?" gets asked hundreds of times.
4. Not Cleaning Up Product Data
Do not blindly migrate all data. Use the opportunity:
- Delete products that have not sold in 12 months
- Remove duplicates
- Update descriptions
- Re-process images in consistent quality
The migration is the best opportunity for a thorough spring cleaning. Take advantage of it.
5. Not Testing Apps in Advance
Many WooCommerce plugins have no exact Shopify equivalent. Test all required Shopify apps in advance on a test store. Check:
- Does the app work as expected?
- How does it behave on mobile?
- Does it affect page load time?
- Are the ongoing costs acceptable?
6. Only Testing on Desktop
Over 70% of e-commerce visitors come from smartphones. Test the new store thoroughly on mobile. What looks great on desktop can be unusable on a phone.
7. No Post-Launch Plan
The migration does not end on go-live day. Plan for the first 4 weeks after launch:
- Daily check of Google Search Console
- Monitor 404 errors
- Collect and act on customer feedback
- Performance monitoring
- Compare sales numbers with the old store
Special Case: Keeping the WordPress Blog
Many WooCommerce stores have an extensive WordPress blog with hundreds of articles that are valuable for SEO. Shopify's blog system is rudimentary by comparison.
Option A: Keep the Blog on a Subdomain
- Blog stays on blog.yourdomain.com with WordPress
- Store runs on yourdomain.com with Shopify
- Header/footer are visually aligned
- SEO value of blog articles is preserved
Option B: Migrate the Blog to Shopify
- Import blog articles as Shopify blog posts
- Accept limited formatting options
- Set up 301 redirects for all blog URLs
- Update internal links
Option C: Use an External Blog Service
- Set up blog on a headless CMS solution (Sanity, Contentful)
- Embed as a subdomain or subfolder
- Maximum flexibility, higher costs
For most stores, we recommend Option A if the blog is extensive. The effort of migrating a well-performing WordPress blog often does not justify the benefit.
Checklist: Before the Migration
- Complete crawl of the current store completed
- URL mapping table created
- All data exported and backed up
- Shopify apps researched and tested
- Budget and timeline realistically planned
- Team informed about their responsibilities
- Customer communication prepared
- Rollback plan created
- Test store set up and data import tested
- SEO baselines documented (rankings, traffic, indexed pages)
The Most Important Takeaway
A Shopify migration is not a one-time event, but a project that requires planning, discipline, and follow-through. The technology is the easier part. The real challenges are data quality, SEO continuity, and customer communication.
Take the time to do it right. The organic traffic you have built up over years is too valuable for a rushed migration.