Guide

Comment importer des produits en masse dans WooCommerce

WooCommerce peut importer des centaines de produits à la fois à partir d’un fichier CSV. Ce guide présente l’importeur intégré, les cas où une extension ou l’API REST est plus adaptée, et comment obtenir des données propres dans le CSV dès le départ.

Ajouter les produits un par un dans l’administration WooCommerce convient pour une petite boutique, mais intégrer un catalogue fournisseur de cette façon peut prendre des jours. WooCommerce inclut un importeur CSV de produits, et il existe des extensions d’import et une API pour les tâches plus volumineuses ou récurrentes.

L’import lui-même est rarement la partie difficile. Le plus difficile est de produire un CSV correct : une ligne par produit ou par variation, les bonnes colonnes, des attributs cohérents et des descriptions dignes d’être publiées.

Option 1 : l’importeur CSV intégré de WooCommerce

WooCommerce est fourni avec un importeur et un exporteur CSV de produits. Dans l’administration WordPress, allez dans Produits → Tous les produits et choisissez Importer. Téléversez votre CSV, associez ses colonnes aux champs WooCommerce, puis lancez l’import. Cocher « Mettre à jour les produits existants » permet de mettre à jour les produits identifiés par ID ou par SKU au lieu de créer des doublons.

  • Exportez d’abord un produit existant et utilisez ce fichier comme modèle — il montre les noms de colonnes exacts attendus par votre boutique.
  • Les colonnes habituelles comprennent Type, SKU, Name, Published, Short description, Description, Regular price, Categories, Tags, Images et Attribute 1 name / Attribute 1 value(s).
  • Les images sont importées à partir d’URL ; elles doivent donc être accessibles publiquement au moment de l’import.
  • Les produits variables nécessitent une ligne parente de type « variable » et une ligne par variation faisant référence au parent.
  • Les fichiers très volumineux peuvent dépasser le délai imparti sur un hébergement mutualisé — découpez-les en lots de quelques centaines de lignes.

Option 2 : extensions d’import

Les extensions d’import tierces ajoutent des fonctions absentes de l’importeur natif : imports planifiés ou récurrents depuis un flux fournisseur, prise en charge du XML, règles de transformation des champs et meilleure gestion des très gros fichiers. Elles se justifient lorsqu’un fournisseur envoie régulièrement des fichiers de prix et de stock mis à jour.

Les extensions attendent tout de même des données structurées. Si votre fournisseur vous envoie des PDF plutôt qu’un flux, une extension ne supprime pas le travail de transformation de ces PDF en lignes.

Option 3 : l’API REST de WooCommerce

Les développeurs et les outils d’intégration peuvent créer des produits via l’API REST de WooCommerce, y compris un point d’accès par lot qui crée ou met à jour de nombreux produits en une seule requête. Cela convient aux flux automatisés et aux applications qui créent directement des produits sans passer par un CSV.

Doc2Shelf emprunte cette voie : après vérification, il envoie les produits vers WooCommerce sous forme de produits simples en brouillon, avec des descriptions longue et courte, afin que vous puissiez les contrôler dans WooCommerce avant de les mettre en ligne. Les attributs de filtre globaux et les produits variables se configurent séparément dans WooCommerce.

Préparer les données produit pour un import en masse

Quelle que soit la méthode d’import, la qualité des données détermine le résultat. Avant d’importer :

  • Donnez à chaque produit un SKU unique — c’est ainsi que les mises à jour retrouvent le bon produit par la suite.
  • Créez d’abord les catégories et les attributs globaux dans WooCommerce, puis référencez-les de façon cohérente.
  • Normalisez les spécifications : mêmes unités, mêmes noms d’attributs, une valeur par cellule.
  • Rédigez de vraies descriptions au lieu de coller le texte du fournisseur ; les places de marché et les moteurs de recherche valorisent les contenus uniques.
  • Importez en brouillon pour un premier essai — réglez Published sur -1 (0 rend les produits privés) — puis vérifiez un échantillon avant de tout publier.

Quand votre fournisseur n’envoie que des PDF

De nombreux fournisseurs fournissent leurs fiches techniques et catalogues en PDF, et non en flux CSV. Dans ce cas, le goulot d’étranglement est l’extraction : quelqu’un doit lire chaque PDF, remplir les colonnes et rédiger une description.

Vous pouvez le faire manuellement, ou extraire les données avec un outil et les vérifier. Doc2Shelf lit les PDF fournisseurs, extrait les spécifications pour vérification, rédige les descriptions longue et courte WooCommerce et crée les produits en brouillon via l’API REST — ce qui remplace l’étape du tableur pour les catalogues issus de PDF.

Erreurs d’import WooCommerce courantes

Si un import échoue ou produit des résultats inattendus, vérifiez d’abord ces points :

  • SKU en double ou manquants, qui entraînent l’omission de lignes ou la duplication de produits.
  • Mauvais encodage du fichier — enregistrez le CSV en UTF-8 pour que les caractères accentués soient importés correctement.
  • URL d’images qui redirigent, exigent une connexion ou pointent vers de très gros fichiers.
  • Chemins de catégories écrits de manière incohérente (utilisez « Parent > Enfant » pour les catégories imbriquées).
  • Variations dont les valeurs d’attributs ne correspondent pas à celles du produit parent.

Référence des colonnes du CSV de produits WooCommerce

L’importateur de base lit un ensemble fixe de noms de colonnes. Exporter un produit de votre propre boutique vous donne les en-têtes exacts attendus par votre version de WooCommerce ; le tableau ci-dessous explique les colonnes les plus importantes pour un import en masse. Seule la colonne Name est obligatoire — toutes les autres sont facultatives, mais un catalogue importé sans Type, SKU, prix ni catégories laisse beaucoup de travail manuel pour plus tard.

Les colonnes dont l’en-tête comporte une unité, comme Weight et les trois dimensions, affichent l’unité configurée dans les réglages de votre boutique ; copiez donc ces en-têtes depuis un export plutôt que de les saisir. Les données personnalisées qui n’ont pas de colonne propre vont dans une colonne dont l’en-tête commence par meta: suivi de la clé du champ.

Colonnes de base de l’importateur CSV de WooCommerce (WooCommerce 3.1 et versions ultérieures)
ColonneContenuExempleRemarques
IDID d’un produit WooCommerce existant—Laissez vide pour les nouveaux produits ; les imports de mise à jour font d’abord la correspondance sur l’ID.
TypeType de produitsimpleAussi variable, variation, grouped ou external. Virtual et downloadable sont des désignations ajoutées à un produit, et non des types distincts.
SKUVotre code produit uniqueACME-KTL-17Deuxième clé de correspondance pour les mises à jour, après l’ID. Doit être unique dans la boutique.
GTIN, UPC, EAN, or ISBNIdentifiant produit mondial4006381333931Champ de base. Depuis WooCommerce 11.2, c’est la clé de correspondance de repli lorsque l’ID et le SKU sont tous deux vides.
NameTitre du produitBouilloire en acier inoxydable 1,7 LLa seule colonne obligatoire.
PublishedStatut après l’import-11 = publié, 0 = privé, -1 = brouillon, 2 = en attente de relecture.
Regular price / Sale pricePrix49.90Nombres simples, sans symbole monétaire.
StockQuantité en stock25À utiliser avec In stock? et Backorders allowed? selon les besoins.
Weight (unit), Length (unit), Width (unit), Height (unit)Poids et dimensions d’expédition1.2L’en-tête affiche l’unité de votre boutique, par exemple kg ou cm.
CategoriesCatégories de produitsCuisine > Bouilloires, CadeauxSéparées par des virgules ; « > » indique une sous-catégorie.
ImagesURL des imageshttps://cdn.example.com/ktl-front.jpgSéparées par des virgules ; la première image devient l’image mise en avant.
ParentProduit parent d’une ligne de variationACME-KTLLe SKU du parent, ou id: suivi de l’ID du parent.
Attribute 1 name / Attribute 1 value(s)Un attribut et ses valeursCouleur / Rouge, BleuAjoutez Attribute 2, Attribute 3, etc. pour d’autres attributs.
Attribute 1 visible / Attribute 1 globalIndicateurs pour cet attribut1 / 1Visible l’affiche sur la page produit ; global utilise un attribut commun à toute la boutique.
Attribute 1 defaultValeur présélectionnée d’un produit variableRougeÀ renseigner sur la ligne du parent.
meta:supplier_codeUn champ méta personnaliséD-4471Tout en-tête commençant par meta: est enregistré comme méta personnalisée.

Produits variables dans un CSV : lignes parent et lignes de variation

Un produit variable s’étend sur plusieurs lignes : une ligne parent qui définit le produit et les valeurs d’attribut qu’il propose, et une ligne par variation qui porte le prix, le SKU et le stock d’une combinaison donnée. La ligne parent a pour Type « variable » ; chaque ligne de variation a pour Type « variation » et renvoie au parent dans la colonne Parent, en utilisant le SKU du parent ou id: suivi de son ID.

Les colonnes d’attributs relient les lignes entre elles. Sur le parent, Attribute 1 value(s) liste toutes les valeurs proposées par le produit, séparées par des virgules. Sur chaque variation, le même Attribute 1 name apparaît avec exactement une de ces valeurs. L’orthographe et les majuscules doivent concorder : une variation qui indique « rouge » sous un parent proposant « Rouge » peut se retrouver sans valeur d’attribut exploitable.

Réglez Attribute 1 global sur 1 sur le parent et ses variations lorsque vous utilisez un attribut commun à toute la boutique, créé sous Produits → Attributs — c’est ce avec quoi fonctionnent la navigation par filtres et les widgets de filtre. Depuis WooCommerce 11.1, un import de mise à jour peut aussi ajouter de nouvelles variations à un produit variable déjà existant, ce qui permet d’étendre une gamme sans reconstruire le parent.

  • Placez chaque ligne parent au-dessus de ses variations pour que le fichier soit facile à vérifier et que le parent existe lorsque ses variations y font référence.
  • Donnez à chaque variation son propre SKU et son propre prix ; une variation sans prix ne peut pas être achetée.
  • Utilisez Attribute 1 default sur le parent pour contrôler l’option présélectionnée.
Exemple : une bouilloire vendue en deux couleurs
LigneTypeSKUParentAttribute 1 nameAttribute 1 value(s)
ParentvariableACME-KTL—CouleurRouge, Bleu
Variation 1variationACME-KTL-REDACME-KTLCouleurRouge
Variation 2variationACME-KTL-BLUACME-KTLCouleurBleu

Ajouter des images de produits via le CSV

La colonne Images accepte une ou plusieurs URL d’images séparées par des virgules. La première URL devient l’image mise en avant et les suivantes forment la galerie du produit dans l’ordre indiqué. Pendant l’import, WordPress télécharge chaque fichier dans votre médiathèque ; chaque URL doit donc être accessible publiquement à ce moment-là — sans connexion, sans lien de partage expirant et sans redirection vers une page web plutôt que vers le fichier.

Les images sont généralement la partie la plus lente d’un import : quelques centaines de produits avec cinq images chacun représentent plus de mille téléchargements. Redimensionnez les images avant de les héberger, utilisez des noms de fichiers descriptifs (kettle-red-front.jpg, et non IMG_0042.jpg) et répartissez les gros catalogues en plusieurs fichiers plus petits.

L’importateur de base ne permet pas de définir le texte alternatif des images. Ajoutez-le ensuite dans la médiathèque, via l’API REST ou avec une extension d’import qui le prend en charge. Une variation ne contient qu’une seule image ; donnez donc au plus une URL à chaque ligne de variation.

Créer des produits en masse avec l’API REST de WooCommerce

L’API REST est la meilleure solution lorsque les imports se répètent, lorsque les données produit se trouvent déjà dans un autre système ou lorsque personne ne devrait avoir à manipuler un CSV. Son point de terminaison de traitement par lots pour les produits (POST /wp-json/wc/v3/products/batch) accepte des opérations de création, de mise à jour et de suppression dans une seule requête.

Par défaut, une requête par lots est limitée à 100 objets, créations, mises à jour et suppressions confondues. La même limite s’applique aux points de terminaison par lots des variations, des catégories, des attributs et des termes d’attribut. Un catalogue de 1 000 produits demande donc au moins dix requêtes, et davantage une fois les variations ajoutées.

  1. Créez une clé d’API REST avec une autorisation de lecture/écriture sous WooCommerce → Réglages → Avancé → API REST, ou laissez une application en demander une via l’écran d’autorisation de WooCommerce.
  2. Créez d’abord les catégories, les attributs globaux et les termes d’attribut, et notez leurs ID.
  3. Envoyez les produits simples et parents par lots de 100 maximum, avec le statut défini sur brouillon.
  4. Créez les variations de chaque produit variable via le point de terminaison par lots des variations de ce produit.
  5. Vérifiez le résultat de chaque élément dans la réponse et ne relancez que les éléments en échec.
  6. Contrôlez un échantillon de brouillons dans l’administration, puis publiez-les.

Choisir une extension ou une méthode d’import en masse de produits WooCommerce

Si l’importateur de base ne suffit pas, jugez une extension d’import sur sa façon de traiter vos données, et non sur la longueur de sa liste de fonctionnalités, et testez-la sur une copie de préproduction de la boutique avec un vrai fichier fournisseur avant de vous engager. Le tableau compare les quatre méthodes, suivies des questions à poser à toute extension.

  • Formats sources : CSV uniquement, ou également XML, fichiers de tableur et flux distants récupérés par URL.
  • Planification : possibilité de relancer un import selon un calendrier pour récupérer les nouveaux prix et stocks.
  • Mappage et transformations : renommage de colonnes, découpage de valeurs, conversion d’unités et application de règles de prix pendant l’import.
  • Produits variables : capacité à construire de façon fiable les parents, les variations et les attributs globaux.
  • Images : manière de les télécharger, détection des doublons et définition ou non du texte alternatif.
  • Gros fichiers : traitement en arrière-plan ou par segments pour que les longs imports n’expirent pas.
  • Règles de mise à jour : clé de correspondance utilisée (ID, SKU ou GTIN) et champs qui peuvent être écrasés.
Quatre façons d’importer en masse des produits WooCommerce
MéthodeIdéale pourPoints de vigilance
Importateur CSV de baseImports ponctuels et mises à jour en masse par l’équipe de la boutiqueLimites de téléversement et de durée du serveur ; pas de texte alternatif des images
Extension ou module d’importFlux fournisseurs récurrents, sources XML ou tableur, mises à jour planifiéesUne extension de plus à maintenir et à garder compatible
Requêtes par lots de l’API RESTPipelines automatisés et synchronisation depuis un autre systèmeTemps de développement ; 100 objets par requête par lots par défaut
Application qui crée les produits pour vousDonnées produit qui ne partent pas d’un tableur, comme des documents fournisseursVérifier quels types de produits et quels champs l’application renseigne réellement

Checklist avant l’import et correction des erreurs

La plupart des imports en échec viennent d’une étape de préparation ignorée. Parcourez la checklist avant chaque gros import et utilisez le tableau pour diagnostiquer les problèmes qui subsistent.

  1. Sauvegardez la base de données, ou lancez l’import sur une copie de préproduction de la boutique.
  2. Exportez un produit existant et copiez sa ligne d’en-têtes dans votre fichier.
  3. Créez les catégories, les attributs globaux et les termes d’attribut auxquels le fichier fait référence.
  4. Vérifiez que chaque SKU est unique et que la valeur Parent de chaque variation correspond à un SKU de parent existant.
  5. Utilisez des nombres simples dans les colonnes de prix, de stock, de poids et de dimensions.
  6. Ouvrez un échantillon d’URL d’images dans une fenêtre de navigation privée pour confirmer qu’elles se chargent sans connexion.
  7. Réglez Published sur -1 pour que les produits arrivent en brouillon.
  8. Enregistrez le fichier au format CSV UTF-8.
  9. Importez un fichier de test de dix lignes, examinez les résultats, puis importez le reste par lots.
Problèmes d’import WooCommerce : causes et solutions
ProblèmeCause probableSolution
Produits dupliqués au lieu d’être mis à jour« Mettre à jour les produits existants » n’est pas coché, ou les ID et les SKU ne correspondent pas à la boutiqueCochez l’option ; copiez les ID ou les SKU depuis un export récent
Lignes ignorées lors d’un import de mise à jourAucune correspondance sur l’ID ou le SKU (le GTIN n’est essayé que si les deux sont vides, depuis la version 11.2)Ajoutez à chaque ligne le SKU ou l’ID du produit existant
Variations importées comme des produits distinctsType non défini sur variation, ou colonne Parent vide ou mal orthographiéeUtilisez le Type « variation » et le SKU exact du parent
Images manquantesL’URL exige une connexion, redirige, ou l’hébergeur bloque le téléchargementHébergez les images sur des URL publiques et directes, puis relancez l’import
Fichier refusé au téléversementFichier plus volumineux que la taille maximale de téléversement du serveurDivisez le fichier, ou demandez à votre hébergeur de relever la limite
L’import s’arrête en cours de routeLimite de durée ou de mémoire du serveur atteinteImportez des fichiers plus petits

Tester avec des produits factices avant l’import réel

Un petit fichier factice permet de repérer les erreurs de mappage avant qu’elles ne touchent des centaines de produits. Construisez-le à partir de votre vrai modèle pour que les en-têtes soient identiques, et donnez à chaque produit de test un repère évident — un préfixe de SKU « TEST- » et une étiquette « test » — afin de pouvoir retrouver et supprimer les produits ensuite.

Couvrez chaque cas que contient votre vrai fichier, et pas seulement le plus simple. Une dizaine de lignes suffisent généralement :

  • Un produit simple avec toutes les colonnes que vous prévoyez d’utiliser renseignées.
  • Un produit variable avec deux attributs et au moins trois variations.
  • Un produit avec une galerie de plusieurs images, et un sans image.
  • Un produit dans une catégorie imbriquée qui n’existe pas encore.
  • Un produit avec des caractères accentués, des guillemets et une virgule dans la description.
  • Une ligne qui met à jour un produit existant via son SKU.
  • Vérifiez les résultats dans l’administration et sur la boutique — prix, listes déroulantes des variations, ordre des images et pages de catégories — puis supprimez les produits de test avant l’import réel.

Questions fréquentes

WooCommerce propose-t-il un import de produits en masse intégré ?
Oui. WooCommerce inclut un importeur CSV de produits sous Produits → Tous les produits → Importer, ainsi qu’un exporteur correspondant. Aucune extension n’est nécessaire pour les imports CSV standard.
Combien de produits puis-je importer à la fois dans WooCommerce ?
L’importeur n’impose pas de limite fixe, mais les délais d’expiration du serveur et les limites de mémoire de votre hébergement déterminent ce qui est réaliste. La solution habituelle consiste à découper les gros catalogues en lots de quelques centaines de lignes.
Puis-je mettre à jour des produits existants avec un import CSV ?
Oui. Activez « Mettre à jour les produits existants » dans l’importeur ; les lignes sont associées aux produits existants par ID ou par SKU, et seules les colonnes que vous incluez sont mises à jour.
Puis-je importer des produits dans WooCommerce directement depuis des PDF ?
Pas avec l’importeur natif, qui attend un CSV. Vous devez d’abord extraire les données produit des PDF — manuellement ou avec un outil d’extraction — puis les importer via CSV ou créer les produits via l’API REST.
Quelles colonnes un CSV de produits WooCommerce exige-t-il ?
Seule la colonne Name est requise par l’importateur de base. Pour un catalogue exploitable, incluez au moins Type, SKU, Published, Regular price, Categories, Images et Description. Exportez un produit de votre boutique pour obtenir les noms d’en-têtes exacts attendus par votre version.
Comment importer des produits variables avec un CSV ?
Ajoutez une ligne parent avec le Type « variable » qui liste toutes les valeurs d’attribut, puis une ligne par variation avec le Type « variation », le SKU du parent dans la colonne Parent, une seule valeur d’attribut, ainsi que son propre SKU et son propre prix.
Puis-je importer les images des produits et leur texte alternatif avec l’importateur CSV ?
Les images, oui : indiquez des URL d’images publiques dans la colonne Images, séparées par des virgules, l’image mise en avant en premier. Le texte alternatif, non — l’importateur de base ne peut pas le définir ; ajoutez-le ensuite ou utilisez l’API REST ou une extension.
Combien de produits puis-je créer par requête de l’API REST de WooCommerce ?
Le point de terminaison par lots accepte par défaut jusqu’à 100 objets par requête, créations, mises à jour et suppressions confondues. Les catalogues plus volumineux sont envoyés sous la forme d’une série de requêtes par lots.

Autres guides

Transformez les PDF fournisseurs en données produit vérifiées

Doc2Shelf extrait les données produit des documents fournisseurs et rédige des fiches produit et des documents de conformité que vous pouvez vérifier.

Créer votre compte gratuit