MIGRATION GUIDE

How to Migrate from Shopware 5 to Shopware 6: A Complete 5-Step Guide

By Huzaifa Mustafa 12 min read October 28, 2025

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 represents a complete architectural rebuild from Shopware 5. Unlike typical version upgrades, this migration requires moving to a new codebase, modern tech stack (Symfony, Vue.js), and 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

  1. Install Migration Assistant in your Shopware 6 instance from the Shopware Store (free).
  2. Configure connection to Shopware 5 by providing the shop URL and API credentials.
  3. Fetch data profile to see what entities will be migrated and estimated counts.
  4. Run migration in stages: start with products and categories, then customers, then historical orders.
  5. 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, execute comprehensive testing across all critical business functions. 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

  1. Transfer Shopware license: In Shopware 6, go to Settings > Shopware Account and update your licensing host to your production domain.
  2. Update sales channel domains: Configure the domain URL for each sales channel individually in the administration panel.
  3. 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.
  4. 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.
  5. 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 comprehensive QA.
  • Keep Shopware 5 as a backup for 30 days post-launch with a documented rollback plan.

Written by

Share:

Need Help with Your Shopware 5 to 6 Migration?

I've successfully migrated dozens of Shopware stores, from small catalogs to enterprise installations with 500,000+ SKUs. Get expert guidance to avoid common pitfalls.

Get Free Migration Consultation