# WooCommerce zu PrestaShop Migration — Komplette Anleitung

> Ü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…

- Seite: <https://www.datafirefly.com/de/documentation/dfmigratewoocommerce/>
- Sprache: de
- Aktualisiert am: 2026-07-01
- Weitere Sprachen: [fr](https://www.datafirefly.com/documentation/dfmigratewoocommerce/index.md), [en](https://www.datafirefly.com/en/documentation/dfmigratewoocommerce/index.md), [es](https://www.datafirefly.com/es/documentation/dfmigratewoocommerce/index.md), [it](https://www.datafirefly.com/it/documentation/dfmigratewoocommerce/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfmigratewoocommerce/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfmigratewoocommerce/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfmigratewoocommerce/index.md)
- Index: <https://www.datafirefly.com/de/documentation/llms.txt>

## Ü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

1. Öffnen Sie im PrestaShop-Backoffice **Module > Modul-Manager > Modul hochladen** und wählen Sie die Datei `dfmigratewoocommerce.zip`.
2. Das Modul erstellt drei technische Tabellen: `df_woomig_mapping` (Woo ↔ PS Zuordnungen), `df_woomig_log` (Protokoll) und `df_woomig_progress` (Fortschritt der Schritte).
3. 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 Sie `wp-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) oder `local` (die Site-URL wird als Dateisystempfad mit `wp-content/uploads` behandelt);
- **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:

1. **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.
2. **Kategorien** — der komplette Baum wird nachgebaut; fehlende Eltern werden rekursiv aufgelöst, Waisen mit einer Warnung an die Wurzel gehängt.
3. **Tags** — nach Name dedupliziert.
4. **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.
5. **Bilder** — Nachholschritt: durchläuft bereits migrierte Produkte und importiert fehlende Bilder (Hauptbild + Galerie) mit Neugenerierung aller Thumbnails.
6. **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.
7. **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.
