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é.

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 :
| Colonne | Rôle | Modifiable en bulk ? |
|---|---|---|
Handle | Identifiant unique (= slug d'URL) | ⚠️ Jamais |
Title | Nom du produit | ✅ Oui |
Body (HTML) | Description | ✅ Oui |
Vendor | Marque/fournisseur | ✅ Oui |
Type | Type de produit | ✅ Oui |
Tags | Tags (séparés par virgule) | ✅ Oui avec prudence |
Published | Publié oui/non (TRUE/FALSE) | ✅ Oui |
Option1 Name, Option1 Value | Nom + valeur de la première variante | ⚠️ Jamais |
Option2 Name, Option2 Value | Deuxième variante | ⚠️ Jamais |
Option3 Name, Option3 Value | Troisième variante | ⚠️ Jamais |
Variant SKU | Code SKU de la variante | ⚠️ Jamais |
Variant Price | Prix de la variante | ✅ Oui |
Variant Compare At Price | Prix barré (ancien prix) | ✅ Oui |
Variant Inventory Qty | Quantité en stock | ✅ Oui |
Image Src | URL image | ✅ Oui |
Image Alt Text | Alt text image | ✅ Oui |
SEO Title | Title SEO | ✅ Oui |
SEO Description | Meta description | ✅ Oui |
Status | active/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 = TailledevientOption1 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 :
- Importez immédiatement votre CSV de sauvegarde — il va réécraser l'état actuel
- Les URLs et reviews sont préservés (Shopify les identifie par Handle)
- 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 ?