Migracja z Magento do Shopify
DataEase przenosi sklep Magento 2 (Magento Open Source, Adobe Commerce lub Mage-OS) do Shopify bezpośrednio przez REST API Magento - bez rozszerzeń, eksportów CSV i arkuszy kalkulacyjnych. Tworzysz integrację w Magento, wklejasz jej klucze, wybierasz, co przenieść, a DataEase zajmuje się resztą. Tworzy też przekierowania ze starych adresów URL, dzięki czemu linki i pozycje w wyszukiwarkach działają po zmianie domeny.
Co jest migrowane
Section titled “Co jest migrowane”| Magento | Shopify | Szczegóły |
|---|---|---|
| Produkty proste, wirtualne i do pobrania | Produkty | Nazwa, opis, status, widoczność, pierwsza kategoria jako typ produktu, obrazy (najpierw obraz główny), SKU, cena i cena specjalna (jako cena porównawcza), koszt, waga, klasa podatkowa, stan magazynowy (w głównej lokalizacji), zamówienia oczekujące, marka (manufacturer), kraj produkcji, tytuł i opis SEO. |
| Produkty konfigurowalne | Produkty z wariantami | Atrybuty konfigurowalne (Color, Size, …) stają się opcjami (maksymalnie 3), a każdy włączony produkt podrzędny - wariantem z własnym SKU, ceną, stanem magazynowym i obrazem. |
| Kategorie | Kolekcje | Kolekcje ręczne z produktami kategorii, opisem, obrazem i SEO. Kategorie zagnieżdżone stają się osobnymi kolekcjami. |
| Klienci | Klienci | Imię i nazwisko, email, telefon, wszystkie adresy (najpierw domyślny adres wysyłkowy), subskrypcja newslettera. Grupa klienta jest dodawana jako tag, na przykład magento-group-wholesale. |
| Zamówienia | Zamówienia | Kopia historyczna z pozycjami (łączonymi z przeniesionymi wariantami po SKU), opcjami wariantów, wysyłką, rabatem, podatkiem, płatnością i zwrotami. Klienci nie otrzymują żadnych emaili. |
| Reguły cenowe koszyka | Rabaty | Reguły z kuponem stają się kodami rabatowymi, a reguły bez kuponu - rabatami automatycznymi: procentowe, stała kwota na pozycję lub na koszyk, darmowa wysyłka, minimalna wartość lub liczba produktów, kraj wysyłki, warunki produktów i kategorii, daty i limity użycia. |
| Strony CMS | Strony | Tytuł, treść, status, SEO. |
| Stare adresy URL | Przekierowania URL | Produkty i kategorie (z sufiksem .html z ustawień sklepu), strony CMS, koszyk, konto klienta i wyszukiwanie przekierowują na swoje adresy w Shopify. |
- Obrazy w opisach i na stronach są kopiowane do Shopify → Content → Files, a linki aktualizowane, więc nic się nie zepsuje po wyłączeniu starego sklepu.
- Znaczniki szablonów Magento są konwertowane:
{{media url="…"}}staje się adresem obrazu,{{store url="…"}}- linkiem; widżety i bloki CMS są usuwane. - Identyfikator Magento każdego rekordu jest zapisywany w metapolu
magento.id. - Wyłączone produkty są przenoszone jako wersje robocze. Produkty niewidoczne pojedynczo lub nieprzypisane do witryny (website) sklepu są przenoszone, ale nie publikowane w Online Store.
Nie są migrowane: motywy i wygląd, rozszerzenia i ich dane (blogi, recenzje, punkty lojalnościowe), produkty pakietowe (bundle), grupowane i karty podarunkowe, opcje konfigurowalne przez klienta (customizable options), ceny progowe i ceny katalogowe, widoki sklepu w innych językach, ustawienia płatności, wysyłki i podatków, hasła klientów (klienci ustawiają nowe hasło w Shopify).
Zanim zaczniesz
Section titled “Zanim zaczniesz”- Magento 2.3 lub nowszy (Magento Open Source, Adobe Commerce lub Mage-OS).
- Użytkownik panelu Magento, który może tworzyć integracje (System → Extensions → Integrations).
- Sklep musi być dostępny z internetu - DataEase nie połączy się z
localhostani adresem w sieci wewnętrznej. Utrzymuj go online do końca migracji: obrazy są z niego pobierane. - Sklep Shopify powinien używać tej samej waluty co Magento - ceny są kopiowane bez zmian, bez przeliczania.
Krok 1. Utwórz integrację w Magento
Section titled “Krok 1. Utwórz integrację w Magento”- W panelu Magento otwórz System → Extensions → Integrations i kliknij Add New Integration.
- Wpisz nazwę, na przykład
DataEase, oraz swoje hasło administratora w polu Your Password. - Otwórz kartę API i ustaw Resource Access na All.
- Kliknij Save, a następnie Activate obok nowej integracji i Allow.
- Magento pokaże cztery klucze: Consumer Key, Consumer Secret, Access Token i Access Token Secret. Skopiuj wszystkie cztery.
Klucze dają dostęp tylko do API i można je w każdej chwili unieważnić. DataEase tylko odczytuje dane - niczego nie zmienia w Magento.
Wolisz przyznać mniejszy dostęp? Zamiast All możesz wybrać konkretne zasoby: sklepy (stores), katalog (produkty, kategorie i stany magazynowe), klientów i grupy klientów, zamówienia sprzedaży, reguły cenowe koszyka i strony CMS. Jeśli czegoś zabraknie, DataEase pokaże, który zasób Magento dodać.
Krok 2. Połącz sklep w DataEase
Section titled “Krok 2. Połącz sklep w DataEase”- W Shopify otwórz DataEase → Store transfers.
- Wybierz kartę From Magento.
- Wpisz adres sklepu (na przykład
https://myshop.com) i cztery klucze integracji. - Kliknij Check connection.
DataEase pokaże nazwę sklepu, widok sklepu (store view), z którego odczytuje dane, oraz liczbę rekordów każdego typu w sklepie.
Krok 3. Wybierz, co przenieść, i rozpocznij
Section titled “Krok 3. Wybierz, co przenieść, i rozpocznij”- Zaznacz dane, które chcesz przenieść - domyślnie zaznaczone jest wszystko, co znaleziono w sklepie.
- Kliknij Start migration.
Migracja działa w tle - możesz zamknąć stronę. Lista Transfers pokazuje, jakie dane są właśnie przenoszone, a w każdej chwili możesz ją przerwać przyciskiem Cancel.
Krok 4. Sprawdź wynik
Section titled “Krok 4. Sprawdź wynik”Po zakończeniu migracji lista pokazuje, ile rekordów każdego typu przeniesiono, wraz z ostrzeżeniami, błędami i ich przyczynami - na przykład Orders: 1250 ⚠3. Typowe ostrzeżenia dotyczą reguł cenowych koszyka z warunkami nieobsługiwanymi przez Shopify lub rekordów, które zostały przeniesione wcześniej.
Po migracji
Section titled “Po migracji”- Przejrzyj produkty, kolekcje i ceny w panelu Shopify.
- Skonfiguruj płatności, wysyłkę i podatki - nie są migrowane.
- Wybierz i dostosuj motyw, a następnie dodaj przeniesione strony i kolekcje do menu nawigacji.
- Podłącz domenę do Shopify. Stare linki, takie jak
/joust-duffle-bag.html, przekierowują teraz na/products/joust-duffle-bag. - Usuń integrację w Magento (System → Extensions → Integrations). DataEase usuwa klucze ze swojej bazy danych zaraz po zakończeniu migracji.
Ponowne uruchomienie migracji
Section titled “Ponowne uruchomienie migracji”Migrację możesz uruchomić ponownie w dowolnym momencie - na przykład tuż przed zmianą domeny, aby przenieść nowe zamówienia. Istniejące rekordy są aktualizowane, a nie duplikowane:
- produkty, kolekcje, klienci i strony są dopasowywane po handle lub emailu i aktualizowane;
- zamówienia przeniesione wcześniej, istniejące kody rabatowe, rabaty automatyczne o tej samej nazwie i istniejące przekierowania są pomijane (zobaczysz ostrzeżenie z ich liczbą);
- obrazy już skopiowane do Shopify Files są wykorzystywane ponownie.
Jak mapowane są dane
Section titled “Jak mapowane są dane”Produkty
Section titled “Produkty”- Handle: klucz URL produktu, dzięki czemu adresy produktów pozostają rozpoznawalne.
- Status: Enabled → Active; Disabled → Draft.
- Ceny: aktywna cena specjalna staje się ceną w Shopify, a cena regularna - ceną porównawczą. Daty obowiązywania ceny specjalnej są uwzględniane według stanu w chwili migracji.
- Stan magazynowy: ilości trafiają do głównej lokalizacji. Produkty z dozwolonymi zamówieniami oczekującymi (backorders) są nadal sprzedawane po wyczerpaniu zapasów.
- Opcje: atrybuty produktu konfigurowalnego stają się opcjami w tej samej kolejności, a wartości - w kolejności opcji atrybutu. Shopify obsługuje do 3 opcji i 2048 wariantów na produkt; produkty z większą liczbą opcji są pomijane z ostrzeżeniem. Wyłączone produkty podrzędne nie są migrowane.
- Podatek: produkty z klasą podatkową None nie podlegają opodatkowaniu.
- Krótki opis jest zapisywany w metapolu
magento.short_description.
Zamówienia
Section titled “Zamówienia”| Stan w Magento | Status płatności w Shopify | Realizacja |
|---|---|---|
| Pending (new), On hold | Pending (lub Paid, jeśli wystawiono fakturę) | Unfulfilled |
| Processing | Paid (lub Partially paid) | Unfulfilled albo Fulfilled, gdy wszystko zostało wysłane |
| Complete | Paid | Fulfilled |
| Closed | Refunded (lub Partially refunded) | - |
| Canceled | Voided | - |
Status płatności jest wyliczany na podstawie kwot, które Magento zarejestrowało jako zapłacone i zwrócone. Zamówienia ze stanem Pending payment lub Payment review nie są migrowane. Każde przeniesione zamówienie otrzymuje tag magento i tag magento-<status> (na przykład magento-complete) oraz zachowuje swój numer z Magento (#000000145).
Reguły cenowe koszyka
Section titled “Reguły cenowe koszyka”| Magento | Shopify |
|---|---|
| Reguła z konkretnym kuponem (Specific Coupon) | Kod rabatowy |
| Reguła bez kuponu | Rabat automatyczny |
| Percent of product price discount | Rabat procentowy |
| Fixed amount discount | Stała kwota rabatu na każdą kwalifikującą się pozycję |
| Fixed amount discount for whole cart | Stała kwota rabatu na zamówienie |
| Darmowa wysyłka (kwota rabatu 0) | Rabat na darmową wysyłkę |
| Warunek Subtotal equals or greater than | Minimalna kwota zakupu |
| Warunek Total items quantity | Minimalna liczba produktów |
| Warunek Shipping country (darmowa wysyłka) | Wysyłka do wybranych krajów |
| Warunek akcji SKU lub Category | Wybrane produkty lub kolekcje |
| Uses per coupon / Uses per customer = 1 | Limit użycia / Jedno użycie na klienta |
| Discard subsequent rules | Nie łączy się z innymi rabatami |
DataEase nigdy nie tworzy rabatu szerszego niż w Magento. Reguły ograniczone do wybranych grup klientów, reguły z warunkami, których Shopify nie potrafi odwzorować (metoda płatności, atrybuty koszyka, warunki złożone), oraz reguły Buy X get Y są pomijane z ostrzeżeniem - utwórz je ręcznie. Nieaktywne reguły i automatycznie generowane kody kuponów nie są migrowane.
Rozwiązywanie problemów
Section titled “Rozwiązywanie problemów”| Komunikat | Co zrobić |
|---|---|
| Magento rejected the integration keys | Sprawdź wszystkie cztery klucze i upewnij się, że integracja jest aktywna. Jeśli autoryzowano ją ponownie, skopiuj nowy access token i secret. |
| The consumer isn’t authorized to access … | Edytuj integrację, ustaw Resource Access na All (lub dodaj zasób z komunikatu) i zapisz. |
| Magento REST API endpoint … was not found | Sprawdź adres sklepu - użyj adresu witryny sklepu, a nie adresu panelu administracyjnego. |
| returned a non-JSON response | Zapora, tryb konserwacji lub cache blokuje REST API. Zezwól na żądania /rest/ na czas migracji. |
| must be reachable from the internet | Użyj publicznego adresu sklepu, a nie localhost ani wewnętrznego IP. |
| Image … was not copied | Adres URL obrazu był niedostępny. Strona zachowuje stary link - prześlij obraz ręcznie w Content → Files. |
Czy klienci dostają emaile? Nie. Klienci i zamówienia są tworzeni bez powiadomień i zaproszeń.
Czy mój sklep Magento się zmienia? Nie. DataEase tylko z niego odczytuje dane.
Czy klucze integracji są przechowywane? Tylko w trakcie migracji, w postaci zaszyfrowanej. Są usuwane, gdy migracja się zakończy, nie powiedzie lub zostanie anulowana.
Mam kilka witryn (websites) lub widoków sklepu. Który z nich jest migrowany? Domyślny widok sklepu domyślnej witryny: jego nazwy, opisy, ceny i adresy URL.
Przenosisz się z WordPress albo między dwoma sklepami Shopify? Zobacz Migracja z WordPress / WooCommerce oraz Transfery sklepów.