Des guides pratiques pour vos données produit WooCommerce.
Chaque méthode est testée sur de vraies boutiques WooCommerce avant d’être publiée.
Chaque méthode est testée sur de vraies boutiques WooCommerce avant d’être publiée.
Trois fichiers CSV d'exemple pour l'importeur de produits WooCommerce : produits simples, produit variable et produits avec images. Chacun a été importé dans WooCommerce 11.2 et expliqué colonne par colonne.

Avant d'importer un catalogue dans WooCommerce, une question revient toujours : à quoi doit ressembler le fichier ? Quelles colonnes, dans quel ordre, écrites comment ? Le plus simple est de partir d'un fichier qui fonctionne déjà, puis de remplacer ses valeurs par les vôtres.
En voici trois. Chacun est passé par l'importeur de WooCommerce 11.2.1, sous Produits → Importer, sans rien régler à l'étape « Mappage colonne ». Toutes les colonnes ont été reconnues et aucune ligne n'a été ignorée. Téléchargez celui qui ressemble à votre catalogue. La suite de la page explique le rôle de chaque colonne.
Produits simples
Trois produits sans image : un avec une quantité en stock, un en promotion, un en rupture.
Produit variable
Un produit variable et ses trois variations, sans image.
Produits avec images
Un produit simple avec une galerie, un produit variable avec une image par couleur.
Les trois fichiers utilisent des UGS différentes : vous pouvez les importer l'un après l'autre dans la même boutique. La nôtre contenait ensuite 6 produits et 5 variations. C'est l'export CSV WooCommerce de ScrapeWoo qui les a écrits, à partir de trois petits catalogues constitués pour cette page. Les noms de produits sont en français, accents compris. Les images du troisième fichier sont des illustrations de ScrapeWoo, hébergées sur scrapewoo.com pour que l'importeur puisse les télécharger.
Pour le premier fichier, le dernier écran affichait « Importation terminée ! 3 produits ont été importés. »
Comment ces fichiers ont été vérifiés
WooCommerce 11.2.1 sous WordPress 7.1.3, importeur intégré, sans extension, administration en français. Chaque fichier est passé par l'écran d'import d'une boutique réglée en kilogrammes, en centimètres et avec la virgule décimale. Nous avons ensuite relu par script ce que la boutique contenait pour chaque produit : la colonne « Enregistré » des tableaux vient de cette lecture.
Les en-têtes de ces fichiers sont en anglais : Name, Regular price, SKU. WooCommerce les a reconnus dans notre boutique en français. L'étape « Mappage colonne » affichait en face de chacun le champ dans la langue de l'administration : « Nom », « Tarif régulier », « UGS ». Les tableaux qui suivent donnent les deux noms, celui du fichier et celui de l'écran.
Les trois fichiers commencent par les mêmes 22 colonnes. Les valeurs citées ici sont celles du premier fichier.
Ces neuf colonnes disent de quel produit il s'agit et comment la boutique le montre : son type, son nom, sa référence et ses deux descriptions.
| Colonne du fichier | Champ à l'écran | Dans l'exemple | Enregistré par WooCommerce |
|---|---|---|---|
ID |
ID | vide | Un nouveau produit a été créé. Une cellule remplie désigne un produit existant à mettre à jour, d'après la documentation de l'importeur WooCommerce (en anglais). |
Type |
Type | simple | Un produit simple. Le deuxième fichier utilise variable et variation. |
SKU |
UGS | MUG-EMAILLE | L'UGS du produit. Un import ultérieur s'en sert pour retrouver ses lignes. |
Name |
Nom | Mug émaillé de camping | Le nom du produit, avec ses accents. C'est la seule colonne que la documentation marque comme obligatoire. |
Published |
Publié | 1 | Un produit publié. La documentation indique 0 pour privé et -1 pour brouillon. |
Is featured? |
Mis en avant ? | 0 | Un produit qui n'est pas mis en avant. |
Visibility in catalog |
Visibilité dans le catalogue | visible | Une visibilité réglée sur visible. La documentation cite trois autres valeurs : catalog, search et hidden. |
Short description |
Description courte | Mug de 350 ml en acier émaillé. | La description courte. |
Description |
Description | Deux paragraphes HTML | La description, avec ses balises <p>. |
Quatre colonnes suffisent pour le tarif, la promotion et le stock.
| Colonne du fichier | Champ à l'écran | Dans l'exemple | Enregistré par WooCommerce |
|---|---|---|---|
Regular price |
Tarif régulier | 14.00 | Un tarif régulier de 14,00 dans la devise de la boutique. Le fichier n'indique aucune devise : le montant prend celle de votre boutique. |
Sale price |
Tarif promo | 9.00 sur le torchon, dont le tarif régulier est 12.00 | Le torchon en promotion à 9,00, avec 12,00 conservé comme tarif régulier. |
In stock? |
En stock ? | 1 sur le mug et le torchon, 0 sur la bougie | Les deux premiers en stock, la bougie en rupture. |
Stock |
Stock | 40 sur le mug, vide sur les deux autres | La gestion des stocks activée pour le mug, avec une quantité de 40. Les deux autres n'ont pas de gestion des stocks et ne gardent que l'état donné par In stock?. |
Viennent ensuite le poids et les dimensions, les catégories et les étiquettes, les images, puis deux colonnes qui rattachent une ligne à son parent et fixent son ordre.
| Colonne du fichier | Champ à l'écran | Dans l'exemple | Enregistré par WooCommerce |
|---|---|---|---|
Weight |
Poids (kg) | 0.18 | 0,18 dans l'unité de poids de la boutique. Le fichier ne porte pas d'unité. L'écran nomme celle qui s'applique : « Poids (kg) » dans notre boutique, « Poids (livres) » dans une boutique réglée en livres. |
Length, Width, Height |
Longueur (cm), Largeur (cm), Hauteur (cm) | 12, 9, 8 | Les trois mêmes nombres, dans l'unité de dimension de la boutique. |
Categories |
Catégories | Cuisine > Mugs sur le mug, Maison, Cadeaux sur la bougie |
Le signe > construit une hiérarchie : la catégorie Mugs a été créée sous Cuisine. La virgule sépare deux catégories : la bougie a été rangée dans Maison et dans Cadeaux. |
Tags |
Étiquettes (séparées par des virgules) | camping, émail | Deux étiquettes. |
Images |
Images | vide | Aucune image. Le troisième fichier remplit cette colonne. |
Parent |
Parent | vide | Rien. Seules les lignes de variation l'utilisent. |
Position |
Position | 0 | Un ordre du menu de 0. Sur les lignes de variation, la colonne numérote les variations. |
Chaque attribut, la taille ou la couleur par exemple, occupe quatre colonnes : son nom, ses valeurs, s'il s'affiche sur la fiche produit et s'il est global.
| Colonne du fichier | Champ à l'écran | Dans l'exemple | Enregistré par WooCommerce |
|---|---|---|---|
Attribute 1 name |
Nom de l’attribut | Matière | Un attribut Matière sur le produit. |
Attribute 1 value(s) |
Valeur(s) de l’attribut | Acier émaillé | Sa seule valeur. Plusieurs valeurs se séparent par des virgules, comme S, M, L dans le deuxième fichier. |
Attribute 1 visible |
Visibilité de l’attribut | 1 | L'attribut est marqué comme visible. |
Attribute 1 global |
Est-ce un attribut global ? | 0 | L'attribut appartient à ce seul produit. Rien n'a été ajouté dans Produits → Attributs. |
Un fichier compte autant de groupes de quatre colonnes qu'en demande le produit qui a le plus d'attributs. Le deuxième fichier en a deux, d'où ses 30 colonnes.
Le deuxième fichier décrit un t-shirt vendu en trois tailles. Il tient en quatre lignes : une pour le produit et une par taille. Voici les colonnes qui les relient.
| Type | SKU | Parent | Position | Attribute 1 value(s) | Stock |
|---|---|---|---|---|---|
| variable | TSHIRT-BIO | vide | 0 | S, M, L | vide |
| variation | TSHIRT-BIO-S | TSHIRT-BIO | 1 | S | 12 |
| variation | TSHIRT-BIO-M | TSHIRT-BIO | 2 | M | 8 |
| variation | TSHIRT-BIO-L | TSHIRT-BIO | 3 | L | vide |
Chaque ligne de variation donne l'UGS de son produit dans Parent, et Position numérote les variations de 1 à 3. L'attribut Taille énumère ses trois valeurs sur la première ligne et n'en garde qu'une sur chaque variation. Le second attribut, Tissu, décrit le produit et ne figure que sur la première ligne.
Après l'import, la boutique contenait un produit variable et trois variations. Taille était marqué comme utilisé pour les variations, Tissu ne l'était pas. Chaque variation avait son tarif et son stock : 25,00 pour S et L, 19,00 en promotion pour M, 12 et 8 en stock, et L en rupture. La cellule Name des lignes de variation contient le nom du produit. La boutique a enregistré les variations sous les noms « T-shirt en coton bio - S », « - M » et « - L ».
Les règles derrière ces lignes, et ce que produit chaque erreur, font l'objet d'un guide à part : importer des produits variables WooCommerce en CSV.
La cellule Images contient des adresses web séparées par des virgules. WooCommerce télécharge chaque image dans la médiathèque pendant l'import : chaque adresse doit donc répondre à ce moment-là.
| Ligne | Cellule Images | Enregistré par WooCommerce |
|---|---|---|
| Bol en grès, produit simple | Trois adresses | La première est devenue l'image principale, les deux autres sont allées dans la galerie. |
| Tablier en coton ciré, produit variable | Une adresse | L'image principale du produit. |
| Chacune de ses deux variations, Olive et Rouille | Une adresse | L'image de cette variation. |
Six images ont été ajoutées à la médiathèque, toutes avec un texte alternatif vide. La documentation de l'importeur précise qu'il ne peut pas ajouter de texte alternatif : prévoyez de le rédiger ensuite.
Une adresse qui renvoie une erreur fait échouer sa ligne. Dans un essai de deux lignes, le produit dont l'image renvoyait une erreur 404 n'a pas été créé. Le journal d'importation indiquait « Erreur d’obtention de l’image distante », suivi de l'adresse et de « Erreur : Not Found ». L'autre produit a été importé.
Nous avons importé un fichier réduit à une colonne, Name, et à une ligne. L'écran affichait « Importation terminée ! 1 produit a été importé. » La boutique contenait un produit simple publié, sans tarif ni UGS, en stock, rangé dans la catégorie par défaut. Une colonne dont vous n'avez pas besoin peut donc être retirée. Dans cet essai, chaque champ absent du fichier a pris sa valeur par défaut.
Dans l'autre sens, l'étape « Mappage colonne » propose des champs que nos fichiers n'utilisent pas. Pour la vente : GTIN, UPC, EAN ou ISBN, dates de début et de fin de promo, état et classe de TVA, vente individuelle, produits suggérés et ventes croisées. Pour le stock et la livraison : commandes de produits en rupture, montant de stock faible, classe d'expédition. Pour le reste : groupes de produits, URL externe et libellé du bouton, téléchargements, attribut par défaut, avis clients, note de commande et marques. Les valeurs acceptées par la plupart d'entre eux figurent dans le schéma d'import CSV des produits (en anglais). Sans ces colonnes, nos produits ont été enregistrés comme taxables, sans commande autorisée en rupture de stock et avec les avis autorisés.
Nos fichiers séparent les cellules par des virgules, écrivent les décimales avec un point et sont encodés en UTF-8. Un tableur peut modifier ces trois choix au moment d'enregistrer. Pour Excel, la documentation de Microsoft explique que le séparateur d'un CSV enregistré suit les paramètres régionaux de Windows. Quand la virgule y sert de séparateur décimal, Excel sépare les cellules par des points-virgules. Le tableau montre ce que chaque changement a produit. Aucun n'a déclenché d'avertissement.
| Changement dans le fichier | Ce que la boutique a enregistré |
|---|---|
| Des points-virgules entre les cellules, champ « Séparateur CSV » laissé vide | L'étape « Mappage colonne » n'affichait qu'une colonne au lieu de 26. L'import s'est tout de même terminé sur « Importation terminée ! 3 produits ont été importés. » La boutique contenait trois produits publiés nommés « Produit », sans tarif ni UGS. |
Des points-virgules entre les cellules, « Séparateur CSV » réglé sur ; dans « Afficher les options avancées » |
26 colonnes associées, et les trois mêmes produits qu'avec le fichier d'origine. |
Un tarif écrit 14,50, dans une boutique dont le séparateur décimal est le point |
Un tarif de 1450. |
Un poids écrit 0,18, dans la même boutique |
Un poids de 18. |
| Les deux mêmes cellules, dans une boutique dont le séparateur décimal est la virgule et le séparateur des milliers l'espace | Un tarif de 14,50 et un poids de 0,18, comme attendu. Les nombres écrits avec un point ont été lus correctement dans les deux boutiques. |
| Le premier fichier enregistré en Windows-1252, encodage laissé sur « Détection automatique » | « Mug émaillé de camping » enregistré sous la forme « Mug ?maill? de camping », et l'attribut Matière sous la forme « Mati?re ». Avec Windows-1252 choisi dans « Encodage des caractères du fichier », les noms étaient corrects. |
Deux vérifications suffisent pour les premières lignes de ce tableau. À l'étape « Mappage colonne », comptez les lignes : s'il n'y en a qu'une, le séparateur n'a pas été compris. Dans le fichier, gardez le point comme signe décimal : c'est la forme qui a été lue correctement quel que soit le réglage de la boutique. Ce réglage ne dépend pas de la langue de l'administration. Il se trouve dans WooCommerce → Réglages → Général, sous « Options de devise », au champ « Séparateur décimal ».
Un second import du fichier du produit variable n'a rien créé. L'écran affichait « Importation terminée ! 4 produits ont été ignorés. » et le journal d'importation donnait la même raison pour chaque ligne : « Un produit avec cette UGS existe déjà. » Avec la case « Mettre à jour les produits existants » cochée à la première étape, le même fichier s'est terminé sur « Importation terminée ! 4 produits ont été mis à jour. » La boutique contenait les mêmes produits qu'avant.
Pour retirer les exemples, sélectionnez-les dans la liste des produits, appliquez « Déplacer dans la corbeille », puis videz la corbeille. Dans notre essai, cette opération a supprimé les 6 produits et leurs 5 variations. Ce que l'import avait créé autour d'eux est resté : 9 catégories, 5 étiquettes et les 6 images téléchargées. Supprimez-les dans Produits → Catégories, Produits → Étiquettes et dans la médiathèque pour effacer ce que les exemples ont créé.
WooCommerce fournit un exemple plus fourni, sample_products.csv, dans le dossier sample-data de l'extension. Sa documentation explique où le trouver et comment l'importer (en anglais). La copie livrée avec WooCommerce 11.2.1 compte 51 colonnes et 25 lignes. Importée de la même façon dans une boutique en anglais, elle a donné 18 produits et 7 variations. On y trouve des produits simples, variables, groupés et externes avec leurs images, et deux attributs globaux, Color et Size.
Prenez ce fichier pour remplir un thème ou une boutique de démonstration. Les trois fichiers de cette page ont un autre usage. Ils comptent peu de lignes et traitent un seul sujet chacun : produits simples, produit variable, images. Leurs colonnes se lisent de gauche à droite avant d'écrire les vôtres.
Un exemple écrit pour un autre outil d'import peut porter d'autres en-têtes. Nous avons soumis à l'écran intégré cinq en-têtes tirés de la référence des colonnes de l'extension Product CSV Import Suite. Il a associé post_title, post_content et sku aux champs Name, Description et SKU. Il a laissé tax:product_type et post_status sur « Do not import », l'équivalent de « Ne pas importer » dans une boutique en français. L'étape de mappage le montre avant que quoi que ce soit ne soit créé.
Ces fichiers sont ce que produit ScrapeWoo. Indiquez-lui l'adresse d'une boutique WooCommerce prise en charge, choisissez les catégories et les produits, puis sélectionnez « CSV WooCommerce » à l'étape d'export. Il écrit ce fichier pour toute la sélection : les mêmes 22 colonnes, quatre de plus par attribut, une ligne par produit et une par variation.
Le fichier sort sous la forme qui est passée par l'importeur ci-dessus sans aucun réglage. Les cellules sont séparées par des virgules, l'encodage est UTF-8 et les tarifs s'écrivent avec un point. Les chemins de catégories utilisent >, chaque produit variable est suivi de ses variations, et les adresses d'images suivent l'ordre de la galerie. Le séparateur, les décimales et l'encodage décrits plus haut sont déjà corrects au moment du téléchargement.
ScrapeWoo vous remet le fichier, et vous lancez l'import dans votre boutique, avec votre devise et vos unités. Si vous n'avez pas encore arrêté le format, le guide pour choisir un format d'export de produits WooCommerce compare ce fichier au CSV Shopify, au CSV standard et à l'export JSON.