Zum Inhalt springen

Migrating from Shopware 5 to Shopware 6: A Practical Guide

Veröffentlicht am Jan 8, 2026 | ca. 1 Min. Lesezeit |

Migrating from Shopware 5 to Shopware 6 is not a simple update -- it is a platform change. While both systems are based on Symfony, they differ fundamentally in architecture and data structure.

Choosing a Migration Strategy

There are two basic approaches:

  1. Shopware Migration Assistant -- The official tool migrates data incrementally. Well suited for standard shops.
  2. Manual Migration -- Often the better choice for heavily customized shops. Here you have full control over the data transfer.

In my experience, a hybrid approach works best: standard data via the Assistant, custom data through your own scripts.

Data Mapping

The data structures differ considerably. A typical mapping script for product data:

<?php

declare(strict_types=1);

namespace App\Migration;

class ProductMapper
{
    public function mapFromSW5(array $sw5Product): array
    {
        return [
            'productNumber' => $sw5Product['ordernumber'],
            'name' => $sw5Product['name'],
            'description' => $sw5Product['description_long'],
            'price' => [
                [
                    'currencyId' => $this->getDefaultCurrencyId(),
                    'gross' => (float) $sw5Product['price'],
                    'net' => (float) $sw5Product['price'] / 1.19,
                    'linked' => true,
                ],
            ],
            'stock' => (int) $sw5Product['instock'],
            'active' => (bool) $sw5Product['active'],
            'taxId' => $this->mapTaxRate($sw5Product['tax']),
        ];
    }

    private function mapTaxRate(string $taxRate): string
    {
        $mapping = [
            '19' => 'standard-tax-id',
            '7' => 'reduced-tax-id',
        ];

        return $mapping[$taxRate] ?? $mapping['19'];
    }
}

Plugin Migration

SW5 plugins cannot be transferred one-to-one. I frequently recommend:

  • Review functionality -- Is the plugin still needed? Is there a SW6 equivalent?
  • Rebuild from scratch -- Custom plugins should be rewritten for SW6
  • Marketplace -- Many popular SW5 plugins are available as SW6 versions

Don't Forget SEO Aspects

During migration, all URLs must be preserved or correctly redirected:

# nginx Redirect-Map für alte SW5-URLs
map $uri $redirect_url {
    ~/detail/sArticle/(\d+)  /product-detail-page;
    ~/listing/                /category-page;
}

server {
    if ($redirect_url) {
        return 301 $redirect_url;
    }
}

Migration Checklist

  • Create a database dump of the SW5 shop
  • Set up a test environment with SW6
  • Migrate products, categories, and customers
  • Transfer order history
  • Set up SEO URLs and redirects
  • Adapt or recreate the theme
  • Migrate or replace plugins
  • Perform thorough testing
  • Plan the DNS switchover

A well-planned migration minimizes downtime and ensures a smooth transition. Take the time for adequate testing -- the effort is well worth it.

Thomas Wunner

Thomas Wunner

Certified IT specialist for application development with an instructor qualification and over 14 years of experience building scalable web applications with Symfony and Shopware. When not coding, Thomas volunteers as a lifeguard with the Wasserwacht, performs as a DJ, and explores the countryside on his motorbike.

Kommentare

Kommentare werden von Remark42 bereitgestellt. Beim Laden werden Daten an unseren Kommentar-Server übertragen.