PS PrestaShop Gemiddeld

Migratie van WooCommerce naar PrestaShop: volledige gids

De volledige migratie van WooCommerce naar PrestaShop installeren, verbinden en uitvoeren: de 7 stappen, de koppelingen, de dry-run en de probleemoplossing.

Bijgewerkt Moduleversie 1.1.0

Overzicht

WooCommerce-migratie (dfmigratewoocommerce) brengt een volledige WooCommerce-winkel naar PrestaShop 8 of 9 over: categorieën, tags, globale attributen, eenvoudige en variabele producten (met varianten die combinaties worden), afbeeldingen, eigen metagegevens, klanten met adressen en bestellingen. De module verbindt rechtstreeks met de MySQL-database van WordPress, werkt in AJAX-batches zonder timeout en houdt in de database een koppeling tussen Woo en PS bij, waardoor elke stap zonder dubbels opnieuw te starten is.

De WooCommerce-brondatabase wordt uitsluitend gelezen en nooit gewijzigd. Alle schrijfacties gebeuren aan PrestaShop-zijde.

Installatie

  1. Open in de PrestaShop-backoffice Modules > Modulebeheer > Een module uploaden en kies de ZIP dfmigratewoocommerce.zip.
  2. De module maakt drie technische tabellen aan: df_woomig_mapping (de koppelingen tussen Woo en PS), df_woomig_log (het logboek) en df_woomig_progress (de voortgang van de stappen).
  3. Klik op Configureren om de migratie-interface te openen.

Verbinding met WooCommerce

Vul in het tabblad Verbinding het volgende in:

  • Host en poort: de MySQL-server van de WordPress-database (standaard poort 3306);
  • Database, gebruiker en wachtwoord: de inloggegevens van de WordPress-database;
  • Tabelvoorvoegsel: doorgaans wp_, te controleren in wp-config.php ($table_prefix);
  • URL van de site: het publieke adres van de WooCommerce-winkel, dat dient om de afbeeldingen te downloaden (HTTP-modus), of een pad op het bestandssysteem in de lokale modus.

Klik op De verbinding testen: de module toont hoeveel producten, categorieën, tags, globale attributen, klanten en bestellingen er in de bron zijn gevonden.

Blokkeert uw host de externe MySQL-verbindingen, importeer dan een dump van de WordPress-database in een eigen schema op de PrestaShop-server (bijvoorbeeld wp_source) en verbind de module met dat schema via localhost. Een SSH-tunnel werkt eveneens.

Parameters

  • Standaardtaal: de PrestaShop-taal waarin de (eentalige) Woo-inhoud wordt weggeschreven;
  • Standaard belastinggroep: geldt voor alle overgezette producten, want de Woo-prijzen worden onveranderd in de PrestaShop-prijs exclusief btw gekopieerd;
  • Attributen als kenmerken: schakelt de dubbele koppeling in (elk globaal attribuut wordt ook een kenmerk, zichtbaar op de eenvoudige producten) en neemt de eigen postmeta over als kenmerken meta:*;
  • Batchgrootte: het aantal entiteiten per AJAX-verzoek (standaard 25; verlaag dat op trage gedeelde hosting);
  • Beeldmodus: http (downloaden vanaf de URL van de site) of local (de URL van de site geldt als een pad op het bestandssysteem met daarin wp-content/uploads);
  • Dry-run: de simulatiemodus, waarbij alles in het logboek komt maar er niets wordt weggeschreven;
  • Standaardvervoerder: wordt aan de overgezette bestellingen toegekend.

De migratie starten

Voer in het tabblad Migratie de stappen in volgorde uit, want elke stap steunt op de koppelingen die de vorige heeft gemaakt:

  1. Attributen: elk globaal Woo-attribuut (pa_*) wordt een attribuutgroep in PS (kleurgroepen worden herkend) en, als de optie aanstaat, ook een kenmerk. Alle waarden worden aan beide kanten aangemaakt.
  2. Categorieën: de volledige structuur wordt heropgebouwd; ontbrekende bovenliggende categorieën worden recursief opgelost, en wezen komen met een waarschuwing onder de wortel te staan.
  3. Tags: ontdubbeld op naam.
  4. Producten: eenvoudige en variabele producten, met prijzen, doorgestreepte prijzen (SpecificPrice), SKU, gewicht, afmetingen, voorraad, status, virtueel product, koppelingen met categorieën en tags, kenmerken en eigen metagegevens. De varianten worden combinaties met een eigen prijsimpact, voorraad en referentie. De afbeeldingen van het product gaan meteen mee.
  5. Afbeeldingen: een inhaalstap die de al overgezette producten doorloopt en de ontbrekende afbeeldingen importeert (hoofdafbeelding en galerij), met een heropbouw van alle miniaturen.
  6. Klanten: accounts met factuur- en leveradressen. De wachtwoorden worden opnieuw in bcrypt aangemaakt: de klanten gebruiken bij hun eerste aanmelding « wachtwoord vergeten ». E-mailadressen die aan PS-zijde al bestaan, worden hergebruikt en nooit gedupliceerd.
  7. Bestellingen: met automatische herkenning van HPOS (WooCommerce 8+, de tabellen wc_orders) of van de legacy-opslag (wp_posts). De regels, totalen, valuta en statussen worden aan de PrestaShop-toestanden gekoppeld. Er vertrekt geen enkele e-mail.

Elke stap toont een voortgangsbalk in real time en kan worden onderbroken en daarna opnieuw gestart: zij hervat precies waar zij stopte.

Doe eerst een volledige ronde in dry-run om de omvang in het logboek te controleren, zet daarna de dry-run uit en start opnieuw.

Koppelingen en nieuwe pogingen

Het tabblad Koppelingen toont per soort entiteit hoeveel koppelingen er zijn. Elke entiteit die in de koppeltabel staat, wordt bij een nieuwe poging overgeslagen: u kunt een hele stap opnieuw draaien zonder dubbels aan te maken. Met de knop om opnieuw in te stellen wist u de koppelingen van één soort (of van alles); de entiteiten die aan PrestaShop-zijde al zijn aangemaakt, blijven staan.

Logboek

Het tabblad Logboek toont de gebeurtenissen per stap en per niveau (info, geslaagd, waarschuwing, fout): aangemaakte producten, overgeslagen varianten bij gebrek aan een globaal attribuut, niet gevonden afbeeldingen, bestellingen zonder klant en meer. Met één klik ruimt u het op.

Na de migratie

  • Bouw de zoekindex opnieuw op via Winkelparameters > Zoeken > Alle producten indexeren;
  • Controleer een steekproef van de prijzen als uw Woo-winkel prijzen inclusief btw bewaarde (PrestaShop verwacht bedragen exclusief btw);
  • Controleer de belastinggroep, de vervoerders en de betaalmethoden;
  • Verwijder de verbindingsinstellingen (of verwijder de module): de MySQL-inloggegevens staan in de configuratie van PrestaShop.

Bekende grenzen

  • Lokale attributen (die op één product zijn bepaald en dus geen pa_* zijn) die in een variant worden gebruikt, kunnen geen combinaties worden, want PrestaShop vraagt globale attributen. Die varianten worden overgeslagen en in het logboek gemeld. Zet ze zo nodig vóór de migratie aan Woo-zijde om naar globale attributen.
  • De bestellingen komen als historiek binnen: de belastingen worden niet herberekend en de Woo-totalen worden onveranderd gekopieerd.
  • Kortingsbonnen, productreviews en abonnementen gaan in deze versie niet mee.

Problemen oplossen

« Verbinding mislukt » bij de test

Controleer of de MySQL-gebruiker vanaf het IP-adres van de PrestaShop-server mag verbinden (GRANT ... ON database.* TO 'user'@'ip') en of poort 3306 open staat. Zo niet, gebruik dan een lokale dump of een SSH-tunnel.

Ontbrekende afbeeldingen in de HTTP-modus

De WooCommerce-site moet vanaf de PrestaShop-server via HTTP of HTTPS bereikbaar zijn. Is de bronsite gesloten, gebruik dan de modus local door wp-content/uploads naar de PrestaShop-server te kopiëren en dat pad als URL van de site in te vullen.

Ontbrekende varianten bij een product

Bekijk het logboek: gebruikten de varianten lokale attributen (dus geen globale), dan worden zij bewust overgeslagen. Het bovenliggende product gaat wel mee, met zijn basisgegevens.

Was deze pagina nuttig?

Loopt u nog vast? Neem contact op met support