Zum Inhalt springen

Migration von Shopware 5 zu Shopware 6: Ein Praxisleitfaden

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

Die Migration von Shopware 5 auf Shopware 6 ist kein einfaches Update, sondern ein Plattformwechsel. Beide Systeme basieren zwar auf Symfony, unterscheiden sich aber grundlegend in Architektur und Datenstruktur.

Migrationsstrategie wählen

Es gibt zwei grundsätzliche Ansätze:

  1. Shopware Migration Assistant – Das offizielle Tool migriert Daten schrittweise. Gut geeignet für Standard-Shops.
  2. Manuelle Migration – Für stark angepasste Shops oft die bessere Wahl. Hier haben Sie volle Kontrolle über den Datentransfer.

In meiner Erfahrung ist ein hybrides Vorgehen am erfolgreichsten: Standard-Daten über den Assistant, Custom-Daten über eigene Scripts.

Datenmapping

Die Datenstrukturen unterscheiden sich erheblich. Ein typisches Mapping-Script für Produktdaten:

<?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 lassen sich nicht 1:1 übernehmen. Häufig empfehle ich:

  • Funktionalität prüfen – Wird das Plugin noch benötigt? Gibt es ein SW6-Äquivalent?
  • Neu entwickeln – Custom-Plugins sollten für SW6 neu geschrieben werden
  • Marketplace – Viele beliebte SW5-Plugins gibt es als SW6-Version

SEO-Aspekte nicht vergessen

Bei der Migration müssen alle URLs erhalten bleiben oder korrekt weitergeleitet werden:

# 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;
    }
}

Checkliste für die Migration

  • Datenbank-Dump des SW5-Shops erstellen
  • Testumgebung mit SW6 aufsetzen
  • Produkte, Kategorien, Kunden migrieren
  • Bestellhistorie übernehmen
  • SEO-URLs und Redirects einrichten
  • Theme anpassen oder neu erstellen
  • Plugins migrieren oder ersetzen
  • Ausführliche Tests durchführen
  • DNS-Umstellung planen

Eine gut geplante Migration minimiert Ausfallzeiten und sorgt für einen reibungslosen Übergang. Nehmen Sie sich die Zeit für ausreichende Tests – der Aufwand lohnt sich.

Thomas Wunner

Thomas Wunner

Fachinformatiker für Anwendungsentwicklung mit Ausbildereignungsprüfung und über 14 Jahre Erfahrung im Aufbau skalierbarer Webanwendungen mit Symfony und Shopware. Abseits der Tastatur ist Thomas als Rettungsschwimmer in der Wasserwacht aktiv, legt als DJ auf und erkundet die Umgebung auf dem Motorrad.

Kommentare

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