PS PrestaShop Średnio zaawansowany

Migracja z WooCommerce do PrestaShop: kompletny przewodnik

Instalacja, połączenie i przeprowadzenie pełnej migracji WooCommerce → PrestaShop: 7 etapów, mapowanie, tryb próbny i rozwiązywanie problemów.

Zaktualizowano Wersja modułu 1.1.0

Wprowadzenie

Migracja WooCommerce (dfmigratewoocommerce) przenosi kompletny sklep WooCommerce do PrestaShop 8 lub 9: kategorie, tagi, atrybuty globalne, produkty proste i wariantowe (wariacje zamieniane na kombinacje), zdjęcia, własne metadane, klientów z adresami oraz zamówienia. Moduł łączy się bezpośrednio z bazą MySQL WordPressa, pracuje partiami przez AJAX bez ryzyka przekroczenia limitu czasu i przechowuje w bazie mapowanie Woo do PS, dzięki czemu każdy etap można uruchomić ponownie bez tworzenia duplikatów.

Źródłowa baza WooCommerce jest wyłącznie odczytywana, nigdy modyfikowana. Wszystkie zapisy odbywają się po stronie PrestaShop.

Instalacja

  1. W panelu administracyjnym PrestaShop otwórz Moduły > Menedżer modułów > Wgraj moduł i wskaż archiwum dfmigratewoocommerce.zip.
  2. Moduł tworzy trzy tabele techniczne: df_woomig_mapping (odpowiedniki Woo i PS), df_woomig_log (dziennik) oraz df_woomig_progress (postęp etapów).
  3. Kliknij Konfiguruj, aby otworzyć interfejs migracji.

Połączenie z WooCommerce

W zakładce Połączenie uzupełnij:

  • Host i port: serwer MySQL bazy WordPressa (domyślnie port 3306),
  • Baza, użytkownik, hasło: dane dostępowe do bazy WordPressa,
  • Prefiks tabel: zwykle wp_, sprawdź w pliku wp-config.php (zmienna $table_prefix),
  • Adres URL witryny: publiczny adres sklepu WooCommerce, używany do pobierania zdjęć w trybie HTTP, albo ścieżka w systemie plików w trybie lokalnym.

Kliknij Testuj połączenie: moduł wyświetli liczbę produktów, kategorii, tagów, atrybutów globalnych, klientów i zamówień wykrytych w źródle.

Jeśli Twój hosting blokuje zdalne połączenia MySQL, zaimportuj zrzut bazy WordPressa do osobnego schematu na serwerze PrestaShop (na przykład wp_source) i podłącz moduł do tego schematu przez localhost. Tunel SSH również się sprawdzi.

Ustawienia

  • Język domyślny: język PrestaShop, w którym zapisywane będą jednojęzyczne treści z Woo,
  • Domyślna grupa podatkowa: stosowana do wszystkich przeniesionych produktów, ceny z Woo są kopiowane bez zmian do ceny netto w PrestaShop,
  • Atrybuty jako cechy: włącza podwójne mapowanie (każdy atrybut globalny staje się także cechą widoczną przy produktach prostych) oraz przeniesienie własnych pól postmeta do cech meta:*,
  • Rozmiar partii: liczba obiektów przetwarzanych w jednym żądaniu AJAX (domyślnie 25, zmniejsz na wolnym hostingu współdzielonym),
  • Tryb zdjęć: http (pobieranie z adresu witryny) albo local (adres witryny traktowany jest jako ścieżka w systemie plików zawierająca wp-content/uploads),
  • Tryb próbny: symulacja, wszystko trafia do dziennika, nic nie jest zapisywane,
  • Domyślny przewoźnik: przypisywany przeniesionym zamówieniom.

Uruchomienie migracji

W zakładce Migracja wykonuj etapy po kolei, ponieważ każdy opiera się na mapowaniu utworzonym przez poprzednie:

  1. Atrybuty: każdy globalny atrybut Woo (pa_*) staje się grupą atrybutów PS (grupy kolorów są wykrywane), a przy włączonej opcji także cechą. Wszystkie wartości są tworzone po obu stronach.
  2. Kategorie: odtwarzane jest całe drzewo, brakujące kategorie nadrzędne są rozwiązywane rekurencyjnie, a osierocone podpinane do korzenia z ostrzeżeniem.
  3. Tagi: deduplikowane po nazwie.
  4. Produkty: produkty proste i wariantowe, czyli ceny, ceny przekreślone (SpecificPrice), SKU, waga, wymiary, stan magazynowy, status, produkt wirtualny, powiązania z kategoriami i tagami, cechy oraz własne metadane. Wariacje stają się kombinacjami z własnym wpływem na cenę, stanem magazynowym i referencją. Zdjęcia produktu są przenoszone od razu.
  5. Zdjęcia: etap nadrabiający zaległości, przechodzi po już przeniesionych produktach i importuje brakujące zdjęcia (główne oraz galerię), regenerując wszystkie miniatury.
  6. Klienci: konta wraz z adresami rozliczeniowymi i dostawy. Hasła są generowane od nowa w bcrypt, więc przy pierwszym logowaniu klienci korzystają z opcji odzyskiwania hasła. Adresy e-mail istniejące już w PrestaShop są ponownie wykorzystywane, nigdy duplikowane.
  7. Zamówienia: automatyczne wykrycie trybu HPOS (WooCommerce 8 i nowsze, tabele wc_orders) albo starszego (wp_posts). Pozycje, sumy, waluta i statusy są mapowane na stany PrestaShop. Żaden e-mail nie jest wysyłany.

Każdy etap pokazuje pasek postępu na żywo i można go przerwać, a następnie wznowić: praca podejmowana jest dokładnie w miejscu zatrzymania.

Wykonaj najpierw pełne przejście w trybie próbnym, aby zweryfikować zakres w dzienniku, a dopiero potem wyłącz tryb próbny i uruchom migrację ponownie.

Mapowanie i ponowne uruchomienia

Zakładka Mapowanie pokazuje liczbę odpowiedników w podziale na typy obiektów. Każdy obiekt obecny w mapowaniu jest pomijany przy ponownym uruchomieniu, więc możesz powtórzyć cały etap bez tworzenia duplikatów. Przycisk resetu czyści mapowanie wybranego typu albo całość, a obiekty utworzone już po stronie PrestaShop pozostają nietknięte.

Dziennik

Zakładka Dziennik wypisuje zdarzenia według etapu i poziomu (informacja, sukces, ostrzeżenie, błąd): utworzone produkty, wariacje pominięte z braku atrybutu globalnego, nieznalezione zdjęcia, zamówienia bez klienta i tak dalej. Czyszczenie jednym kliknięciem.

Po migracji

  • Uruchom ponowne indeksowanie wyszukiwarki: Ustawienia sklepu > Wyszukiwanie > Indeksuj wszystkie produkty,
  • Sprawdź próbkę cen, jeśli Twój sklep Woo przechowywał ceny brutto (PrestaShop oczekuje cen netto),
  • Zweryfikuj grupę podatkową, przewoźników i metody płatności,
  • Usuń konfigurację połączenia albo odinstaluj moduł, ponieważ dane dostępowe MySQL są zapisane w konfiguracji PrestaShop.

Znane ograniczenia

  • Atrybuty lokalne (zdefiniowane na pojedynczym produkcie, bez prefiksu pa_*) użyte w wariacjach nie mogą stać się kombinacjami, ponieważ PrestaShop wymaga atrybutów globalnych. Takie wariacje są pomijane i odnotowywane w dzienniku. W razie potrzeby zamień je po stronie Woo na atrybuty globalne przed migracją.
  • Zamówienia są przenoszone jako historia: podatki nie są przeliczane, sumy z Woo kopiowane są bez zmian.
  • Kupony, opinie o produktach i subskrypcje nie są przenoszone w tej wersji.

Rozwiązywanie problemów

„Błąd połączenia” przy teście

Sprawdź, czy użytkownik MySQL ma prawo łączyć się z adresu IP serwera PrestaShop (GRANT ... ON baza.* TO 'user'@'ip') i czy port 3306 jest otwarty. W przeciwnym razie skorzystaj z lokalnego zrzutu bazy albo tunelu SSH.

Brak zdjęć w trybie HTTP

Witryna WooCommerce musi być dostępna po HTTP lub HTTPS z serwera PrestaShop. Jeśli źródłowa witryna jest już wyłączona, użyj trybu local: skopiuj katalog wp-content/uploads na serwer PrestaShop i podaj jego ścieżkę w polu adresu witryny.

Brak wariacji przy produkcie

Zajrzyj do dziennika: jeśli wariacje korzystały z atrybutów lokalnych zamiast globalnych, są pomijane zgodnie z założeniem. Produkt nadrzędny zostaje przeniesiony wraz z danymi podstawowymi.

Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia