Lorsqu’une entreprise opère dans plusieurs pays, la structure de ses données devient particulièrement importante.
Pour Maciej Gruszka, CEO et propriétaire de Behemoth Webstore, ce n’était pas le premier projet de migration réalisé avec Next-Cart. Au fil des années, il avait déjà fait confiance à l’équipe pour migrer ses boutiques internationales vers BigCommerce et PrestaShop.
Mais à mesure que son entreprise évoluait, ses attentes évoluaient elles aussi.
Cette fois, Maciej souhaitait consolider son écosystème et moderniser son infrastructure sur le long terme. La plateforme cible était WooCommerce, intégrée à WordPress. Cette combinaison offre suffisamment de flexibilité pour gérer à la fois un commerce avancé et du contenu, exactement ce que recherchait Maciej.
Maciej voulait toutefois aller au-delà d’un simple transfert de données. L’objectif était de réunir quatre boutiques Shopify indépendantes, chacune destinée à un marché monétaire différent, dans un seul écosystème WooCommerce sans rompre les relations entre produits, l’historique des clients ni l’intégrité des commandes.
Il s’agissait de l’un des projets de migration les plus complexes sur le plan technique que Next-Cart ait gérés durant cette période.
Le défi du projet : consolider quatre boutiques Shopify dans un seul environnement WooCommerce
Maciej exploitait quatre boutiques Shopify : une boutique principale et trois boutiques supplémentaires pour les marchés en USD, EUR et GBP.
La première phase de migration s’est concentrée sur la boutique Shopify principale. Elle comprenait 125 catégories, 388 produits, 5 898 clients et 11 537 commandes.
La véritable complexité est apparue lors de la phase suivante, lorsque Maciej a posé la question suivante : si les trois autres boutiques Shopify utilisent la même base de produits, avec les mêmes SKU et codes-barres, les commandes importées reconnaîtront-elles les produits déjà migrés et seront-elles correctement liées dans WooCommerce ?
Ce n’était pas une migration standard. Il s’agissait d’un projet de consolidation par étapes avec plusieurs boutiques sources. Chaque boutique Shopify avait sa propre base clients et son propre historique de commandes, tandis que les produits étaient identiques. Le défi consistait à éviter les doublons tout en unifiant correctement les relations entre les données.
Concrètement, le client avait besoin de :
-
Associer les commandes aux produits existants à l’aide du SKU
-
Fusionner les clients par adresse e-mail lorsqu’ils existaient déjà
-
Préserver et relier correctement toutes les données historiques
-
Éviter les produits en double
-
Éviter la fragmentation des profils clients
Dans ce cas, la logique de migration devait être soigneusement personnalisée afin de reconnaître et de relier les données entre plusieurs boutiques.
Premier obstacle : les clients étaient importés, mais restaient invisibles
Après la première migration, Maciej a constaté que les clients avaient bien été importés dans WordPress sous « Users », mais qu’ils n’apparaissaient pas dans « WooCommerce Customers ».
À première vue, cela ressemblait à un problème de migration. Après une analyse plus poussée, l’équipe Next-Cart a toutefois découvert que la cause réelle était un plugin multidevise installé sur WooCommerce, qui modifiait le comportement par défaut d’affichage des clients.
Le plugin était configuré pour afficher uniquement les clients ayant au moins une commande en PLN, tandis que la langue et la devise de la boutique étaient définies sur le polonais et le PLN.
Les données étaient donc bien présentes sur le plan technique, mais elles n’étaient pas affichées à cause des règles de filtrage.
Next-Cart a ensuite ajusté la configuration de migration afin de respecter ces conditions :
-
Les commandes ont reçu la bonne devise
-
Le mapping des langues a été aligné sur la logique du plugin
-
Les futures importations depuis les boutiques en USD, EUR et GBP pouvaient fonctionner correctement une fois les devises définies
Le problème venait de la logique de l’environnement et non des données. Sa résolution exigeait de comprendre le fonctionnement de WooCommerce au niveau système.
Mapping des données produit : traduire la logique Shopify vers WooCommerce
Les demandes suivantes de Maciej concernant le mapping précis des champs allaient au-delà d’une migration classique des entités. Plusieurs custom fields de Shopify devaient être transférés vers des attributs WooCommerce :
-
Country/Region of Origin → Attribut produit
-
HS Code → Attribut produit
-
Barcode → Champ EAN WooCommerce
-
Brand → Attribut
-
GTIN → Attribut
En parallèle, Maciej ne souhaitait pas importer certains champs, notamment Reviews, Size, Table Size, UPC et MPN. Cette exclusion sélective permettait d’éviter d’encombrer le nouvel environnement WooCommerce avec des données inutiles.
L’outil de migration devait donc être personnalisé non seulement pour mapper les custom fields vers les bons attributs WooCommerce, mais aussi pour exclure certains éléments.
La personnalisation au niveau des champs est souvent sous-estimée dans les projets de migration standard. Pourtant, dans une consolidation multiboutique comme celle-ci, la cohérence des attributs devient essentielle, en particulier lorsque de futurs filtres, règles fiscales et exigences d’expédition dépendent de métadonnées précises telles que le HS Code ou le Country of Origin.
Les développeurs de Next-Cart ont adapté la logique de migration afin de conserver des données produit propres et standardisées dans WooCommerce.
Le défi central : relier les commandes aux produits WooCommerce existants grâce au SKU
La partie la plus sensible du projet consistait à garantir une association correcte entre les commandes et les produits sur les quatre boutiques.
Les trois boutiques en USD, EUR et GBP contenaient des produits identiques. Sans traitement spécifique, leur importation dans une seule boutique WooCommerce aurait créé des doublons. Plus important encore, les lignes de commande auraient pu ne pas être reliées aux bons produits.
Pour éviter cela, l’outil de migration a été personnalisé avec une logique stricte de correspondance par SKU. Le système identifiait les produits déjà présents dans WooCommerce en utilisant le SKU comme clé unique, puis reliait les commandes de toutes les boutiques à ces produits.
Les clients ont été gérés selon une logique similaire. Lorsqu’une commande faisait référence à une adresse e-mail déjà présente dans WooCommerce, le système fusionnait les enregistrements au lieu de créer un compte en double. L’historique d’achat restait ainsi continu, même lorsqu’un client avait acheté dans plusieurs devises.
Dans ce projet, la migration a servi de moteur de consolidation en transformant une base de données fragmentée en une structure cohérente.
Correction des codes-barres au niveau des variantes
Dans Shopify, chaque variante de produit possédait un code-barres unique. Après la migration, les variantes WooCommerce affichaient toutefois la même valeur EAN.
Pour les entreprises qui utilisent les codes-barres dans leurs processus de fulfillment ou leurs intégrations marketplace, ce problème pouvait entraîner des erreurs opérationnelles.
L’équipe a de nouveau adapté la logique de migration pour corriger le problème. Le code-barres de chaque variante Shopify a été mappé précisément vers l’EAN de la variante WooCommerce correspondante, afin que les systèmes de stock, les processus de scan et les intégrations externes continuent de fonctionner correctement après la consolidation.
Newsletter et Mailchimp : comprendre les limites entre les systèmes
Maciej souhaitait également transférer les données d’abonnement à la newsletter.
Lorsqu’un client Shopify était abonné aux e-mails, ce statut devait également être indiqué dans WooCommerce.
Après analyse, le développeur a découvert que le plugin d’intégration Mailchimp enregistrait le statut d’abonnement dans le système Mailchimp et non dans la base de données WooCommerce.
La migration a correctement renseigné les champs meta d’abonnement dans WordPress. Toutefois, le plugin ne se synchronisait que lorsque les utilisateurs étaient mis à jour manuellement, ce qui expliquait pourquoi les cases WooCommerce n’étaient pas cochées automatiquement.
Il s’agissait d’une limite liée à l’architecture de l’API.
L’outil de migration ne peut pas imposer un statut d’abonnement à un système externe sans déclencher son propre mécanisme de synchronisation. Next-Cart a clairement expliqué cette limite au client.
Instabilité de l’hébergement : une couche de complexité inattendue
Les changements d’hébergement ont constitué un autre aspect exigeant du projet.
Pendant la migration, Maciej a changé plusieurs fois de fournisseur entre Hostinger, Kinsta, SiteGround et Cloudways. Chaque changement nécessitait de reconnecter le migration bridge, de reconfigurer les identifiants FTP, d’autoriser les adresses IP, de vérifier les droits d’accès à la base de données et de vider les caches du serveur.
À certains moments, l’accès depuis certaines régions était limité. De plus, les couches de cache provoquaient des exécutions en double lorsque l’outil était lancé dans plusieurs onglets du navigateur.
Il ne s’agissait pas d’erreurs de données, mais de variables liées à l’environnement, ce qui nécessitait un diagnostic méthodique.
L’équipe de migration s’est continuellement adaptée à chaque configuration d’hébergement afin de garantir un environnement stable avant de reprendre les importations.
WPML : un changement stratégique en cours de migration
Pendant le projet, Maciej a décidé de retirer WPML de l’environnement WooCommerce.
Si ce changement est mal géré pendant une migration active, il peut créer des enregistrements orphelins ou une visibilité incohérente des produits. Les métadonnées de traduction stockées dans des tables auxiliaires peuvent également provoquer des conflits lors de la désactivation du plugin.
Pour éviter ces risques, la configuration de migration a été repensée avant de poursuivre l’importation des autres boutiques.
-
La logique d’insertion des produits a été simplifiée pour utiliser la structure WooCommerce standard et contourner les hooks devenus inutiles
-
Le mapping des taxonomies a été vérifié afin de maintenir la stabilité des attributs et des catégories
-
Les clients et les commandes ont été contrôlés afin de vérifier qu’ils ne dépendaient pas de métadonnées propres à une langue
Cet ajustement en cours de projet exigeait un séquençage précis. L’équipe l’a traité comme une transition contrôlée et non comme une simple désactivation du plugin.
À la fin du projet, la boutique WooCommerce fonctionnait correctement sans WPML. Les produits étaient organisés dans une seule langue, sans couches de traduction complexes.
Résultat final : un écosystème WooCommerce entièrement unifié
Après plusieurs cycles de personnalisation, le résultat final était un système WooCommerce entièrement consolidé :
-
Les catégories et les produits étaient structurés de manière propre et cohérente
-
Plus de 11 500 commandes de la boutique principale ont été préservées
-
Plus de 10 000 commandes supplémentaires issues des trois boutiques monétaires ont été associées par SKU
-
Les clients ont été fusionnés intelligemment
-
Les valeurs EAN des variantes s’affichaient correctement dans WooCommerce
-
WPML a été supprimé sans affecter le fonctionnement de la boutique
-
Aucun produit en double n’a été créé
Quatre boutiques Shopify distinctes fonctionnant avec plusieurs devises sont ainsi devenues un seul site WooCommerce centralisé avec des données unifiées.
Conclusion : ce que ce projet révèle sur la complexité technique d’une migration
Ce projet montre qu’une migration eCommerce ne consiste pas seulement à déplacer des données d’une plateforme à une autre. Elle implique aussi de traduire des architectures, de rapprocher des comportements différents, de personnaliser la logique de mapping et de préserver les relations historiques.
Pour les entreprises qui exploitent plusieurs boutiques dans différentes devises, comme Behemoth Webstore, une planification rigoureuse et une grande flexibilité technique sont indispensables. Le projet a notamment nécessité de gérer la correspondance par SKU, la fusion des clients, la précision au niveau des variantes, la compatibilité des plugins et la stabilité de l’hébergement.
Tous ces éléments ont contribué au résultat final, et Maciej a ensuite partagé son expérience :
« L’équipe et cet outil sont fantastiques. Ils ont migré toutes mes données depuis Shopify, notamment les clients, les commandes, les produits et d’autres données, avec plusieurs modifications personnalisées vers WooCommerce. Auparavant, ils m’avaient également aidé pour BigCommerce et PrestaShop. J’ai l’impression qu’aucune tâche n’est impossible pour eux. Les échanges et le support sont très rapides, même pendant les jours fériés. Ils sont formidables ! »
Cette étude de cas illustre l’importance d’une personnalisation structurée et d’une compréhension approfondie des systèmes. Ce travail a permis de transformer une migration en plusieurs étapes en une boutique eCommerce unifiée et évolutive.
