Verified on Shopware 6.7
The Reality of SW5 to SW6 Migration
Let's be direct: migrating from Shopware 5 to Shopware 6 is not an upgrade - it's a rebuild. Shopware 6 is a completely different platform built on Symfony, with a new data model, new admin, new storefront, and new plugin system.
This isn't meant to scare you. It's meant to set proper expectations so you can plan accordingly.
Phase 1: Discovery and Audit (Week 1-2)
Catalog Your Current Shop
Before writing a single line of code, document everything:
□ Total products (simple + variants)
□ Categories and category tree depth
□ Customer accounts and groups
□ Order history (how far back do you need?)
□ CMS/Shopping World pages
□ Custom fields on products, categories, customers
□ Media library size
□ Active plugins and what they do
□ Custom theme modifications
□ Third-party integrations (ERP, PIM, payment, shipping)
□ SEO URLs and redirects
Plugin Audit
This is where most projects underestimate effort. For each SW5 plugin:
| Question | Impact |
|---|---|
| Does a SW6 version exist? | Low effort if yes |
| Is it a paid plugin from the store? | Contact vendor for migration path |
| Is it custom-built? | Needs complete rewrite |
| What core functionality does it modify? | Determines complexity |
| Can the functionality be achieved with SW6 native features? | May not need a plugin at all |
Many features that required plugins in SW5 are native in SW6: Flow Builder, Rule Builder, advanced CMS, custom fields, and more.
Phase 2: Architecture Decisions (Week 2-3)
Data Migration Strategy
You have two approaches:
Approach A: Shopware Migration Assistant
- Official tool from Shopware
- Handles products, categories, customers, orders, media
- Good for standard data structures
- Struggles with heavily customized shops
Approach B: Custom Migration Scripts
- Full control over data mapping
- Handle complex custom fields and relationships
- Can run incrementally
- More development effort but cleaner result
Our recommendation: Start with the Migration Assistant for standard entities, then write custom scripts for anything it can't handle cleanly.
What NOT to Migrate
Not everything should come over:
- Old order data - consider keeping SW5 in read-only mode for historical orders
- Unused products - clean up your catalog during migration
- Legacy customer accounts - inactive accounts from 5+ years ago add no value
- Shopping Worlds - rebuild CMS pages natively in SW6's CMS system, they'll be better
Phase 3: Development (Week 3-8)
Set Up the SW6 Instance
# Fresh Shopware 6 installation
composer create-project shopware/production my-shop
# Configure .env with database
# Run setup
bin/console system:install -basic-setup
Data Migration Order
Migrate in this order to respect dependencies:
- Media - images, documents first
- Properties and property groups - needed for variants
- Categories - build the tree structure
- Manufacturers - simple entity, do it early
- Products - simple products first, then variants
- Customers and customer groups - reset passwords or use migration token
- Orders - if migrating, do this last
SEO URL Strategy
This is critical. Poor SEO migration can tank your rankings:
SW5 URL: /my-category/my-product
SW6 URL: /my-category/my-product (preserve it!)
Steps:
- Export all SW5 URLs (products, categories, CMS pages)
- Configure SW6 SEO URL templates to match
- For URLs that can't match exactly, create 301 redirects
- Submit updated sitemap to Google Search Console
- Monitor 404s for the first 30 days after go-live
Theme Development
Don't try to replicate your SW5 theme pixel-for-pixel. Instead:
- Start from SW6's base theme or a commercial theme
- Focus on the same brand identity (colors, typography, feel)
- Take advantage of SW6's CMS - it's far more powerful than Shopping Worlds
- Mobile-first approach - SW6's storefront handles this well
Phase 4: Testing (Week 8-10)
Test Checklist
□ Product display (all types: simple, variant, digital)
□ Category navigation and filters
□ Search functionality
□ Cart operations (add, remove, quantity change, cart rules)
□ Full checkout flow for each payment method
□ Customer registration and login
□ Customer account (orders, addresses, profile)
□ CMS pages render correctly
□ Cross-selling and product relations
□ SEO URLs resolve correctly
□ 301 redirects work for changed URLs
□ Email templates send correctly
□ All integrations (ERP, payment, shipping) work
□ Performance under load
Parallel Run
We strongly recommend running both shops simultaneously for 1-2 weeks:
- SW5 continues handling live orders
- SW6 gets real data synced nightly
- Your team tests on SW6 with production data
- Catch issues before they affect real customers
Phase 5: Go-Live (Week 10-11)
Go-Live Day Checklist
1. Final data sync from SW5 → SW6 (products, customers, stock levels)
2. Switch DNS to SW6 instance
3. Verify SSL certificate
4. Test critical paths (homepage, product page, checkout)
5. Monitor error logs for first 2 hours
6. Check payment provider webhooks point to new URLs
7. Verify Google Search Console picks up new sitemap
8. Keep SW5 accessible on a subdomain (old.shop.com) as fallback
Post Go-Live (Week 11-14)
- Monitor Google Search Console for crawl errors daily
- Check analytics for traffic drops (compare week-over-week)
- Respond to customer-reported issues immediately
- Review server performance and optimize if needed
Timeline Summary
| Phase | Duration | Key Output |
|---|---|---|
| Discovery & Audit | 2 weeks | Complete shop inventory, plugin audit |
| Architecture | 1 week | Migration strategy, tech decisions |
| Development | 5 weeks | SW6 shop with migrated data |
| Testing | 2 weeks | QA sign-off, parallel run |
| Go-Live | 1 week | Live SW6 shop |
| Total | ~11 weeks |
For complex shops with many custom plugins, add 3-5 weeks to the development phase.
Final Advice
- Don't rush it. A botched migration costs more than extra planning time
- Keep SW5 alive for at least 3 months after go-live (historical orders, fallback)
- Communicate with customers - especially about password resets
- Budget for surprises - every migration has at least one unexpected issue
We've migrated SW5 shops with 50,000+ products and complex B2B setups. Let's talk about your migration.