Aller au contenu principal
Retour au blog
Gestion catalogue

Importer un CSV Shopify sans casser son catalogue

Un CSV mal formaté peut effacer 5 000 produits en 3 minutes. Voici la structure exacte d'un CSV Shopify, les colonnes à ne jamais modifier en masse, et le rollback de sécurité.

#shopify#csv#import#catalogue
Importer un CSV Shopify sans casser son catalogue

Importer un CSV Shopify sans casser son catalogue

Le CSV Shopify est à la fois la meilleure et la pire façon de gérer un catalogue. Meilleure : c'est le format natif, officiel, qui permet d'éditer 10 000 produits en une passe. Pire : un CSV mal structuré peut dupliquer, écraser ou supprimer votre catalogue en 3 minutes sans demande de confirmation.

Voici la structure exacte, les 6 colonnes à ne jamais modifier en masse, et la procédure de rollback pour récupérer vite en cas de souci.

La structure d'un CSV Shopify natif

Exportez un produit depuis votre Shopify admin (Products → Export) pour voir la structure officielle. Les colonnes clés :

ColonneRôleModifiable en bulk ?
HandleIdentifiant unique (= slug d'URL)⚠️ Jamais
TitleNom du produit✅ Oui
Body (HTML)Description✅ Oui
VendorMarque/fournisseur✅ Oui
TypeType de produit✅ Oui
TagsTags (séparés par virgule)✅ Oui avec prudence
PublishedPublié oui/non (TRUE/FALSE)✅ Oui
Option1 Name, Option1 ValueNom + valeur de la première variante⚠️ Jamais
Option2 Name, Option2 ValueDeuxième variante⚠️ Jamais
Option3 Name, Option3 ValueTroisième variante⚠️ Jamais
Variant SKUCode SKU de la variante⚠️ Jamais
Variant PricePrix de la variante✅ Oui
Variant Compare At PricePrix barré (ancien prix)✅ Oui
Variant Inventory QtyQuantité en stock✅ Oui
Image SrcURL image✅ Oui
Image Alt TextAlt text image✅ Oui
SEO TitleTitle SEO✅ Oui
SEO DescriptionMeta description✅ Oui
Statusactive/archived/draft✅ Oui avec prudence

Chaque ligne = un SKU, pas un produit. Un produit avec 3 variantes = 3 lignes qui partagent le même Handle.

Les 6 colonnes qu'il ne faut jamais modifier en masse

Ces colonnes sont les clés d'intégrité de votre catalogue. Les modifier à la légère casse l'ensemble :

Handle

Le handle génère l'URL publique du produit. Changer un handle :

  • Change l'URL du produit (/products/chaussure-derby/products/chaussure-derby-v2)
  • Casse tous les backlinks externes
  • Casse les liens internes (mails transactionnels, menus, ads Google Shopping)
  • Perd le ranking SEO accumulé

Règle : ne modifiez jamais un Handle existant. Seulement sur la création de nouveaux produits.

Variant SKU

Le SKU est la clé d'identification des variantes dans votre stock, votre WMS, et vos outils analytiques. Le changer :

  • Dérègle votre inventaire si vous utilisez un système externe (ERP, WMS)
  • Casse les intégrations (fulfillment providers, dropshipping suppliers)
  • Peut créer des variantes dupliquées si Shopify ne reconnaît plus l'original

Règle : n'éditez les SKU que produit par produit, jamais en bulk CSV.

Option1 Name, Option2 Name, Option3 Name

Les noms d'options définissent la structure des variantes. Les changer après création :

  • Invalide les variantes existantes (le produit avec Option1 Name = Taille devient Option1 Name = Size, ce qui crée de nouvelles options)
  • Crée des doublons silencieux
  • Peut faire exploser votre nombre de variantes (de 20 à 200 en quelques secondes)

Règle : les noms d'options se fixent à la création du produit, période. Si vous avez besoin de les changer, faites-le via l'interface admin produit par produit.

Prépaarer le CSV : les 5 checks avant upload

Avant tout import, vérifiez :

Check 1 — Encodage UTF-8

Ouvrez le CSV dans un éditeur texte (VS Code, Notepad++). Vérifiez que les accents et caractères spéciaux s'affichent correctement. Si vous voyez chaîne au lieu de chaîne, le CSV est en latin1 ou windows-1252. À re-convertir en UTF-8.

Excel par défaut sauvegarde en latin1 — évitez Excel pour éditer un CSV destiné à Shopify. Utilisez LibreOffice Calc, Google Sheets ou VS Code.

Check 2 — Séparateur virgule

Le CSV Shopify utilise la virgule comme séparateur. Dans les locales françaises, Excel utilise le point-virgule par défaut. Si vous voyez vos données dans une seule colonne à l'ouverture, c'est que le séparateur est mauvais.

Check 3 — Échappement des virgules dans les champs

Si une description contient une virgule (très fréquent), le champ doit être entouré de guillemets :

Handle,Title,Body (HTML)
derby-cuir,"Chaussure Derby en cuir","Élégante, confortable, fabriquée en France"

Sans guillemets, la virgule dans "Élégante, confortable" serait interprétée comme nouveau champ et décalerait tout.

Check 4 — Lignes dupliquées

Un handle qui apparaît 2 fois dans le CSV = Shopify va traiter la deuxième ligne comme une variante, pas un nouveau produit. Peut créer des surprises.

Sur Google Sheets ou Excel, utilisez Data → Remove duplicates pour nettoyer.

Check 5 — Caractères spéciaux dans les URLs d'images

Image Src doit être une URL publique, accessible sans auth. Testez 3-5 URLs aléatoires avec curl -I https://cdn.example.com/image.jpg — retour 200 obligatoire. Si vous avez des URLs avec espaces ou caractères spéciaux, URL-encodez-les (%20 pour espace).

Gérer les variantes sans dupliquer

Un produit avec 3 variantes se décrit sur 3 lignes CSV :

Handle,Title,Option1 Name,Option1 Value,Variant SKU,Variant Price
derby-cuir,Derby Cuir,Taille,42,DERBY-BLK-42,149.00
derby-cuir,,,,,
derby-cuir,,,,,

Ligne 1 : produit complet avec Title et Option1 Name Lignes 2-3 : SEULEMENT le Handle et les valeurs de variante (Option1 Value, SKU, Price, etc.). Ne pas répéter Title, Body, Vendor, etc. — sinon Shopify les considère comme modifications et peut dupliquer.

C'est la syntaxe CSV Shopify native. Elle surprend au début mais elle est rigoureuse.

Images : Drive vs CDN vs Shopify Files

Trois options pour les URLs d'images :

Option 1 — Google Drive

❌ Ne fonctionne pas pour Shopify. Drive renvoie une page HTML, pas une image directe. Shopify échoue silencieusement.

Option 2 — CDN public (Cloudflare Images, Amazon S3 + CloudFront, Bunny CDN)

✅ Recommandé pour de gros imports. Les images sont hébergées hors Shopify, puis Shopify les télécharge au moment de l'import.

Coût typique : 1-5 € par mois pour 1000 images dans un CDN.

Option 3 — Shopify Files

✅ Upload manuel des images dans Content → Files Shopify, puis utilisation des URLs Shopify dans le CSV. Convient aux petits catalogues (<500 images).

Limite : l'upload dans Shopify Files est manuel, pas scriptable pour 10 000 images.

Recommandation : CDN public pour l'import initial, puis Shopify héberge les images automatiquement après import.

Rollback avant publication

Shopify ne propose pas de rollback natif sur un import CSV qui a mal tourné. Mais vous pouvez préparer un rollback en amont :

Étape 1 — Export avant import

Juste avant l'import, exportez votre catalogue complet (Products → Export → CSV file for Excel, Numbers, or other spreadsheet programs). Stockez cet export avec la date dans son nom (catalog-2026-04-23-avant-import.csv).

Étape 2 — Import avec publication en mode draft

Modifiez votre CSV pour que Published = FALSE ou Status = draft sur tous les produits importés. Les produits sont créés mais invisibles sur le store.

Étape 3 — Vérification manuelle

Sur l'admin, parcourez 20 produits aléatoires importés. Vérifiez :

  • Images chargées correctement
  • Variantes ok
  • Prix bon
  • Description propre

Étape 4 — Publication par batch

Si tout est correct, publiez. Si un problème est détecté, vous n'avez qu'à supprimer les produits en draft, réimporter le CSV de sauvegarde, et repartir.

En cas de gros dégât

Si l'import a écrasé votre catalogue actif sans passer par draft :

  1. Importez immédiatement votre CSV de sauvegarde — il va réécraser l'état actuel
  2. Les URLs et reviews sont préservés (Shopify les identifie par Handle)
  3. Comptez 1-2h pour que Google re-crawle et re-ranke

Alternatives au CSV natif : quand passer à un outil spécialisé

Le CSV natif est puissant mais lourd. Pour des opérations régulières sur >1000 produits :

  • Matrixify (anciennement Excelify) : le plus complet, gère les relations complexes, ~20 $/mois
  • Shopify Flow : automatisation interne Shopify, idéal pour triggers (stock bas, tag, etc.)
  • Ecomptimize : optimise descriptions, metas, SEO sur tout le catalogue ; le fichier source reste téléchargeable 30 jours pour réimporter en cas de souci

Pour la réécriture de descriptions en masse avec contrôle qualité, l'outil dédié bat le CSV à plate couture. Voir Ecomptimize pour Shopify.

FAQ

Peut-on importer un CSV partiellement (juste les prix par exemple) ?

Oui. Vous exportez tout, gardez seulement les colonnes Handle + Variant SKU + les colonnes à modifier, supprimez les autres colonnes du CSV. Shopify matchera par SKU et ne touchera que les colonnes présentes.

Combien de lignes un CSV peut-il avoir ?

Techniquement illimité, pratiquement Shopify recommande <50 000 lignes par fichier. Au-delà, sharder en plusieurs fichiers avec un Handle unique par produit.

L'import Shopify écrase-t-il les images existantes ?

Si votre CSV contient une colonne Image Src avec une URL différente de celle existante, oui — Shopify télécharge la nouvelle et remplace. Si vous ne voulez pas modifier les images, supprimez les colonnes Image Src et Image Alt Text du CSV.

Comment faire un import en production sans downtime ?

En passant par Published = FALSE/Status = draft et en publiant par batch une fois validé. Le catalogue actif n'est pas touché pendant l'import. Aucun downtime visible côté client.

Que se passe-t-il si un Handle existe déjà dans Shopify ?

Shopify met à jour le produit existant (match par Handle). Les colonnes du CSV écrasent les valeurs existantes. Les colonnes absentes du CSV sont préservées.

Puis-je importer des reviews via CSV ?

Non, pas via le CSV produit. Les reviews se gèrent via Shopify Product Reviews (export/import dédié dans l'app) ou via votre provider reviews (Yotpo, Judge.me).


Pour piloter vos imports Shopify avec aperçu avant/après et revue qualité IA, voyez Ecomptimize pour Shopify.

Tu as aimé cet article ?