Quick Answer
Migrating from Shopware 5 to Shopware 6 requires five critical steps:
-
Audit your current store to inventory plugins and integrations
-
Migrate data using the Migration Assistant
-
Rebuild your theme and port custom plugins to Shopware 6's architecture
-
Test thoroughly including checkout and integrations
-
Execute a planned go-live with monitoring
Expect 4-8 weeks for small stores, 3-6 months for enterprise installations.
Shopware 6 is a complete architectural rebuild from Shopware 5. Unlike typical version upgrades, this migration means moving to a new codebase, a modern tech stack (Symfony, Vue.js), and a different plugin system. This guide walks through the complete process, based on dozens of real-world migrations.
Step 1: Audit Your Shopware 5 Store
Before touching any code, document everything in your current Shopware 5 installation. This audit determines your migration complexity and timeline.
What needs auditing?
-
Custom Plugins: List all installed plugins. Check each plugin's Shopware 6 compatibility on the Shopware Store or vendor website. Flag critical plugins that need rebuilding.
-
Theme Customizations: Document all template overrides, custom CSS, and JavaScript modifications. These will need manual recreation in Shopware 6.
-
Third-Party Integrations: Inventory ERP, PIM, payment gateways, shipping providers, and analytics integrations. Check if integration partners support Shopware 6.
-
Data Volumes: Count products, categories, customers, orders, and media files. Large catalogs (50,000+ products) require special migration strategies.
Pro Tip: Export your plugin list from the Shopware 5 Plugin Manager and cross-reference it with the Shopware 6 Store. Budget 50-60% of your migration timeline for custom plugin development if you have heavily customized functionality.
Step 2: Migrate Your Data Using Migration Assistant
Shopware provides an official Migration Assistant plugin for Shopware 6 that connects to your Shopware 5 API and transfers data automatically.
How does the Migration Assistant work?
The plugin runs in Shopware 6 and pulls data from your Shopware 5 store via API. It migrates products, categories, customers, orders, and media in configurable batches.
Migration sequence
- Install Migration Assistant in your Shopware 6 instance from the Shopware Store (free).
- Configure connection to Shopware 5 by providing the shop URL and API credentials.
- Fetch data profile to see what entities will be migrated and estimated counts.
- Run migration in stages: start with products and categories, then customers, then historical orders.
- Validate data after each stage by spot-checking products, customer accounts, and order history.
Important Limitations: The Migration Assistant does NOT migrate:
- • Shopping Worlds (must be rebuilt as Shopping Experiences in Shopware 6)
- • CMS pages and shop pages (require manual recreation)
- • Custom fields and plugin data (need custom migration scripts)
- • Theme and design (complete rebuild required)
Pro Tip: Budget significant time for rebuilding Shopping Worlds as Shopping Experiences. This is often the most time-consuming part of the migration after theme development. Document your existing Shopping World configurations with screenshots before starting.
Step 3: Rebuild Your Theme and Port Plugins
Shopware 6 uses a completely different frontend technology stack (Twig templates, Symfony framework, Vue.js storefront). Direct theme migration is not possible.
Theme migration strategy
-
Start with Shopware 6 Storefront: Use the default Shopware 6 Storefront theme as your base.
-
Rebuild custom styling: Port your brand colors, fonts, and layout using Shopware 6's SCSS structure.
-
Recreate template overrides: Convert Smarty templates (Shopware 5) to Twig (Shopware 6).
What about plugins?
Shopware 5 plugins are not compatible with Shopware 6. For each plugin, you have three options:
-
1.
Replace with Shopware 6 equivalent: Check if the original vendor has a Shopware 6 version or find an alternative in the Shopware Store.
-
2.
Rebuild from scratch: Port the functionality to Shopware 6's plugin system (required for custom/proprietary plugins).
-
3.
Eliminate: Assess if the functionality is still needed in your Shopware 6 store.
Step 4: Test Everything Thoroughly
Before go-live, test every critical business function end-to-end. Skipping this step causes revenue loss and customer frustration.
What to test before launch?
Checkout Flows
- • Guest checkout
- • Registered customer checkout
- • All payment methods
- • All shipping methods
- • Discount codes and promotions
Integrations
- • Payment gateway connections
- • ERP/PIM data sync
- • Shipping carrier APIs
- • Email notifications
- • Analytics tracking
Performance
- • Page load times (< 2 seconds)
- • Load testing with production traffic
- • Search functionality
- • Product filtering
- • Mobile performance
Cross-Browser
- • Chrome, Firefox, Safari, Edge
- • Mobile browsers (iOS, Android)
- • Responsive design breakpoints
- • Touch interactions
- • Form validation
Step 5: Plan and Execute Go-Live
A well-planned go-live minimizes downtime and reduces risk. Never launch during peak traffic periods (weekends, holidays, campaign launches).
Pre-launch checklist
-
Final data sync: Run a final migration of recent orders and customer updates before switching DNS.
-
DNS cutover: Update your domain's DNS records to point to the Shopware 6 server. TTL reduction helps with quick rollback.
-
Production mode: Enable Shopware 6 production mode, disable debug logs, enable caching.
-
Monitoring: Set up error logging, performance monitoring (New Relic, Datadog), and uptime alerts.
-
Rollback plan: Keep Shopware 5 running for 30 days as a backup. Document exact steps to revert DNS if needed.
Technical go-live steps
- Transfer Shopware license: In Shopware 6, go to Settings > Shopware Account and update your licensing host to your production domain.
- Update sales channel domains: Configure the domain URL for each sales channel individually in the administration panel.
- Configure web server: Point your VirtualHost DocumentRoot to the
/public/ subdirectory in your Shopware 6 installation. This is critical for both frontend and admin access.
- Move Shopware 5 installation: Relocate your Shopware 5 store to a subdirectory (e.g.,
/shop5/) or alternative domain so it no longer uses the primary domain.
- Complete the migration: After verifying all data is current, finalize the migration via Settings > Extensions > Migration Assistant > Complete Migration. This removes migration-specific database records.
Post-launch monitoring period: Actively monitor the first 48 hours for errors, broken integrations, or performance issues. Have your development team on standby to address critical issues immediately.
Important: Do not uninstall the Migration Assistant plugin immediately after go-live if you migrated from platforms like Magento. The plugin preserves password algorithms needed for customer authentication. For Shopware 5 migrations, you can safely remove it after completing the migration process.
Key Takeaways
-
Shopware 5 to 6 migration is a replatforming project, not an upgrade. Budget accordingly.
-
Custom plugins and theme require complete rebuilds in the Shopware 6 architecture.
-
The Migration Assistant handles standard data, but custom data structures need manual migration scripts.
-
Testing is non-negotiable. Budget at least 2 weeks for full QA.
-
Keep Shopware 5 as a backup for 30 days post-launch with a documented rollback plan.
Need Help with Your Shopware 5 to 6 Migration?
I've migrated dozens of Shopware stores, from small catalogs to enterprise installations with 500,000+ SKUs. Get help to avoid common pitfalls.
Get Free Migration Consultation