WooCommerce zu PrestaShop Migration — Komplette Anleitung
Installieren, verbinden und die komplette WooCommerce → PrestaShop Migration ausführen: die 7 Schritte, Mapping, Dry-Run und Fehlerbehebung.
Überblick
WooCommerce Migration (dfmigratewoocommerce) migriert einen kompletten WooCommerce-Shop nach PrestaShop 8 oder 9: Kategorien, Tags, globale Attribute, einfache und variable Produkte (Variationen werden zu Kombinationen), Bilder, Custom-Metadaten, Kunden mit Adressen und Bestellungen. Das Modul verbindet sich direkt mit der MySQL-Datenbank von WordPress, arbeitet in AJAX-Batches ohne Timeout und pflegt ein Woo ↔ PS Mapping in der Datenbank, das jeden Schritt ohne Duplikate wiederholbar macht.
Die WooCommerce-Quelldatenbank wird nur gelesen, nie verändert. Alle Schreibvorgänge finden auf der PrestaShop-Seite statt.
Installation
- Öffnen Sie im PrestaShop-Backoffice Module > Modul-Manager > Modul hochladen und wählen Sie die Datei
dfmigratewoocommerce.zip. - Das Modul erstellt drei technische Tabellen:
df_woomig_mapping(Woo ↔ PS Zuordnungen),df_woomig_log(Protokoll) unddf_woomig_progress(Fortschritt der Schritte). - Klicken Sie auf Konfigurieren, um die Migrationsoberfläche zu öffnen.
Verbindung mit WooCommerce
Geben Sie im Tab Verbindung Folgendes ein:
- Host / Port: MySQL-Server der WordPress-Datenbank (Standard-Port 3306);
- Datenbank, Benutzer, Passwort: Zugangsdaten der WordPress-Datenbank;
- Tabellenpräfix: meist
wp_— prüfen Siewp-config.php($table_prefix); - Site-URL: die öffentliche Adresse des WooCommerce-Shops für den Bilddownload (HTTP-Modus), oder ein Dateisystempfad im lokalen Modus.
Klicken Sie auf Verbindung testen: Das Modul zeigt die Anzahl der in der Quelle erkannten Produkte, Kategorien, Tags, globalen Attribute, Kunden und Bestellungen.
Blockiert Ihr Hoster externe MySQL-Verbindungen, importieren Sie einen Dump der WordPress-Datenbank in ein eigenes Schema auf dem PrestaShop-Server (z. B. wp_source) und verbinden Sie das Modul via localhost. Ein SSH-Tunnel funktioniert ebenfalls.
Einstellungen
- Standardsprache: PrestaShop-Sprache, in die die (einsprachigen) Woo-Inhalte geschrieben werden;
- Standard-Steuerregelgruppe: wird auf alle migrierten Produkte angewendet — Woo-Preise werden unverändert in den Nettopreis von PrestaShop übernommen;
- Attribute als Eigenschaften: aktiviert das doppelte Mapping (jedes globale Attribut wird zusätzlich zur Eigenschaft, sichtbar auf einfachen Produkten) und die Übernahme von Custom-postmeta als
meta:*-Eigenschaften; - Batch-Größe: Anzahl der pro AJAX-Anfrage verarbeiteten Entitäten (Standard 25; auf langsamem Shared Hosting reduzieren);
- Bildmodus:
http(Download über die Site-URL) oderlocal(die Site-URL wird als Dateisystempfad mitwp-content/uploadsbehandelt); - Dry-Run: Simulationsmodus — alles wird protokolliert, nichts geschrieben;
- Standardversand: wird den migrierten Bestellungen zugewiesen.
Migration ausführen
Führen Sie im Tab Migration die Schritte der Reihe nach aus — jeder baut auf dem Mapping der vorherigen auf:
- Attribute — jedes globale Woo-Attribut (
pa_*) wird zu einer PS-Attributgruppe (Farbgruppen werden erkannt) und, falls aktiviert, zu einer Eigenschaft. Alle Werte werden auf beiden Seiten angelegt. - Kategorien — der komplette Baum wird nachgebaut; fehlende Eltern werden rekursiv aufgelöst, Waisen mit einer Warnung an die Wurzel gehängt.
- Tags — nach Name dedupliziert.
- Produkte — einfache und variable Produkte: Preise, Aktionspreise (SpecificPrice), SKU, Gewicht, Abmessungen, Bestand, Status, virtuelle Produkte, Kategorie-/Tag-Verknüpfungen, Eigenschaften, Custom-Metadaten. Variationen werden zu Kombinationen mit eigenem Preisaufschlag, Bestand und Referenz. Produktbilder werden direkt mitmigriert.
- Bilder — Nachholschritt: durchläuft bereits migrierte Produkte und importiert fehlende Bilder (Hauptbild + Galerie) mit Neugenerierung aller Thumbnails.
- Kunden — Konten mit Rechnungs- und Lieferadressen. Passwörter werden in bcrypt neu generiert: Kunden nutzen beim ersten Login „Passwort vergessen“. Vorhandene PS-E-Mail-Adressen werden wiederverwendet, nie dupliziert.
- Bestellungen — automatische HPOS-Erkennung (WooCommerce 8+,
wc_orders-Tabellen) oder Legacy (wp_posts). Positionen, Summen, Währung und Status werden auf PrestaShop-Bestellstatus gemappt. Es wird keine E-Mail versendet.
Jeder Schritt zeigt einen Live-Fortschrittsbalken und kann unterbrochen und neu gestartet werden: Er setzt exakt dort fort, wo er stand.
Machen Sie zuerst einen kompletten Durchlauf im Dry-Run, um den Umfang im Protokoll zu prüfen, deaktivieren Sie dann den Dry-Run und starten Sie erneut.
Mapping und Wiederholungen
Der Tab Mapping zeigt die Anzahl der Zuordnungen pro Entitätstyp. Jede im Mapping vorhandene Entität wird bei Wiederholungen übersprungen: Sie können einen kompletten Schritt neu starten, ohne Duplikate zu erzeugen. Der Reset-Knopf löscht das Mapping eines Typs (oder alles) — bereits in PrestaShop angelegte Entitäten bleiben erhalten.
Protokoll
Der Tab Protokoll listet Ereignisse nach Schritt und Level (Info, Erfolg, Warnung, Fehler): erstellte Produkte, mangels globalem Attribut übersprungene Variationen, fehlende Bilder, Bestellungen ohne Kunden… Bereinigung mit einem Klick.
Nach der Migration
- Starten Sie eine Suchindizierung: Shop-Einstellungen > Suche > Alle Produkte indizieren;
- Prüfen Sie eine Preisstichprobe, falls Ihr Woo-Shop Bruttopreise speicherte (PrestaShop erwartet Netto);
- Kontrollieren Sie Steuerregelgruppe, Versanddienste und Zahlungsarten;
- Löschen Sie die Verbindungseinstellungen (oder deinstallieren Sie das Modul): Die MySQL-Zugangsdaten liegen in der PrestaShop-Konfiguration.
Bekannte Einschränkungen
- Lokale Attribute (auf einem einzelnen Produkt definiert, nicht
pa_*), die in Variationen verwendet werden, können keine Kombinationen werden — PrestaShop verlangt globale Attribute. Diese Variationen werden übersprungen und im Protokoll markiert. Wandeln Sie sie bei Bedarf vor der Migration auf der Woo-Seite in globale Attribute um. - Bestellungen werden als Historie migriert: Steuern werden nicht neu berechnet, Woo-Summen werden unverändert übernommen.
- Gutscheine, Produktbewertungen und Abonnements werden in dieser Version nicht migriert.
Fehlerbehebung
„Verbindung fehlgeschlagen“ beim Test
Prüfen Sie, ob der MySQL-Benutzer sich von der IP des PrestaShop-Servers verbinden darf (GRANT ... ON db.* TO 'user'@'ip') und ob Port 3306 offen ist. Andernfalls nutzen Sie einen lokalen Dump oder einen SSH-Tunnel.
Fehlende Bilder im HTTP-Modus
Die WooCommerce-Site muss vom PrestaShop-Server aus per HTTP/HTTPS erreichbar sein. Ist die Quellsite offline, nutzen Sie den local-Modus: wp-content/uploads auf den PrestaShop-Server kopieren und dessen Pfad als Site-URL eintragen.
Fehlende Variationen bei einem Produkt
Prüfen Sie das Protokoll: Nutzten die Variationen lokale (nicht-globale) Attribute, werden sie konzeptbedingt übersprungen. Das Elternprodukt wird mit seinen Basisdaten migriert.