# Migrer une boutique PrestaShop vers WooCommerce : retour d’expérience sur un projet réel

> Catalogue, clients, commandes historiques, redirections : ce qu'un vrai projet de migration PrestaShop vers WooCommerce a révélé de pièges concrets, au-delà des outils tout faits.

- Auteur : Clément Hadrot
- Publié le : 2022-02-15
- Mis à jour le : 2022-02-15
- Catégorie : E-commerce
- URL : https://wpmoderne.dev.wordpress-developpement.fr/ecommerce/migrer-boutique-prestashop-vers-woocommerce/

## L’essentiel

- Un export CSV brut de PrestaShop ne suffit jamais à reconstruire les variations de produits
- Les identifiants de commande historiques doivent être conservés pour la comptabilité
- Les redirections d'URL sont aussi importantes que la donnée elle-même pour le référencement

Un client vendant des équipements de sport en ligne depuis huit ans sur PrestaShop 1.6 souhaitait passer à WordPress et WooCommerce, principalement pour retrouver un écosystème de thèmes et d'extensions plus large et une équipe de développement plus facile à recruter. Le catalogue comptait près de 4 800 références avec variations, huit ans d'historique de commandes, et un trafic organique qu'il était hors de question de sacrifier. Voici ce que ce projet nous a réellement appris, au-delà de ce que promettent les outils de migration automatisés.

Spoiler : aucun plugin ne fait le travail à la place d'une analyse fine des données sources. Les outils existants (comme les extensions de migration disponibles sur le répertoire WordPress ou des services spécialisés) accélèrent la mécanique, mais ne remplacent jamais la vérification manuelle.

## Cartographier les données avant de migrer quoi que ce soit

La première erreur à éviter est de lancer un outil de migration en espérant qu'il « comprenne » la structure PrestaShop. Avant tout transfert, nous avons cartographié précisément la base de données source : table `ps_product` pour les produits simples, `ps_product_attribute` pour les déclinaisons, `ps_category` pour l'arborescence, `ps_orders` et `ps_order_detail` pour l'historique de commandes. Cette cartographie a révélé plusieurs incohérences accumulées sur huit ans : des catégories dupliquées, des attributs de déclinaison renommés sans que les anciens soient nettoyés, des produits désactivés jamais purgés.

Nettoyer ces incohérences côté PrestaShop avant l'export a pris presque autant de temps que la migration elle-même, mais a évité de reproduire huit ans de dette de données dans la nouvelle boutique.

## Le catalogue : simple en apparence, complexe dans le détail

Les produits simples migrent sans grande difficulté vers des produits WooCommerce standards. Les déclinaisons PrestaShop (combinaisons d'attributs, chacune avec son propre stock et sa propre référence) demandent en revanche une transformation en produits variables WooCommerce, avec reconstruction des attributs globaux et de chaque variation associée. Un export CSV brut ne restitue pas cette hiérarchie parent-variation ; il a fallu un script de transformation dédié, exécuté via WP-CLI pour créer les produits et leurs variations en masse :

```
wp eval-file migration/creer-produits-variables.php --require=wp-load.php
```

Ce script lisait un export intermédiaire structuré (JSON reconstitué à partir des tables PrestaShop) et appelait l'API WooCommerce Legacy REST puis, pour les champs non couverts, directement les classes `WC_Product_Variable` et `WC_Product_Variation` pour créer chaque combinaison avec son stock, son prix et son image.

> L'essentiel à retenir : Un export CSV brut de PrestaShop ne suffit jamais à reconstruire les variations de produits ; Les identifiants de commande historiques doivent être conservés pour la comptabilité ; Les redirections d'URL sont aussi importantes que la donnée elle-même pour le référencement

## Conserver l'historique de commandes sans le fausser

Le client souhaitait conserver les commandes historiques accessibles depuis les comptes clients migrés, à la fois pour le service après-vente et pour la comptabilité. Deux choix structurants ont été faits :

- Les commandes ont été recréées comme des objets `WC_Order` WooCommerce, avec un statut figé cohérent (payée, remboursée, annulée selon la donnée source), plutôt que rejouées dans le flux de commande actif (ce qui aurait déclenché des e-mails de confirmation à des milliers de clients pour des achats vieux de plusieurs années) ;
- Le numéro de commande PrestaShop d'origine a été conservé en méta de commande (`_ancien_numero_prestashop`), pour que le service client puisse toujours retrouver une commande à partir d'une référence citée par un client dans un e-mail historique.

## Le référencement : les redirections avant tout

PrestaShop et WooCommerce ne génèrent pas les mêmes structures d'URL par défaut. Sans plan de redirection, une migration détruit en quelques jours un référencement organique construit sur plusieurs années. Le travail a consisté à extraire l'intégralité des URL de fiches produit, catégories et pages de contenu PrestaShop, puis à générer un fichier de redirections 301 vers les nouvelles URL WooCommerce correspondantes, chargé via une extension de gestion des redirections :

```
/234-baskets-running-homme.html  →  /produit/baskets-running-homme/
/12-chaussures-running.html      →  /categorie-produit/chaussures-running/
```

Cette étape, souvent sous-estimée dans les devis de migration, a représenté environ un tiers du temps total du projet — et c'est aussi celle qui a le plus directement conditionné le succès perçu de la migration par le client, puisque le trafic organique n'a chuté que de 6 % le premier mois, avant de retrouver son niveau antérieur en dix semaines.

## Ce que nous ferions différemment

| Étape | Ce qui a bien fonctionné | Ce que nous améliorerions |
| --- | --- | --- |
| Nettoyage des données source | Fait avant l'export, a évité de dupliquer la dette | Aurait dû être planifié plus tôt, il a retardé le calendrier |
| Migration du catalogue | Script sur mesure fiable pour les variations | Prévoir davantage de temps de test sur les images de variation |
| Redirections SEO | Couverture quasi complète des URL historiques | Démarrer l'extraction des URL dès le début du projet, pas en fin de course |

> Sur ce projet comme sur d'autres migrations depuis PrestaShop, la leçon la plus constante est la même : le temps gagné en utilisant un outil de migration automatisé est presque toujours reperdu en vérification manuelle des cas particuliers. Mieux vaut le prévoir dès le devis que le découvrir en cours de route.

## En résumé

Migrer une boutique PrestaShop vers WooCommerce est un projet de données autant qu'un projet technique : cartographier la base source, transformer proprement les déclinaisons en produits variables, conserver un historique de commandes fidèle sans le rejouer dans le flux actif, et traiter les redirections SEO avec le même sérieux que le catalogue. C'est cette rigueur, plus que le choix de l'outil de migration, qui fait la différence entre une bascule réussie et un lancement chaotique.
