Importer un CSV WooCommerce sans installer de plugin
WooCommerce inclut un importeur CSV natif qu'on peut utiliser sans installer WP All Import. Voici comment, avec la structure CSV exacte et le mapping des catégories hiérarchiques.
Importer un CSV WooCommerce sans installer de plugin
WooCommerce inclut un importeur CSV natif depuis la version 3.1 (2017). La majorité des tutoriaux vous disent d'installer WP All Import ou WooCommerce Product CSV Import Suite. C'est rarement nécessaire. Le module natif couvre 90 % des cas, gratuitement, sans plugin supplémentaire.
Voici comment l'utiliser efficacement, la structure CSV exacte, et les pièges spécifiques à WooCommerce (catégories hiérarchiques, attributs vs variations).
Le module CSV natif : où et comment
Dans votre admin WordPress : Products → All Products, en haut de page, deux boutons :
- Import — importer un CSV
- Export — exporter tous les produits en CSV
Ce module :
- Gère create + update par
SKUouid - Supporte attributs, catégories, tags
- Traite les variations
- Dry-run possible (mode aperçu sans écriture)
Il ne gère pas nativement :
- Mapping complexe avec transformations (ex: concaténer 2 colonnes)
- Import d'images depuis un FTP
- Mapping conditionnel (si colonne A = X, alors ...)
Pour ces cas avancés, un plugin (WP All Import) peut être nécessaire. Sinon, le natif suffit.
La structure CSV WooCommerce
Exportez un produit existant pour voir la structure. Colonnes principales :
| Colonne | Rôle |
|---|---|
ID | Laissez vide pour création, renseignez pour update |
SKU | Identifiant unique (utilisé pour match) |
Name | Nom du produit |
Published | 1, 0 ou -1 (brouillon) |
Type | simple, variable, grouped, external, variation |
Description | Description complète (HTML) |
Short description | Description courte |
Regular price | Prix normal |
Sale price | Prix soldé |
Stock quantity | Quantité |
Stock status | instock ou outofstock |
Weight | Poids (pour la livraison) |
Length, Width, Height | Dimensions |
Categories | Catégories séparées par virgule |
Tags | Tags séparés par virgule |
Images | URLs images séparées par virgule |
Parent | SKU du produit parent (pour variations) |
Attribute 1 name, Attribute 1 value(s) | Premier attribut |
Attribute 2 name, Attribute 2 value(s) | Deuxième attribut |
Chaque ligne = un produit simple ou une variation. Un produit variable se décrit sur 1 ligne parent + N lignes enfants (une par variation).
Catégories hiérarchiques : le piège WooCommerce
WooCommerce gère les catégories sur plusieurs niveaux. Exemple :
Vêtements
├── Hommes
│ ├── Chaussures
│ └── Chemises
└── Femmes
├── Chaussures
└── Chemises
Pour affecter un produit à "Vêtements > Hommes > Chaussures" dans le CSV :
Categories
"Vêtements > Hommes > Chaussures"
Séparateur : > (supérieur) avec espaces autour. Si une catégorie n'existe pas, WooCommerce la crée automatiquement à l'import.
Plusieurs catégories pour un même produit : séparées par virgule.
Categories
"Vêtements > Hommes > Chaussures, Soldes"
Ce produit sera dans "Vêtements > Hommes > Chaussures" ET dans "Soldes".
Erreur fréquente : oublier les espaces autour du >. Sans espaces (Vêtements>Hommes>Chaussures), WooCommerce crée une seule catégorie nommée littéralement "Vêtements>Hommes>Chaussures".
Attributs vs variations
La confusion classique.
Attribut global (Attribute 1 name = Taille, Attribute 1 value = 42, 43, 44) : c'est une caractéristique affichée sur la fiche produit, utilisable pour le filtrage. Ne crée pas de variations.
Variation (ligne avec Type = variation, Parent = sku-du-parent) : c'est une déclinaison achetable avec son propre prix, stock, SKU.
Un produit avec "42, 43, 44" en attribut mais sans variations : une seule ligne d'inventaire, prix identique. Un produit avec "42, 43, 44" en variations : 3 lignes d'inventaire, 3 SKU, 3 prix potentiels.
Sur un catalogue e-commerce, on veut quasi toujours des variations pour les tailles/couleurs (permet de tracker le stock par variante). Voici la structure CSV :
SKU,Type,Name,Parent,Attribute 1 name,Attribute 1 value(s),Regular price,Stock quantity
DERBY-BLK,variable,Derby Cuir Noir,,,Taille,"42, 43, 44",,
DERBY-BLK-42,variation,,DERBY-BLK,Taille,42,149.00,10
DERBY-BLK-43,variation,,DERBY-BLK,Taille,43,149.00,8
DERBY-BLK-44,variation,,DERBY-BLK,Taille,44,149.00,5
Ligne 1 = produit parent (variable). Lignes 2-4 = variations qui réfèrent au parent via Parent = DERBY-BLK.
Mapping au premier import
Lors de l'upload, WooCommerce affiche un écran de mapping : à gauche les colonnes de votre CSV, à droite les champs WooCommerce. Pour chaque colonne, choisissez :
- Le champ correspondant (ex:
Nom→Name) - "Ne pas importer" si la colonne n'est pas utile
- "Nouveau méta" si vous voulez créer un custom meta field
Attention aux colonnes non reconnues : WooCommerce vous propose de les créer comme meta fields, ce qui peut créer du bruit dans votre base si vous acceptez sans réfléchir.
Sauvegardez le mapping : cochez "Enregistrer comme modèle" pour le réutiliser lors des prochains imports.
Update vs create : le match par SKU
WooCommerce fait le match en priorité par ID, puis par SKU si ID est vide.
Pour créer de nouveaux produits : laissez ID vide, utilisez des SKU uniques.
Pour updater des produits existants : renseignez soit ID (si connu), soit les SKU existants. Cochez l'option "Update existing products" lors de l'import.
Attention : si vous cochez "Update existing" avec des SKU qui n'existent pas, rien ne se passe pour ces lignes (elles sont ignorées silencieusement). Vérifiez le rapport d'import.
Images : URLs externes ou upload préalable
Deux stratégies :
Stratégie 1 — URLs externes (recommandé pour gros imports)
Votre CSV contient des URLs publiques vers un CDN :
Images
"https://cdn.example.com/derby-01.jpg, https://cdn.example.com/derby-02.jpg"
WooCommerce télécharge chaque image pendant l'import et l'ajoute à la bibliothèque médias. Rapide pour <1000 images, peut timeout au-delà.
Stratégie 2 — Upload préalable puis référencement
Uploadez les images dans Media Library, puis référencez-les par leur URL Media Library :
Images
"https://example.com/wp-content/uploads/2026/04/derby-01.jpg"
Pas de download au moment de l'import, plus fiable pour gros volumes.
Pour 10 000 images, utilisez un plugin d'import media en FTP comme WP/LR Sync ou uploadez par batch via WP CLI.
Rollback : préparer avant d'importer
WooCommerce n'a pas de rollback natif. Préparez :
Export complet avant import
Products → All Products → Export → All. Sauvegarde CSV datée.
Backup base de données
En SQL direct (via phpMyAdmin) ou via un plugin (UpdraftPlus, BackupBuddy). Sauvegarde des tables wp_posts, wp_postmeta, wp_term_relationships, wp_wc_product_meta_lookup.
Test en staging
Hostinger, Kinsta, et WP Engine proposent des environnements de staging one-click. Testez l'import complet en staging, validez le résultat, reportez en prod.
Import en draft
Dans le CSV, mettez Published = -1 (brouillon). Les produits sont créés mais invisibles. Publiez par batch après validation manuelle.
FAQ
Pourquoi le module natif WooCommerce suffit-il dans 90 % des cas ?
Parce que la majorité des imports sont simples : create/update de produits par SKU, avec mapping direct des colonnes. Les plugins comme WP All Import ajoutent : mapping avec transformations, scheduling, import depuis XML/JSON, support multi-sites. Ces fonctionnalités sont utiles pour de grosses intégrations, rares pour une boutique e-commerce classique.
Le module natif gère-t-il l'import planifié (cron) ?
Non, c'est une limite. Pour import automatique récurrent (ex: tous les matins depuis un fournisseur), il faut un plugin. WooCommerce Product CSV Import Suite (officiel, 49 $/an) gère ça.
Puis-je importer juste les prix sans toucher le reste ?
Oui. Exportez tous les produits, supprimez toutes les colonnes sauf SKU et Regular price, modifiez les prix, réimportez avec "Update existing". WooCommerce ne touche que les champs présents dans le CSV.
Combien de produits puis-je importer en une fois ?
Techniquement illimité. Pratiquement : <5000 lignes par fichier pour éviter les timeouts. Au-delà, sharder par catégorie ou par batch de 3000 lignes.
WooCommerce supporte-t-il le même format CSV que Shopify ?
Non, les colonnes sont différentes. Handle de Shopify n'existe pas chez WooCommerce (qui utilise slug dérivé du Name). Option1 Name devient Attribute 1 name. Vous devez mapper manuellement.
Un outil peut-il convertir un CSV Shopify en CSV WooCommerce automatiquement ?
Oui. Cart2Cart, LitExtension, et MigrationPro font ça. Ecomptimize supporte aussi la conversion de format entre les deux plateformes dans ses Catalog Runs. Voir Ecomptimize pour WooCommerce.
Pour auditer, optimiser et importer votre catalogue WooCommerce avec contrôle qualité IA, voyez Ecomptimize pour WooCommerce.
Tu as aimé cet article ?