Aller au contenu principal
Retour au blog
Gestion catalogue

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.

#woocommerce#csv#import#catalogue
Importer un CSV WooCommerce sans installer de plugin

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 SKU ou id
  • 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 :

ColonneRôle
IDLaissez vide pour création, renseignez pour update
SKUIdentifiant unique (utilisé pour match)
NameNom du produit
Published1, 0 ou -1 (brouillon)
Typesimple, variable, grouped, external, variation
DescriptionDescription complète (HTML)
Short descriptionDescription courte
Regular pricePrix normal
Sale pricePrix soldé
Stock quantityQuantité
Stock statusinstock ou outofstock
WeightPoids (pour la livraison)
Length, Width, HeightDimensions
CategoriesCatégories séparées par virgule
TagsTags séparés par virgule
ImagesURLs images séparées par virgule
ParentSKU 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: NomName)
  • "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 ?