« Collection » chez Shopify, « catégorie » chez WooCommerce : les deux mots se ressemblent, mais ne recouvrent pas exactement la même logique. Sur ce projet, il a fallu une bonne heure de discussion avec l’artisan concerné avant même d’ouvrir un éditeur de code, tant les deux notions se confondent en apparence tout en fonctionnant différemment.
Cet artisan, qui vend des pièces travaillées à la main en petite série, quittait Shopify pour un thème WooCommerce classique afin de garder un contrôle plus direct sur la structure de sa boutique, sans dépendre des limites imposées par les thèmes Shopify du marché. Le portage de sa structure de collections et de variantes vers les templates WooCommerce constituait l’essentiel du travail de migration.
Collections Shopify contre catégories et étiquettes WooCommerce
Une collection Shopify peut être construite manuellement (liste explicite de produits) ou automatiquement (selon des règles de filtrage sur des tags ou des types de produit). WooCommerce ne propose pas cette distinction : ses catégories de produit fonctionnent uniquement de façon manuelle, un produit étant explicitement rattaché à une ou plusieurs catégories.
Pour ce projet, les collections manuelles de Shopify ont été transposées directement en catégories de produit WooCommerce. Les collections automatiques, construites sur des règles de tags, ont nécessité un travail préalable : identifier la règle de filtrage utilisée par chaque collection automatique, puis recréer manuellement l’appartenance de chaque produit concerné à la catégorie WooCommerce correspondante, puisque WooCommerce ne reproduit pas nativement ce mécanisme de règles automatiques.
Traduire les variantes en attributs et variations
Shopify organise ses variantes de produit (couleur, taille, matériau) sous forme d’options rattachées directement au produit, chaque combinaison générant automatiquement une variante avec son propre prix et son propre stock. WooCommerce distingue deux notions proches mais différentes : les attributs, qui définissent les caractéristiques possibles, et les variations, qui représentent chaque combinaison réelle vendue.

// Exemple de structure d'attribut pour un produit variable WooCommerce
$attribut_couleur = array(
'name' => 'Couleur',
'value' => 'Terracotta | Bleu nuit | Naturel',
'is_variation' => 1,
'is_taxonomy' => 0,
);
Pour chaque produit avec variantes chez Shopify, la migration a nécessité de créer un attribut WooCommerce par dimension de variation (couleur, taille), puis de générer les variations WooCommerce correspondant à chaque combinaison réellement vendue, avec son prix et son stock propres, plutôt que de laisser WooCommerce générer automatiquement toutes les combinaisons possibles, dont certaines n’existaient pas réellement dans le catalogue de l’artisan.
Préparer l’import CSV avec rigueur
L’import de produits variables dans WooCommerce via CSV impose une structure précise : une ligne pour le produit parent, puis une ligne par variation, chacune reliée au parent par son identifiant. Une erreur fréquente lors de ce type de migration consiste à laisser l’export Shopify générer un CSV avec sa propre structure de lignes, puis à l’importer tel quel dans WooCommerce sans adaptation, ce qui crée des produits en double : un produit simple par variante, plutôt qu’un seul produit variable avec ses variations rattachées.
- Regrouper toutes les variantes d’un même produit sous un identifiant parent commun avant import
- Vérifier que chaque ligne de variation référence bien les bons attributs (couleur, taille) définis pour le produit parent
- Tester l’import sur un lot restreint de cinq à dix produits avant de lancer l’import complet du catalogue
- Contrôler après import qu’aucun produit simple orphelin n’a été créé par erreur
Adapter les templates d’affichage
Une fois les données correctement importées, les templates du thème WooCommerce (page produit, archive de catégorie) ont été ajustés pour restituer une présentation proche de celle de la boutique Shopify d’origine, à laquelle les clients de l’artisan étaient habitués : sélecteurs de variation sous forme de pastilles de couleur plutôt que de simples menus déroulants, et galerie d’images qui change selon la variation sélectionnée.
Le plus grand risque sur ce type de migration n’est pas la perte de données, généralement récupérable, mais la création silencieuse de doublons de produits lors d’un import CSV mal préparé. Un contrôle systématique du nombre de produits avant et après import reste la vérification la plus simple et la plus fiable.
Pour aller plus loin
Ce portage illustre une règle générale valable pour toute migration e-commerce : les notions qui se ressemblent d’une plateforme à l’autre, comme les collections ou les variantes, cachent souvent des différences structurelles qu’il faut comprendre avant de se lancer dans l’import. Prendre le temps de cartographier ces différences en amont évite bien des reprises a posteriori sur un catalogue déjà en ligne.