Przeniesienie asortymentu między platformami e-commerce to jeden z najbardziej krytycznych etapów zmiany systemu sprzedażowego. W przypadku migracji z WooCommerce do Shopify największym wyzwaniem jest zachowanie integralności bazy danych, szczególnie gdy sklep posiada rozbudowaną strukturę wariantów oraz tysiące plików graficznych. Błędy na tym etapie mogą skutkować rozsypaniem się powiązań między produktami a ich opcjami lub utratą widoczności zdjęć na nowej platformie. Zrozumienie różnic w architekturze danych obu systemów oraz poprawne mapowanie pól w plikach importu pozwala na płynne przejście bez konieczności ręcznego poprawiania setek indeksów SKU.
Dlaczego migracja produktów z WooCommerce bywa wyzwaniem?
Główna trudność wynika z fundamentalnych różnic w architekturze obu platform. WooCommerce, będący wtyczką do systemu WordPress, opiera się na relacyjnej bazie danych MySQL. Informacje o produktach, ich atrybutach i metadanych są często rozproszone w wielu tabelach, takich jak wpposts (gdzie przechowywane są główne dane produktu) oraz wppostmeta (zawierająca ceny, stany magazynowe i atrybuty). Shopify to platforma typu SaaS z ustrukturyzowanym, obiektowym modelem danych, gdzie produkt jest traktowany jako kompletny obiekt z przypisanymi do niego wariantami.
W WooCommerce warianty są technicznie osobnymi wpisami typu 'product_variation' powiązanymi z produktem nadrzędnym (parent). W Shopify stanowią one integralną część obiektu produktu. Ryzyko pojawienia się tzw. osieroconych wariantów – czyli opcji, które tracą powiązanie z produktem głównym – jest wysokie, jeśli podczas eksportu nie zostanie zachowany unikalny klucz łączący. Prawidłowo zaplanowana migracja z WooCommerce do Shopify pozwala uniknąć najczęstszych błędów technicznych związanych z przenoszeniem bazy danych, takich jak utrata stanów magazynowych dla konkretnych kombinacji cech czy błędy w ścieżkach URL do grafik. W Shopify pliki te muszą zostać zaindeksowane w wewnętrznym systemie CDN (Content Delivery Network), co wymaga stabilnego połączenia z serwerem źródłowym podczas procesu importu. Dodatkowo, różnice w obsłudze taksonomii sprawiają, że kategorie i tagi z WordPressa muszą zostać precyzyjnie zmapowane na kolekcje Shopify, aby zachować strukturę nawigacyjną sklepu.
Przygotowanie bazy WooCommerce do eksportu
Zanim zostanie wygenerowany plik eksportu, niezbędne jest uporządkowanie obecnej bazy danych. Błędy w nazewnictwie atrybutów lub brakujące kody SKU w WooCommerce zostaną powielone w Shopify, utrudniając późniejszą konfigurację sklepu. Proces ten wymaga usunięcia zbędnych danych, takich jak stare szkice produktów, nieużywane tagi czy duplikaty, które mogłyby zakłócić strukturę nowej bazy. Warto również przeprowadzić optymalizację tabel bazy danych, co przyspieszy proces generowania dużych plików CSV i zminimalizuje ryzyko przekroczenia limitów czasu wykonywania skryptów na serwerze (timeout). Ważnym krokiem jest także ujednolicenie jednostek miar i wag – Shopify preferuje system dziesiętny, a wszelkie niestandardowe formaty zapisu w WooCommerce mogą prowadzić do błędów w obliczeniach logistycznych po migracji.
Czyszczenie danych i unikalność identyfikatorów
- Usunięcie nieużywanych atrybutów i starych szkiców produktów, które nie będą przenoszone.
- Weryfikacja kodów SKU – każdy produkt i wariant musi posiadać unikalny identyfikator, który Shopify wykorzystuje do synchronizacji stanów magazynowych i późniejszej integracji z systemami ERP.
- Sprawdzenie pola 'Handle' (slug) – musi być ono identyczne dla produktu nadrzędnego i wszystkich jego wariantów w pliku CSV, aby system poprawnie je zgrupował.
- Usunięcie zbędnych metadanych generowanych przez wtyczki WooCommerce, które nie mają swoich odpowiedników w standardowych polach Shopify.
- Zapisanie pliku w formacie UTF-8, co zapobiega błędom w wyświetlaniu polskich znaków diakrytycznych w nazwach i opisach.
- Konsolidacja duplikujących się atrybutów, np. połączenie 'Kolor' i 'kolor' w jedną spójną cechę.
- Usunięcie zbędnych rewizji wpisów z tabeli wp_posts, co znacząco odciąża proces eksportu bazy danych.
Metoda 1: Oficjalny importer Shopify i pliki CSV
Standardowy importer Shopify obsługuje pliki CSV o ściśle określonej strukturze. Kluczowe jest zrozumienie, że produkt z wariantami zajmuje w pliku wiele wierszy. Pierwszy wiersz zawiera ogólne informacje o produkcie (tytuł, opis, tagi, typ produktu), a kolejne wiersze opisują poszczególne warianty (rozmiar, kolor, cena, SKU, waga), zachowując ten sam 'Handle'. Jeśli produkt ma 5 wariantów, w pliku CSV musi znaleźć się 5 wierszy z tym samym uchwytem (handle), przy czym dane ogólne produktu wypełnia się zazwyczaj tylko w pierwszym z nich. Należy pamiętać, że Shopify wymaga konkretnych nagłówków kolumn, takich jak 'Variant Inventory Qty' dla stanów magazynowych czy 'Variant Price' dla cen sprzedaży.
Mapowanie pól CSV krok po kroku
Podczas importu przypisuje się kolumny z WooCommerce do pól Shopify. Pole 'Body (HTML)' odpowiada za opis produktu – system akceptuje standardowe znaczniki HTML, więc formatowanie takie jak listy punktowane czy pogrubienia powinno zostać zachowane. Kolumna 'Image Src' musi zawierać bezpośredni, publiczny link do zdjęcia na serwerze WordPress (np. https://twojsklep.pl/wp-content/uploads/zdjecie.jpg). Ważne jest również pole 'Variant Grams' – Shopify wymaga podania wagi w gramach dla automatycznych wyliczeń kosztów wysyłki. Jeśli w WooCommerce waga była podana w kilogramach, należy ją przeliczyć przed importem. Pełna migracja z WooCommerce do Shopify krok po kroku obejmuje także weryfikację spójności tych danych przed finalnym zatwierdzeniem importu, co pozwala uniknąć błędów w logistyce. Warto zwrócić uwagę na pole 'Variant Inventory Policy' – ustawienie go na 'deny' zablokuje sprzedaż po wyczerpaniu zapasów, co jest standardowym zachowaniem w większości sklepów.
Metoda 2: Zaawansowana migracja z aplikacją Matrixify
Dla sklepów posiadających powyżej kilku tysięcy produktów lub skomplikowane pola własne, standardowy importer CSV może okazać się niewystarczający. Rozwiązaniem jest Matrixify – zaawansowane narzędzie obsługujące formaty Excel (.xlsx), co eliminuje typowe problemy z separatorami (przecinek vs średnik) i kodowaniem znaków. Matrixify pozwala na migrację danych, których standardowy mechanizm nie obsługuje bezpośrednio, takich jak Metafields (pola dodatkowe), historia zamówień czy pełne dane klientów wraz z ich adresami.
Narzędzie to umożliwia również masową aktualizację danych już po imporcie, co jest przydatne przy dużych wolumenach asortymentu. Dzięki Matrixify można wyeksportować dane z WooCommerce za pomocą dedykowanej wtyczki lub bezpośrednio z bazy, a następnie zaimportować je do Shopify, korzystając z gotowych szablonów mapowania. Pozwala to na przeniesienie nie tylko produktów, ale również powiązanych z nimi kolekcji, opinii klientów oraz przekierowań 301, co jest kluczowe dla zachowania pozycji w wynikach wyszukiwania Google. Matrixify radzi sobie również z automatycznym mapowaniem zdjęć przypisanych do konkretnych wariantów, co w standardowym importerze CSV często wymaga ręcznej korekty linków w odpowiednich wierszach.
Jak zachować strukturę wariantów i atrybutów?
W WooCommerce liczba wariantów i opcji jest niemal nieograniczona, co bywa wykorzystywane w branżach takich jak odzieżowa czy meblowa. Shopify narzuca jednak pewne restrykcje techniczne, które należy uwzględnić na etapie planowania migracji. Standardowy limit to 100 wariantów na jeden produkt oraz maksymalnie 3 opcje (np. Kolor, Rozmiar, Materiał). Choć Shopify sukcesywnie wdraża aktualizacje zwiększające te limity (w nowej infrastrukturze dla wybranych sklepów limit ten wzrasta do 2000 wariantów), większość sklepów nadal operuje w ramach podstawowych ograniczeń. Przekroczenie tych limitów podczas importu spowoduje odrzucenie produktu lub zaimportowanie tylko części jego wariantów.
Co zrobić, gdy produkt przekracza 100 wariantów?
- Podział produktu: Rozbicie jednego produktu na kilka mniejszych (np. według koloru), co ułatwia nawigację w kolekcjach i pozwala na lepszą prezentację zdjęć dla każdej wersji kolorystycznej.
- Wykorzystanie tagów: Przeniesienie niektórych cech produktu (np. sezon, styl) do tagów zamiast tworzenia z nich wariantów, co odciąża strukturę produktu.
- Aplikacje typu Product Options: Rozwiązania takie jak Bold Product Options pozwalają na dodawanie nielimitowanych opcji personalizacji (np. grawer, wybór tkaniny), które nie wliczają się do technicznego limitu 100 wariantów.
- Wykorzystanie Metafields do przechowywania specyficznych cech technicznych (np. parametry techniczne, certyfikaty), które nie wymagają osobnego zarządzania stanem magazynowym dla każdej kombinacji.
- Grupowanie produktów w kolekcje: Zamiast tworzyć jeden produkt z 150 wariantami, można stworzyć kolekcję zawierającą 3 produkty po 50 wariantów, łącząc je wizualnie na stronie sklepu za pomocą swatches (próbek kolorów).
Przenoszenie zdjęć - jak uniknąć niedziałających linków?
Najczęstszym błędem podczas migracji jest wyłączenie starego sklepu WooCommerce zaraz po wygenerowaniu pliku CSV. Shopify nie pobiera plików graficznych fizycznie z dysku lokalnego użytkownika podczas importu CSV – system otrzymuje listę adresów URL i samodzielnie wysyła żądania pobrania zdjęć ze starego serwera, aby umieścić je w swoim CDN. Jeśli serwer źródłowy będzie nieaktywny, zabezpieczony hasłem lub zablokuje dostęp botom, produkty zostaną zaimportowane bez grafik, co wymusi ich ręczne uzupełnianie. Proces ten może trwać od kilku minut do kilku godzin, zależnie od liczby zdjęć i wydajności serwera źródłowego.
Aby proces przebiegł pomyślnie, serwer WordPress musi być publicznie dostępny przez cały czas trwania importu. Należy tymczasowo wyłączyć wtyczki typu 'Hotlink Protection' oraz systemy bezpieczeństwa (np. Wordfence, Cloudflare), które mogą interpretować masowe żądania pobierania plików przez serwery Shopify jako atak typu scraping. Po zakończeniu importu Shopify automatycznie wygeneruje nowe ścieżki URL dla zdjęć, optymalizując je pod kątem szybkości ładowania i formatu WebP. Warto również zadbać o przeniesienie tekstów alternatywnych (Alt), które w WooCommerce są zapisane w bibliotece mediów, a w Shopify muszą zostać przypisane bezpośrednio do obiektu zdjęcia w pliku importu (kolumna Image Alt Text). Jeśli zdjęcia w WooCommerce są zorganizowane w podfolderach rok/miesiąc, należy upewnić się, że ścieżki w CSV dokładnie odzwierciedlają tę strukturę.
Testowanie i weryfikacja bazy po migracji - lista kontrolna
Po zakończeniu importu status produktów w panelu Shopify zmieni się na 'Active' lub 'Draft'. To moment na dokładną weryfikację merytoryczną i techniczną. Prawidłowe dodawanie produktów i kolekcji w Shopify po imporcie wymaga weryfikacji stanów magazynowych oraz sprawdzenia, czy automatyczne kolekcje (Automated Collections) poprawnie zaciągnęły produkty na podstawie tagów lub typów produktów zdefiniowanych w pliku CSV. Należy również sprawdzić, czy ceny promocyjne (Compare at price) zostały poprawnie zaimportowane i czy nie doszło do błędów w zaokrągleniach walutowych.
Checklista po imporcie
- Wyrywkowa kontrola wariantów: Weryfikacja, czy każdy rozmiar i kolor ma przypisaną poprawną cenę, SKU oraz wagę.
- Weryfikacja zdjęć: Sprawdzenie, czy wszystkie grafiki wyświetlają się poprawnie na karcie produktu i czy są przypisane do odpowiednich wariantów (np. czy po kliknięciu koloru 'Czerwony' zmienia się zdjęcie główne).
- Sprawdzenie opisów: Kontrola, czy znaczniki HTML nie wpłynęły negatywnie na layout strony produktu i czy wszystkie linki wewnętrzne w opisach działają.
- Test filtrów i nawigacji: Weryfikacja, czy po wybraniu cech na stronie kolekcji wyświetlają się właściwe produkty i czy paginacja działa poprawnie.
- Masowa edycja: Użycie narzędzia 'Bulk Editor' w Shopify do szybkiej korekty danych, takich jak status dostępności czy przypisanie do kanałów sprzedaży, bez konieczności ponownego importu całego pliku.
- Weryfikacja SEO: Sprawdzenie, czy Meta Titles i Meta Descriptions zostały poprawnie przeniesione i czy nie przekraczają limitów znaków Shopify.
FAQ
Czy Shopify automatycznie pobierze zdjęcia z mojego starego sklepu WooCommerce?
Tak, pod warunkiem, że w pliku CSV podasz bezpośrednie adresy URL do zdjęć, a serwer WooCommerce pozostanie aktywny i publicznie dostępny podczas całego procesu importu.
Co zrobić, jeśli mój produkt w WooCommerce ma więcej niż 100 wariantów?
Standardowy limit Shopify to 100 wariantów na produkt. W takim przypadku należy podzielić produkt na kilka osobnych pozycji lub skorzystać z zewnętrznych aplikacji do zarządzania opcjami produktów.
Jak uniknąć duplikowania produktów podczas ponownego importu CSV?
Shopify identyfikuje produkty po polu 'Handle'. Jeśli zaimportujesz plik z istniejącymi już uchwytami (handles) i zaznaczysz opcję nadpisywania, system zaktualizuje dane zamiast tworzyć nowe wpisy.
Czy opisy produktów z WooCommerce zachowają formatowanie w Shopify?
Tak, jeśli opisy w pliku CSV są zapisane w formacie HTML. Shopify interpretuje znaczniki takie jak pogrubienia, listy czy nagłówki w polu 'Body (HTML)'.
Jak przenieść kategorie produktów z WooCommerce?
Kategorie WooCommerce najlepiej zmapować na pole 'Type' lub 'Tags' w Shopify. Na ich podstawie można później automatycznie wygenerować kolekcje (Collections) w panelu administracyjnym Shopify.
Czy podczas importu produktów muszę wyłączyć sklep dla klientów?
Nie jest to konieczne, ponieważ import odbywa się w tle. Zaleca się jednak wykonanie importu na kopii zapasowej lub w środowisku testowym przed finalną publikacją zmian w aktywnym sklepie.
Bibliografia
- https://matrixify.app/tutorials/migrate-store-from-wordpress-woocommerce-to-shopify/ - Official migration tools and community guides recommend temporarily disabling Hotlink Protection and security rules in Cloudflare or Wordfence (or whitelisting migration tool IPs) during import, as Shopify's bulk image downloads can be blocked as scraping or DDoS.