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:

  1. Media - images, documents first
  2. Properties and property groups - needed for variants
  3. Categories - build the tree structure
  4. Manufacturers - simple entity, do it early
  5. Products - simple products first, then variants
  6. Customers and customer groups - reset passwords or use migration token
  7. 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:

  1. Export all SW5 URLs (products, categories, CMS pages)
  2. Configure SW6 SEO URL templates to match
  3. For URLs that can't match exactly, create 301 redirects
  4. Submit updated sitemap to Google Search Console
  5. Monitor 404s for the first 30 days after go-live

Theme Development

Don't try to replicate your SW5 theme pixel-for-pixel. Instead:

  1. Start from SW6's base theme or a commercial theme
  2. Focus on the same brand identity (colors, typography, feel)
  3. Take advantage of SW6's CMS - it's far more powerful than Shopping Worlds
  4. 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

  1. Don't rush it. A botched migration costs more than extra planning time
  2. Keep SW5 alive for at least 3 months after go-live (historical orders, fallback)
  3. Communicate with customers - especially about password resets
  4. 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.