Passer d’un catalogue PrestaShop à la Store API WooCommerce ressemble moins à une migration qu’à une traduction : les deux systèmes décrivent les mêmes notions — produit, variation, catégorie, stock — mais chacun à sa façon, avec ses propres champs obligatoires et ses propres subtilités d’export.
Ce tutoriel s’adresse à un intégrateur qui gère au quotidien des boutiques PrestaShop pour des clients, sans être développeur PHP, et qui doit migrer un catalogue existant vers WooCommerce en vue d’un projet headless piloté par un front découplé. La Store API de WooCommerce, encore jeune à cette date, expose déjà les endpoints nécessaires pour un panier et un catalogue consommés sans thème classique.
Étape 1 : cartographier les champs avant tout export
PrestaShop et WooCommerce ne nomment pas les mêmes concepts de la même façon. Avant d’exporter quoi que ce soit, un tableau de correspondance évite les allers-retours inutiles :
| PrestaShop | WooCommerce |
|---|---|
| Référence | SKU |
| Déclinaison | Variation |
| Quantité disponible | Stock |
| Catégorie racine | Catégorie parente |
Étape 2 : exporter le catalogue depuis PrestaShop
Le back-office PrestaShop permet un export CSV natif depuis le catalogue des produits, avec un choix des champs à inclure. Pour ce projet, quatre fichiers distincts ont été générés : produits, déclinaisons, catégories et images, plutôt qu’un unique export monolithique difficile à corriger en cas d’erreur ponctuelle.
Étape 3 : adapter le format pour l’import WooCommerce
WooCommerce attend un format CSV précis pour son import natif, avec des colonnes obligatoires comme SKU, Name et Regular price. Un tableur intermédiaire a servi à réorganiser les colonnes exportées de PrestaShop selon ce format attendu, sans écrire une seule ligne de script.

Étape 4 : importer via l’outil natif de WooCommerce
L’import se fait depuis Produits > Tout importer, avec un mappage manuel des colonnes à l’écran suivant. WooCommerce affiche un aperçu avant validation, ce qui a permis de repérer une erreur de virgule décimale sur les prix avant qu’elle ne pollue l’ensemble du catalogue.
- Importer d’abord les catégories, seules, pour vérifier la hiérarchie
- Importer ensuite les produits simples
- Importer enfin les produits variables avec leurs déclinaisons associées
Étape 5 : vérifier l’exposition via la Store API
Une fois le catalogue en place, la Store API de WooCommerce expose les produits sans configuration supplémentaire, via des routes comme /wc/store/v1/products. Cette API étant encore en évolution active à cette période, certains champs annexes comme les avis clients restaient limités par rapport à l’API REST classique de WooCommerce, ce qui a nécessité de compléter certains affichages par des appels ciblés vers /wp-json/wc/v3/products avec authentification appropriée.
Un import de catalogue réussi ne se juge pas au nombre de produits transférés, mais au nombre d’anomalies de prix ou de stock découvertes après coup.
Vérifier le stock après import, produit par produit critique
Une vérification manuelle a porté sur une vingtaine de références jugées prioritaires par le client, celles qui génèrent le plus de commandes habituellement. Pour chacune, la quantité en stock affichée dans WooCommerce a été comparée à celle encore visible dans l’ancien back-office PrestaShop, resté accessible en lecture seule pendant la période de transition.
Cette vérification ciblée a permis de repérer un décalage sur trois références, causé par des commandes passées entre le moment de l’export et celui de la bascule effective du site, un délai qu’aucun export ponctuel ne peut totalement éliminer sans figer temporairement les ventes.
Ce qui a posé le plus de difficultés
- Les déclinaisons PrestaShop à plusieurs attributs combinés, à décomposer manuellement pour WooCommerce
- Les images liées par URL relative dans l’export PrestaShop, à corriger avant import
- Les catégories dupliquées entre langues, à fusionner avant migration
En résumé
Migrer un catalogue PrestaShop vers WooCommerce pour un projet headless demande surtout de la rigueur dans la cartographie des champs et un import segmenté plutôt qu’un transfert massif d’un seul bloc. Ce tutoriel ne traite volontairement pas des questions de fiscalité ni de configuration des taxes, qui doivent être reconfigurées séparément une fois le catalogue stabilisé.