Migration von Magento zu Shopify
DataEase zieht einen Magento 2-Shop (Magento Open Source, Adobe Commerce oder Mage-OS) direkt über die REST API von Magento zu Shopify um - ohne Erweiterungen, ohne CSV-Exporte, ohne Tabellen. Sie legen in Magento eine Integration an, fügen ihre Schlüssel ein, wählen aus, was übertragen werden soll, und DataEase erledigt den Rest. Außerdem werden Weiterleitungen von den alten URLs angelegt, sodass Links und Suchmaschinen-Rankings nach dem Domainwechsel weiter funktionieren.
Was migriert wird
Section titled “Was migriert wird”| Magento | Shopify | Details |
|---|---|---|
| Einfache, virtuelle und herunterladbare Produkte | Produkte | Name, Beschreibung, Status, Sichtbarkeit, erste Kategorie als Produkttyp, Bilder (Hauptbild zuerst), SKU, Preis und Sonderpreis (als Vergleichspreis), Einkaufspreis, Gewicht, Steuerklasse, Lagerbestand (am Hauptstandort), Lieferrückstände, Marke (manufacturer), Herstellungsland, SEO-Titel und -Beschreibung. |
| Konfigurierbare Produkte | Produkte mit Varianten | Konfigurierbare Attribute (Farbe, Größe, …) werden zu Optionen (bis zu 3), jedes aktivierte untergeordnete Produkt wird zu einer Variante mit eigener SKU, eigenem Preis, Lagerbestand und Bild. |
| Kategorien | Kollektionen | Manuelle Kollektionen mit den Produkten, der Beschreibung, dem Bild und den SEO-Daten der Kategorie. Verschachtelte Kategorien werden zu separaten Kollektionen. |
| Kunden | Kunden | Name, E-Mail, Telefon, alle Adressen (Standard-Lieferadresse zuerst), Newsletter-Abonnement. Die Kundengruppe wird als Tag hinzugefügt, zum Beispiel magento-group-wholesale. |
| Bestellungen | Bestellungen | Historische Kopie mit Positionen (per SKU mit den migrierten Varianten verknüpft), Variantenoptionen, Versand, Rabatt, Steuern, Zahlung und Erstattungen. Kunden erhalten keine E-Mails. |
| Warenkorb-Preisregeln (Cart price rules) | Rabatte | Regeln mit Gutschein werden zu Rabattcodes, Regeln ohne Gutschein zu automatischen Rabatten: prozentual, fester Betrag pro Artikel oder pro Warenkorb, kostenloser Versand, Mindestzwischensumme oder -menge, Lieferland, Produkt- und Kategoriebedingungen, Zeiträume und Nutzungslimits. |
| CMS-Seiten | Seiten | Titel, Inhalt, Status, SEO. |
| Alte URLs | URL-Weiterleitungen | Produkte und Kategorien (mit dem Suffix .html aus Ihren Shop-Einstellungen), CMS-Seiten, der Warenkorb, das Kundenkonto und die Suche leiten auf ihre Shopify-Adressen weiter. |
- Bilder in Beschreibungen und Seiten werden nach Shopify → Content → Files kopiert und die Links aktualisiert, sodass nichts kaputtgeht, wenn der alte Shop offline geht.
- Magento-Template-Tags werden umgewandelt:
{{media url="…"}}wird zur Bildadresse,{{store url="…"}}zu einem Link; Widgets und CMS-Blöcke werden entfernt. - Die Magento-ID jedes Datensatzes wird im Metafeld
magento.idgespeichert. - Deaktivierte Produkte werden als Entwürfe migriert. Produkte, die nicht einzeln sichtbar oder nicht der Website des Shops zugeordnet sind, werden migriert, aber nicht im Online Store veröffentlicht.
Nicht migriert werden: Themes und Design, Erweiterungen und ihre Daten (Blogs, Bewertungen, Bonuspunkte), Bundle-, gruppierte und Geschenkkarten-Produkte, benutzerdefinierte Optionen, Staffel- und Katalogpreise, Store Views in anderen Sprachen, Zahlungs-, Versand- und Steuereinstellungen, Kundenpasswörter (Kunden legen in Shopify ein neues Passwort fest).
Bevor Sie beginnen
Section titled “Bevor Sie beginnen”- Magento 2.3 oder neuer (Magento Open Source, Adobe Commerce oder Mage-OS).
- Ein Magento-Admin-Benutzer, der Integrationen anlegen darf (System → Extensions → Integrations).
- Der Shop muss aus dem Internet erreichbar sein - DataEase kann keine Verbindung zu
localhostoder einer Intranet-Adresse herstellen. Lassen Sie ihn online, bis die Migration abgeschlossen ist: Die Bilder werden von dort heruntergeladen. - Ihr Shopify-Shop sollte dieselbe Währung wie Magento verwenden - Preise werden unverändert, ohne Umrechnung, kopiert.
Schritt 1. Integration in Magento anlegen
Section titled “Schritt 1. Integration in Magento anlegen”- Öffnen Sie im Magento-Admin System → Extensions → Integrations und klicken Sie auf Add New Integration.
- Geben Sie einen Namen ein, zum Beispiel
DataEase, und Ihr Admin-Passwort im Feld Your Password. - Öffnen Sie den Tab API und setzen Sie Resource Access auf All.
- Klicken Sie auf Save, dann neben der neuen Integration auf Activate und anschließend auf Allow.
- Magento zeigt vier Schlüssel an: Consumer Key, Consumer Secret, Access Token und Access Token Secret. Kopieren Sie alle vier.
Die Schlüssel gewähren nur Zugriff auf die API und können jederzeit widerrufen werden. DataEase liest nur Daten - in Magento wird nichts verändert.
Lieber weniger Zugriff gewähren? Statt All können Sie einzelne Ressourcen auswählen: Stores, Katalog (Produkte, Kategorien und Bestand), Kunden und Kundengruppen, Verkaufsbestellungen, Warenkorb-Preisregeln und CMS-Seiten. Fehlt etwas, zeigt DataEase an, welche Magento-Ressource Sie hinzufügen müssen.
Schritt 2. Shop in DataEase verbinden
Section titled “Schritt 2. Shop in DataEase verbinden”- Öffnen Sie in Shopify DataEase → Store transfers.
- Wählen Sie den Tab From Magento.
- Geben Sie die Adresse Ihres Shops (zum Beispiel
https://myshop.com) und die vier Integrationsschlüssel ein. - Klicken Sie auf Check connection.
DataEase zeigt den Namen des Shops, die Store View, aus der gelesen wird, und wie viele Datensätze jedes Typs der Shop enthält.
Schritt 3. Daten auswählen und Migration starten
Section titled “Schritt 3. Daten auswählen und Migration starten”- Wählen Sie die Daten aus, die Sie übertragen möchten - alles, was im Shop gefunden wurde, ist standardmäßig ausgewählt.
- Klicken Sie auf Start migration.
Die Migration läuft im Hintergrund - Sie können die Seite schließen. Die Liste Transfers zeigt, welche Daten gerade migriert werden, und Sie können jederzeit mit Cancel abbrechen.
Schritt 4. Ergebnis prüfen
Section titled “Schritt 4. Ergebnis prüfen”Nach Abschluss der Migration zeigt die Liste, wie viele Datensätze pro Typ migriert wurden, mit Warnungen und Fehlern samt Gründen - zum Beispiel Orders: 1250 ⚠3. Typische Warnungen betreffen Warenkorb-Preisregeln mit Bedingungen, die Shopify nicht unterstützt, oder Datensätze, die bereits früher migriert wurden.
Nach der Migration
Section titled “Nach der Migration”- Prüfen Sie Produkte, Kollektionen und Preise im Shopify-Admin.
- Richten Sie Zahlungen, Versand und Steuern ein - diese werden nicht migriert.
- Wählen und gestalten Sie ein Theme und fügen Sie dann die migrierten Seiten und Kollektionen zum Navigationsmenü hinzu.
- Verbinden Sie Ihre Domain mit Shopify. Alte Links wie
/joust-duffle-bag.htmlleiten nun auf/products/joust-duffle-bagweiter. - Löschen Sie die Integration in Magento (System → Extensions → Integrations). DataEase löscht die Schlüssel aus der eigenen Datenbank, sobald die Migration abgeschlossen ist.
Migration erneut ausführen
Section titled “Migration erneut ausführen”Sie können die Migration jederzeit erneut ausführen - zum Beispiel direkt vor dem Domainwechsel, um neue Bestellungen zu übernehmen. Vorhandene Datensätze werden aktualisiert, nicht dupliziert:
- Produkte, Kollektionen, Kunden und Seiten werden per Handle oder E-Mail zugeordnet und aktualisiert;
- bereits migrierte Bestellungen, vorhandene Rabattcodes, automatische Rabatte mit demselben Namen und vorhandene Weiterleitungen werden übersprungen (Sie sehen eine Warnung mit ihrer Anzahl);
- bereits in Shopify Files kopierte Bilder werden wiederverwendet.
Wie Daten zugeordnet werden
Section titled “Wie Daten zugeordnet werden”Produkte
Section titled “Produkte”- Handle: der URL-Schlüssel (URL key) des Produkts, sodass die Produktadressen wiedererkennbar bleiben.
- Status: Enabled → Active; Disabled → Draft.
- Preise: Ein aktiver Sonderpreis wird zum Shopify-Preis, der reguläre Preis zum Vergleichspreis. Die Gültigkeitsdaten des Sonderpreises werden zum Zeitpunkt der Migration berücksichtigt.
- Lagerbestand: Die Mengen gehen an Ihren Hauptstandort. Produkte mit erlaubten Lieferrückständen (Backorders) bleiben auch bei fehlendem Bestand verkäuflich.
- Optionen: Die Attribute eines konfigurierbaren Produkts werden in derselben Reihenfolge zu Optionen, die Werte in der Reihenfolge der Attributoptionen. Shopify unterstützt bis zu 3 Optionen und 2048 Varianten pro Produkt; Produkte mit mehr Optionen werden mit einer Warnung übersprungen. Deaktivierte untergeordnete Produkte werden nicht migriert.
- Steuern: Produkte mit der Steuerklasse None sind nicht steuerpflichtig.
- Die Kurzbeschreibung wird im Metafeld
magento.short_descriptiongespeichert.
Bestellungen
Section titled “Bestellungen”| Magento-Status | Shopify-Zahlungsstatus | Fulfillment |
|---|---|---|
| Pending (neu), On hold | Ausstehend (oder Bezahlt, wenn eine Rechnung gestellt wurde) | Nicht erfüllt |
| Processing | Bezahlt (oder Teilweise bezahlt) | Nicht erfüllt, oder Erfüllt, wenn alles versendet ist |
| Complete | Bezahlt | Erfüllt |
| Closed | Erstattet (oder Teilweise erstattet) | - |
| Canceled | Storniert | - |
Der Zahlungsstatus wird aus den Beträgen berechnet, die Magento als bezahlt und erstattet erfasst hat. Bestellungen mit Pending payment oder Payment review werden nicht migriert. Jede migrierte Bestellung erhält das Tag magento und ein Tag magento-<status> (zum Beispiel magento-complete) und behält ihre Magento-Nummer (#000000145).
Warenkorb-Preisregeln
Section titled “Warenkorb-Preisregeln”| Magento | Shopify |
|---|---|
| Regel mit einem bestimmten Gutschein (Specific Coupon) | Rabattcode |
| Regel ohne Gutschein | Automatischer Rabatt |
| Percent of product price discount | Prozentualer Rabatt |
| Fixed amount discount | Fester Betrag auf jeden berechtigten Artikel |
| Fixed amount discount for whole cart | Fester Betrag auf die Bestellung |
| Kostenloser Versand (Rabattbetrag 0) | Rabatt für kostenlosen Versand |
| Bedingung Subtotal equals or greater than | Mindestbestellwert |
| Bedingung Total items quantity | Mindestanzahl an Artikeln |
| Bedingung Shipping country (kostenloser Versand) | Versand in ausgewählte Länder |
| Aktionsbedingung SKU oder Category | Bestimmte Produkte oder Kollektionen |
| Uses per Coupon / Uses per Customer = 1 | Nutzungslimit / Auf eine Nutzung pro Kunde beschränkt |
| Discard subsequent rules | Nicht mit anderen Rabatten kombinierbar |
DataEase macht einen Rabatt niemals großzügiger, als er in Magento war. Regeln, die auf bestimmte Kundengruppen beschränkt sind, Regeln mit Bedingungen, die Shopify nicht abbilden kann (Zahlungsart, Warenkorbattribute, kombinierte Bedingungen), und Buy X get Y-Regeln werden mit einer Warnung übersprungen - legen Sie sie manuell neu an. Inaktive Regeln und automatisch generierte Gutscheincodes werden nicht migriert.
Fehlerbehebung
Section titled “Fehlerbehebung”| Meldung | Was zu tun ist |
|---|---|
| Magento rejected the integration keys | Prüfen Sie alle vier Schlüssel und stellen Sie sicher, dass die Integration Active ist. Wenn Sie sie erneut autorisiert haben, kopieren Sie das neue Access Token und Secret. |
| The consumer isn’t authorized to access … | Bearbeiten Sie die Integration, setzen Sie Resource Access auf All (oder fügen Sie die Ressource aus der Meldung hinzu) und speichern Sie. |
| Magento REST API endpoint … was not found | Prüfen Sie die Shop-Adresse - verwenden Sie die Adresse der Storefront, nicht die Admin-URL. |
| returned a non-JSON response | Eine Firewall, der Wartungsmodus oder ein Cache blockiert die REST API. Erlauben Sie Anfragen an /rest/ für die Dauer der Migration. |
| must be reachable from the internet | Verwenden Sie die öffentliche Adresse des Shops, nicht localhost oder eine interne IP. |
| Image … was not copied | Die Bild-URL war nicht erreichbar. Die Seite behält den alten Link - laden Sie das Bild manuell unter Content → Files hoch. |
Erhalten Kunden E-Mails? Nein. Kunden und Bestellungen werden ohne Benachrichtigungen oder Einladungen angelegt.
Wird mein Magento-Shop verändert? Nein. DataEase liest nur von ihm.
Werden die Integrationsschlüssel gespeichert? Nur während die Migration läuft, und zwar verschlüsselt. Sie werden gelöscht, wenn die Migration abgeschlossen ist, fehlschlägt oder abgebrochen wird.
Ich habe mehrere Websites oder Store Views. Welche wird migriert? Die Standard-Store-View der Standard-Website: ihre Namen, Beschreibungen, Preise und URLs.
Sie ziehen stattdessen von WordPress oder zwischen zwei Shopify-Shops um? Siehe Migration von WordPress / WooCommerce und Shop-Übertragungen.