Quando un’azienda opera in più Paesi, la struttura dei dati diventa particolarmente importante.
Per Maciej Gruszka, CEO e proprietario di Behemoth Webstore, questo non era il primo progetto di migrazione con Next-Cart. Negli anni aveva già affidato al team la migrazione dei suoi negozi internazionali verso BigCommerce e PrestaShop.
Ma con l’evoluzione dell’azienda sono cambiate anche le sue aspettative.
Questa volta Maciej voleva consolidare l’ecosistema e migliorare l’infrastruttura nel lungo periodo. La piattaforma di destinazione era WooCommerce, integrata con WordPress. Questa combinazione offre la flessibilità necessaria per supportare sia attività di commercio avanzate sia la gestione dei contenuti, esattamente ciò che Maciej cercava.
Maciej, però, aveva bisogno di più di un semplice trasferimento di dati. L’obiettivo era unire quattro negozi Shopify indipendenti, ciascuno dedicato a un mercato valutario diverso, in un unico ecosistema WooCommerce senza compromettere le relazioni tra prodotti, la cronologia dei clienti o l’integrità degli ordini.
È stato uno dei progetti di migrazione tecnicamente più articolati gestiti da Next-Cart in quel periodo.
La sfida del progetto: consolidare quattro negozi Shopify in un unico ambiente WooCommerce
Maciej gestiva quattro negozi Shopify: un negozio principale e altri tre dedicati ai mercati in USD, EUR e GBP.
La prima fase della migrazione si è concentrata sul negozio Shopify principale. Comprendeva 125 categorie, 388 prodotti, 5.898 clienti e 11.537 ordini.
La vera complessità è emersa nella fase successiva, quando Maciej ha posto una domanda: se i tre negozi Shopify rimanenti condividono la stessa base di prodotti, con gli stessi SKU e barcode, gli ordini importati riconosceranno i prodotti già migrati e si collegheranno correttamente in WooCommerce?
Non si trattava di una migrazione standard. Era un progetto di consolidamento a fasi con più negozi sorgente. Ogni negozio Shopify aveva una propria base clienti e una propria cronologia ordini, mentre i prodotti erano identici. La sfida era evitare duplicati mantenendo al tempo stesso relazioni dati coerenti.
In concreto, il cliente aveva bisogno di:
-
Associare gli ordini ai prodotti esistenti tramite SKU
-
Unire i clienti tramite email quando erano già presenti
-
Conservare e collegare correttamente tutti i dati storici
-
Evitare prodotti duplicati
-
Evitare la frammentazione dei profili cliente
In questo caso, la logica di migrazione doveva essere personalizzata con attenzione per riconoscere e collegare i dati tra più negozi.
Primo ostacolo: clienti importati ma non visibili
Dopo la prima migrazione, Maciej ha notato che i clienti erano stati importati correttamente in WordPress sotto “Users”, ma non comparivano in “WooCommerce Customers”.
A prima vista sembrava un problema di migrazione. Tuttavia, dopo un’analisi più approfondita, il team Next-Cart ha scoperto che la causa reale era un plugin multivaluta installato su WooCommerce, che modificava il comportamento predefinito di visualizzazione dei clienti.
Il plugin era configurato per mostrare solo i clienti con almeno un ordine in PLN, mentre lingua e valuta del negozio erano impostate su polacco e PLN.
In questa situazione i dati erano presenti a livello tecnico, ma non venivano visualizzati a causa delle regole di filtro.
Next-Cart ha quindi adattato la configurazione della migrazione per rispettare queste condizioni:
-
Gli ordini hanno ricevuto la valuta corretta
-
Il mapping delle lingue è stato allineato alla logica del plugin
-
Le future importazioni dai negozi in USD, EUR e GBP potevano funzionare correttamente una volta definite le valute
Il problema riguardava la logica dell’ambiente, non i dati. Risolverlo richiedeva di comprendere il comportamento di WooCommerce a livello di sistema.
Mapping dei dati prodotto: tradurre la logica Shopify in WooCommerce
Le successive richieste di Maciej sul mapping preciso dei campi andavano oltre una semplice migrazione delle entità. Diversi custom fields di Shopify dovevano essere trasferiti negli attributi WooCommerce:
-
Country/Region of Origin → Attributo prodotto
-
HS Code → Attributo prodotto
-
Barcode → Campo EAN di WooCommerce
-
Brand → Attributo
-
GTIN → Attributo
Allo stesso tempo, Maciej non voleva importare alcuni campi, tra cui Reviews, Size, Table Size, UPC e MPN. Questa esclusione selettiva aiutava a evitare informazioni non necessarie nel nuovo ambiente WooCommerce.
Lo strumento di migrazione doveva quindi essere personalizzato non solo per mappare i custom fields negli attributi WooCommerce corretti, ma anche per escludere determinati elementi.
La personalizzazione a livello di campo viene spesso sottovalutata nei progetti di migrazione standard. In un consolidamento multi-store come questo, però, la coerenza degli attributi diventa fondamentale, soprattutto quando filtri futuri, regole fiscali e requisiti di spedizione dipendono da metadati precisi come HS Code o Country of Origin.
Gli sviluppatori Next-Cart hanno modificato di conseguenza la logica di migrazione, mantenendo i dati prodotto puliti e standardizzati in WooCommerce.
La sfida principale: collegare gli ordini ai prodotti WooCommerce esistenti tramite SKU
La parte più delicata del progetto era garantire il corretto collegamento tra ordini e prodotti in tutti e quattro i negozi.
I tre negozi in USD, EUR e GBP contenevano prodotti identici. Senza una gestione specifica, importarli in un unico negozio WooCommerce avrebbe creato duplicati. Inoltre, le righe degli ordini avrebbero potuto non collegarsi ai prodotti corretti.
Per evitarlo, lo strumento di migrazione è stato personalizzato con una logica rigorosa di matching basata sullo SKU. Il sistema identificava i prodotti già presenti in WooCommerce usando lo SKU come chiave univoca e collegava a questi prodotti gli ordini provenienti da tutti i negozi.
Anche i clienti venivano gestiti con una logica simile. Se un ordine faceva riferimento a un indirizzo email già presente in WooCommerce, il sistema univa i record anziché creare un account duplicato. In questo modo, la cronologia degli acquisti rimaneva continua anche quando un cliente aveva acquistato in valute diverse.
In questo progetto la migrazione ha agito come un vero motore di consolidamento, trasformando un database frammentato in una struttura coerente.
Correzione dei barcode a livello di variante
In Shopify, ogni variante di prodotto aveva un barcode univoco. Dopo la migrazione, però, le varianti WooCommerce mostravano lo stesso valore EAN.
Per le aziende che utilizzano i barcode nei processi di fulfillment o nelle integrazioni con marketplace, questo problema poteva causare errori operativi.
Il team ha personalizzato nuovamente la logica di migrazione per risolverlo. Il barcode di ogni variante Shopify è stato mappato con precisione sull’EAN della variante WooCommerce corrispondente, consentendo ai sistemi di inventario, ai processi di scansione e alle integrazioni esterne di funzionare correttamente dopo il consolidamento.
Newsletter e Mailchimp: comprendere i confini tra i sistemi
Maciej voleva trasferire anche i dati relativi alle iscrizioni alla newsletter.
Se un cliente Shopify era iscritto alle email, quello stato doveva risultare contrassegnato anche in WooCommerce.
Dopo l’analisi, lo sviluppatore ha scoperto che il plugin di integrazione con Mailchimp memorizzava lo stato dell’iscrizione nel sistema Mailchimp e non nel database WooCommerce.
La migrazione ha popolato correttamente i meta field di iscrizione in WordPress. Il plugin, però, sincronizzava solo quando gli utenti venivano aggiornati manualmente, quindi le checkbox di WooCommerce non venivano selezionate automaticamente.
Si trattava di un limite dell’architettura API.
Lo strumento di migrazione non può forzare lo stato di iscrizione in un sistema esterno senza attivare il meccanismo di sincronizzazione di quel sistema. Next-Cart ha comunicato chiaramente questa limitazione al cliente.
Instabilità dell’hosting: un ulteriore livello di complessità imprevisto
Un altro aspetto impegnativo del progetto è stato il passaggio tra diversi provider di hosting.
Durante la migrazione, Maciej ha cambiato più volte provider, passando tra Hostinger, Kinsta, SiteGround e Cloudways. Ogni cambio richiedeva di riconnettere il migration bridge, riconfigurare le credenziali FTP, autorizzare gli indirizzi IP, verificare i permessi del database e svuotare le cache del server.
In alcuni momenti l’accesso da determinate aree geografiche era limitato. Inoltre, i livelli di cache causavano esecuzioni duplicate quando lo strumento veniva avviato in più tab del browser.
Non si trattava di errori nei dati, ma di variabili dell’ambiente che richiedevano un troubleshooting sistematico.
Il team di migrazione ha continuato ad adattarsi a ogni configurazione di hosting per assicurare la stabilità prima di riprendere le importazioni.
WPML: un cambio di strategia durante la migrazione
Durante il progetto, Maciej ha deciso di rimuovere WPML dall’ambiente WooCommerce.
Se non gestita correttamente durante una migrazione attiva, questa modifica può generare record orfani o una visibilità incoerente dei prodotti. Anche i metadati di traduzione nelle tabelle ausiliarie possono creare conflitti quando il plugin viene disattivato.
Per evitare questi rischi, la configurazione della migrazione è stata riprogettata prima di continuare a importare gli altri negozi.
-
La logica di inserimento dei prodotti è stata semplificata per usare la struttura standard di WooCommerce e bypassare hook non più necessari
-
Il mapping delle tassonomie è stato rivisto per mantenere stabili attributi e categorie
-
Clienti e ordini sono stati verificati per assicurare che non facessero riferimento a metadati specifici della lingua
Questo cambiamento durante il processo richiedeva una sequenza precisa. Il team lo ha gestito come una transizione controllata, non come una semplice disattivazione del plugin.
Alla fine del progetto, il negozio WooCommerce funzionava correttamente senza WPML. I prodotti erano strutturati in una sola lingua e senza complessi livelli di traduzione.
Risultato finale: un ecosistema WooCommerce completamente unificato
Dopo diversi cicli di personalizzazione, il risultato finale è stato un sistema WooCommerce completamente consolidato:
-
Categorie e prodotti sono stati organizzati in modo pulito e coerente
-
Sono stati conservati oltre 11.500 ordini del negozio principale
-
Oltre 10.000 ordini aggiuntivi dei tre negozi valutari sono stati associati tramite SKU
-
I clienti sono stati uniti in modo intelligente
-
I valori EAN delle varianti sono apparsi correttamente in WooCommerce
-
WPML è stato rimosso senza compromettere il funzionamento del negozio
-
Non sono stati creati prodotti duplicati
Quattro negozi Shopify separati, attivi con valute diverse, sono diventati un unico sito WooCommerce centralizzato con dati unificati.
Conclusione: cosa ci insegna questo progetto sulla complessità tecnica di una migrazione
Questo progetto dimostra che una migrazione eCommerce non consiste soltanto nello spostare dati da una piattaforma all’altra. Significa anche tradurre architetture, conciliare comportamenti diversi, personalizzare la logica di mapping e preservare le relazioni storiche.
Per aziende con più negozi che operano in valute diverse, come Behemoth Webstore, servono pianificazione accurata e flessibilità tecnica. Durante il progetto è stato necessario gestire matching per SKU, unione dei clienti, precisione a livello di variante, compatibilità dei plugin e stabilità dell’hosting.
Tutti questi elementi hanno contribuito al risultato finale e Maciej ha poi condiviso la sua esperienza:
“Il team e questo strumento sono fantastici. Hanno migrato tutti i miei dati da Shopify, inclusi clienti, ordini, prodotti e altro, con alcune modifiche personalizzate verso WooCommerce. In precedenza mi avevano aiutato anche con BigCommerce e PrestaShop. Ho l’impressione che per loro non esistano attività impossibili. Il contatto e il supporto sono molto rapidi, anche durante i giorni festivi. Sono fantastici!”
Questo case study mostra quanto siano importanti una personalizzazione strutturata e una comprensione approfondita dei sistemi. Questi elementi hanno trasformato una migrazione a più fasi in un negozio eCommerce unificato e scalabile.
