← Tous les guides

Import de produits WooCommerce qui ne marche pas : les solutions

L'équipe Importly · Publié le 2026-08-22 · Mis à jour le 2026-08-23

WooCommerce fournit un importeur CSV correct, mais il échoue de façons qui donnent l'impression que l'extension est cassée alors que le fautif est le fichier. L'import se bloque à 30 %, ou se termine avec la moitié des produits manquants, ou crée chaque variation comme un produit autonome.

Voici ce qui se passe réellement.

L'import se bloque ou expire

Les gros catalogues sont le cas classique. L'importeur parcourt le fichier par lots via des requêtes AJAX successives : si les limites PHP de votre serveur coupent un lot, toute l'exécution s'arrête — en général sans la moindre erreur, juste une barre de progression qui ne bouge plus.

La correction, dans l'ordre à essayer :

  1. Découpez le fichier. Deux mille lignes à la fois est une taille sûre en hébergement mutualisé.
  2. Augmentez max_execution_time et memory_limit en PHP. Beaucoup d'hébergeurs exposent les deux depuis le panneau de contrôle.
  3. Si vous pouvez modifier le functions.php du thème, réduisez la taille des lots :
add_filter('woocommerce_product_import_batch_size', fn () => 10);

Commencez par découper le fichier. Ça règle le problème la plupart du temps et ça ne coûte rien.

« Un produit avec ce SKU existe déjà »

Les SKU sont uniques dans une boutique WooCommerce. L'importeur refuse toute ligne dont le SKU est déjà pris et la signale en échec.

Deux situations différentes se cachent derrière le même message :

  • Vous vouliez mettre à jour. La ligne est alors correcte : il faut simplement lancer l'importeur en mode mise à jour. Sur l'écran d'envoi, cochez « Mettre à jour les produits existants ». La correspondance se fait sur ID d'abord, puis sur SKU.
  • Votre fichier contient réellement des doublons. Très fréquent quand une liste fournisseur répète une référence d'un onglet à l'autre. Dédoublonnez avant d'importer.

Pour les repérer dans Excel : sélectionnez la colonne SKU, Accueil → Mise en forme conditionnelle → Règles de mise en surbrillance → Valeurs en double.

Tout arrive dans une seule colonne

Votre CSV est délimité par des points-virgules. L'Excel français écrit ; parce que la virgule sert de séparateur décimal.

La correction. WooCommerce sait gérer ça — pas besoin de reformater. Sur l'écran d'import, dépliez les « Options avancées » et renseignez ; dans le champ délimiteur CSV. Sinon, enregistrez le fichier en CSV UTF-8 délimité par des virgules.

Accents cassés

Café arrive en Café quand le fichier est en Windows-1252 plutôt qu'en UTF-8. WooCommerce n'offre aucune option d'encodage : le fichier doit être correct.

La correction. Dans Excel, Enregistrer sous → CSV UTF-8 (délimité par des virgules), l'entrée de format dédiée.

Les variations deviennent des produits séparés

Les produits variables exigent deux types de lignes, reliées entre elles :

  • Le parent : Type à variable, avec Attribute 1 name (par exemple Taille) et Attribute 1 value(s) listant toutes les options séparées par des virgules (S, M, L).
  • Une ligne par variation : Type à variation, Parent renseigné avec le SKU du parent, et Attribute 1 value(s) contenant la valeur de cette seule variation (M).

Une colonne Parent erronée — ou vide — et chaque variation devient un produit autonome. Veillez aussi à ce que la ligne parent apparaisse avant ses variations dans le fichier.

Catégories non créées, ou créées à plat

La colonne Categories utilise > pour la hiérarchie et , pour séparer plusieurs catégories :

Mobilier > Chaises, Soldes

Le produit atterrit dans Chaises (sous Mobilier) et dans Soldes. Utiliser / ou | à la place crée simplement une catégorie plate au nom bizarre.

Prix ignorés

Regular price et Sale price doivent être des nombres bruts, avec un point comme séparateur décimal et sans symbole monétaire. 29,90 € n'est pas lu comme un prix et le champ reste vide.

La correction. Mettez les colonnes de prix au format Texte et écrivez 29.90. Changer la façon dont Excel affiche le nombre ne suffit pas — vérifiez ce qu'il y a réellement dans le CSV enregistré.

Images non rattachées

La colonne Images accepte des URL publiques complètes, séparées par des virgules, la première devenant l'image mise en avant. WooCommerce télécharge et importe chacune pendant l'import, ce qui explique aussi la lenteur des fichiers riches en images. Les chemins locaux et les URL derrière une authentification sont ignorés.

Check-list avant import

  • Fichier sous ~2 000 lignes, ou limites PHP relevées
  • SKU uniques, ou mode mise à jour activé volontairement
  • Délimiteur renseigné dans les options avancées, ou fichier en virgules
  • Enregistré en CSV UTF-8
  • Les lignes de variation portent un SKU Parent et suivent leur parent
  • Catégories avec > et ,
  • Prix en nombres bruts avec un point
  • URLs d'images publiques et absolues

Quand c'est un fichier fournisseur récurrent

Mettre ça en place une fois pour une migration de catalogue, très bien.

Le reconstruire chaque semaine depuis le tarif d'un fournisseur, c'est là que ça cesse d'être raisonnable. Importly mappe les colonnes du fournisseur vers les noms WooCommerce (Name, SKU, Regular price, Categories, Weight (kg), Stock, Images), convertit les prix en décimales simples, normalise poids, quantités en stock et URLs d'images, corrige l'encodage et supprime les lignes vides. Enregistrez le mapping une fois comme profil et le fichier de la semaine suivante passe par des règles identiques. Les lignes parent et variation restent à votre main : Importly nettoie les noms de colonnes et les valeurs, il ne remodèle pas la structure des lignes.

Nettoyer votre premier export gratuitement →

Configurer le profil WooCommerce →

Arrêtez de reformater vos exports à la main.

Essayer Importly gratuitement