Migration Loja Integrada vers Shopify : checklist sans interruption
Migrer de Loja Integrada vers Shopify : exporter le XLSX, convertir le CSV, mapper les redirections 301 et pointer le DNS sans couper la boutique.
Dans cet article
- L'essentiel (BLUF)
- 1. Audit à la source : ce que vous avez vraiment
- 2. Catalogue : le XLSX de LI devient le CSV de Shopify
- 3. URL : la 301 qui compte est celle de Shopify
- 4. Destination : paiement, livraison et ERP avant le domaine
- 5. DNS : LI reste en ligne jusqu'au basculement
- 6. Les 24 heures après le pointage
- 7. Quand cette migration ne vaut pas encore le coup
- Questions fréquentes
- Conclusion
L'essentiel (BLUF)
Migrer de Loja Integrada vers Shopify, ce n'est pas « exporter et croiser les doigts ». Loja Integrada (LI) livre la base sous forme de tableur XLSX via Visão de Negócios > Relatórios (Vue d'ensemble > Rapports). Le rapport Exportar produtos (Exporter les produits) existe dans le plan gratuit. La Lista de URLs de produtos (Liste des URL de produits), celle qui compte pour Google, est réservée aux plans payants. Le plafond de chaque feuille est de 100 000 lignes (aide à l'export).
La 301 native de LI ne règle pas le changement de plateforme. Elle ne redirige un produit qu'à l'intérieur du même domaine. Elle ne couvre ni catégorie, ni page institutionnelle, ni autre hôte (301 de LI). Qui pointe le domaine vers Shopify sans carte d'URL dans l'admin Shopify sème des 404 dans Google et dans les anciennes annonces.
Shopify, de l'autre côté, a une URL canonique de produit en /products/{handle} (objet product en Liquid), un CSV avec ses propres colonnes (guide CSV) et des 301 dans Content > Menus > URL redirects, avec import en masse (redirections).
La méthode qui réduit la coupure : monter et tester la boutique sur *.myshopify.com, importer le catalogue, valider le checkout et l'ERP, charger les 301, et seulement ensuite pointer le DNS. Le certificat TLS de Shopify peut prendre jusqu'à 48 heures (connexion de domaine, TLS). Ce n'est pas « zéro minute hors ligne ». C'est une fenêtre maîtrisée, avec LI encore en ligne jusqu'à ce que la poussière retombe.
Si la décision est encore « Tray ou Shopify » ou « Woo ou Shopify », les articles en ligne sont Tray vs Shopify et WooCommerce et risque. Celui-ci part du principe que la destination est déjà Shopify.
Le brief de votre boutique passe par oailton.dev/fr/contato.
La scène typique : la boutique sur LI « fonctionne », le thème ne suit plus le brief, le checkout a trop d'étapes sur mobile, l'ERP est déjà Bling ou Tiny, et quelqu'un promet « on migre vendredi et lundi vous vendez sur Shopify ».
Vendredi, le catalogue monte avec des variantes en double. Lundi, le domaine est pointé. Mardi, la Search Console se remplit de 404. Mercredi, le PIX (paiement instantané brésilien) passe en test sur myshopify.com et échoue sur le vrai domaine parce que le SSL est encore en attente.
La checklist ci-dessous est l'ordre qui évite cette séquence. Ce n'est pas du marketing de « migration en un clic ».
1. Audit à la source : ce que vous avez vraiment
Avant de créer la boutique Shopify, sortez de LI ce que la plateforme documente, pas ce que l'agence « pense exporter ».
D'après l'aide à l'export :
- Visão de Negócios > Relatórios > Exportar produtos (Vue d'ensemble > Rapports > Exporter les produits). Base complète, sans filtre de date, plan gratuit. Fichier envoyé par e-mail et dans le centre de notifications.
- Lista de URLs de produtos (Liste des URL de produits), si le plan est payant. C'est la liste des URL publiques, pas une supposition de slug.
- Exportar todos os clientes (Exporter tous les clients) et Relatório de pedidos (Rapport des commandes), dans le plan gratuit.
Ce que cela ne fait pas :
- ne génère pas de CSV au format Shopify
- ne mappe pas les variantes dans le modèle
Option1 Name/Option1 Value - ne crée pas de 301 sur le nouveau domaine
L'API produit rend le contrat explicite : nome, apelido, sku, gtin, descricao_completa, url. L'exemple officiel de url est https://loja-exemplo.lojaintegrada.com.br/produto/{apelido}.html. L'aide sur l'URL décrit autre chose dans l'usage courant du back-office : vous éditez la partie après la barre oblique, en minuscules, avec des tirets. Certaines boutiques sont en /produto/slug.html, d'autres en /slug. Ne présumez aucun format. Utilisez la liste d'URL, le sitemap ou la Search Console.
Nettoyage avant l'export (dans LI, pas après) :
- désactivez les produits de test, les lots morts et les SKU fantômes
- un SKU par vraie variante ; un SKU répété casse l'ERP à destination
- une image en 404 à la source sera en 404 sur Shopify
- une commande en cours reste sur LI jusqu'à sa facturation ; on ne « migre pas une commande en plein flux »
Clients et commandes historiques : exportez-les dans un fichier et, si l'ERP est déjà la source de l'opération, traitez l'ERP comme référence. La nouvelle boutique Shopify n'a pas besoin de naître avec cinq ans de commandes pour vendre demain.
2. Catalogue : le XLSX de LI devient le CSV de Shopify
Shopify ne lit pas le tableur de LI. Le guide CSV officiel est strict : en-têtes au nom exact, sensibles à la casse. Pour créer un produit, la colonne minimale est Title. S'il y a des variantes, Handle s'y ajoute. Pour mettre à jour ensuite, Handle et Title.
Le mapping que j'utilise au quotidien (LI → Shopify) :
| Source (LI / API) | Destination (CSV Shopify) |
|---|---|
apelido (slug) |
Handle |
nome |
Title |
descricao_completa |
Body (HTML) |
| grille (couleur, taille) | Option1 Name / Option1 Value (et Option2, Option3) |
| prix de vente | Variant Price |
| prix barré | Variant Compare-at Price |
| stock de la variante | Variant Inventory Qty |
sku |
Variant SKU |
gtin |
Variant Barcode |
| URL de l'image | Image Src |
Les règles qui cassent l'import si vous inventez un raccourci :
- le même
Handleregroupe les lignes de variante ; un handle différent crée un nouveau produit - un produit sans option utilise
Option1 Name=TitleetOption1 Value=Default Title(c'est le standard Shopify, pas un caprice) - modifier
Option1 Valueensuite recrée l'ID de la variante et peut déconnecter les apps et l'ERP qui dépendent de cet ID (guide CSV) - un mauvais en-tête (
compare at priceau lieu deVariant Compare-at Price) fait rejeter le fichier à l'import
Ordre de test :
- Cinq produits : simple, avec 2 options, avec image, avec compare-at, avec SKU/GTIN.
- Importer sans « overwrite ».
- Ouvrir chaque variante dans le thème, sur mobile.
- Seulement ensuite, le catalogue complet.
Thème, collections et menu naissent après un catalogue stable. Importer 2 000 SKU sur des collections mal montées, c'est du travail à refaire, pas de la vitesse.
3. URL : la 301 qui compte est celle de Shopify
Sur Shopify, le produit canonique est /products/{handle} (Liquid product.url). Une collection est /collections/{handle}. Une page est /pages/{handle}. Le préfixe ne se change pas.
Sur LI, l'ancien chemin est celui que Google a déjà indexé. Il peut s'agir de /vestido-floral, de /produto/vestido-floral.html ou des deux au fil des années. L'aide 301 de LI est claire sur la limite : sa 301 ne traverse pas les domaines. Dès que l'enregistrement A pointe vers Shopify, cette 301 d'origine cesse de répondre. C'est l'admin Shopify qui doit récupérer l'ancien clic.
Comment monter la carte :
- Source des anciennes URL : le rapport payant Lista de URLs (Liste des URL), le sitemap de LI, ou la couverture de la Search Console (pages indexées).
- Source des nouvelles URL : le
Handledu CSV, toujours préfixé par/products/. - Une ligne par chemin relatif. Exemple réaliste :
- De :
/produto/vestido-floral.html - Vers :
/products/vestido-floral - De :
/vestido-floral - Vers :
/products/vestido-floral
- De :
- Répétez pour les catégories (
/categoria/...→/collections/...) et les pages (/sobre→/pages/sobre). LI ne fait pas de 301 sur les catégories ; il vous faut ces lignes.
Dans l'admin Shopify : Content > Menus > URL redirects > Import (documentation). CSV avec les colonnes du modèle officiel (Redirect from, Redirect to). Testez 20 lignes avec curl -I sur *.myshopify.com avant le DNS. Si la 301 ne se déclenche pas sur le sous-domaine Shopify, elle ne se déclenchera pas sur le domaine de la marque.
Accueil, politiques et ancien blog : s'ils ont des URL indexées, ils vont dans le même CSV. Sans ligne, c'est un 404. Avec des 404 au jour 1, le référencement naturel ne « s'adapte pas tout seul ».
Ne promettez pas « 100 % du SEO préservé ». Ce qui se livre, c'est une carte 1:1 des URL que vous avez listées, servie en 301. Google retraite à son rythme.
4. Destination : paiement, livraison et ERP avant le domaine
La boutique sur *.myshopify.com doit vendre pour de vrai avant le basculement. Un joli domaine au-dessus d'un PIX cassé, c'est une coupure commerciale, pas une coupure DNS.
Checklist minimale à destination :
- passerelle de paiement brésilienne installée et commande de test payée (PIX et carte), pas seulement en sandbox
- CPF/CNPJ (identifiants fiscaux brésiliens des particuliers et des entreprises) dans le checkout natif et mappés dans l'ERP
- calcul de livraison avec un vrai CEP (code postal), les dimensions du colis et la règle de livraison gratuite
- Bling ou Tiny lisant le même SKU que le tableur ; l'aide Bling sur les commandes Shopify exige un SKU identique pour reconnaître le produit
- e-mail transactionnel Shopify avec un expéditeur authentifié (le MX de la messagerie de l'entreprise ne s'efface pas quand on change le A du site)
- pixel et conversion testés sur le domaine
myshopify.com; sur le domaine final, vous revérifiez après le SSL
Le checkout externe (sortir le client de Shopify pour la « transparence ») est le raccourci que je vois le plus dans les migrations précipitées. Il échange un problème de champ contre un autre : événements publicitaires, disponibilité d'un tiers et, dans bien des cas, conflit avec le checkout natif. Si la thèse de la boutique est Shopify, le checkout reste sur Shopify.
5. DNS : LI reste en ligne jusqu'au basculement
Le paramétrage officiel d'un domaine tiers (manuel) :
- Dans Settings > Domains > Connect existing domain, déclarez le domaine racine (sans
www). - Dans le DNS du registraire (Registro.br, Cloudflare en mode DNS only, ou le fournisseur que vous utilisez) :
- A
@→23.227.38.65 - AAAA
@→2620:0127:f00f:5:: - CNAME
www→shops.myshopify.com.
- A
- Un A et un AAAA. Un ancien enregistrement A de LI qui traîne partage le trafic : une fois il tombe sur Shopify, une autre sur LI.
- N'activez pas le proxy (nuage orange) de Cloudflare pour cet hôte. La page de dépannage cite le proxy Cloudflare comme cause d'échec.
- Ne touchez pas au MX, au SPF ni au DKIM. Site et e-mail sont des enregistrements différents.
Le certificat TLS naît après le pointage du DNS. Shopify documente jusqu'à 48 heures (TLS). Pendant le « SSL pending », une partie des clients voit un avertissement de certificat. C'est une fenêtre, pas de l'« instantané ».
Comment raccourcir la fenêtre sans mentir :
- baissez le TTL du A/AAAA quelques jours avant (300 à 600 s, si le registraire le permet)
- basculez à une heure de faible volume de commandes, pas pendant une campagne publicitaire
- gardez LI payée et en ligne jusqu'à ce que le domaine serve un HTTPS stable et que la commande de test en 4G passe
- si le basculement échoue, le retour arrière consiste à remettre le A de LI. C'est pourquoi l'ancienne IP doit être notée avant d'être effacée
« Zéro minute hors ligne » n'est pas ce que garantit la documentation de Shopify. Ce que garantit la méthode : la nouvelle boutique vendait déjà sur le sous-domaine ; le DNS est la dernière étape ; le retour arrière existe.
6. Les 24 heures après le pointage
Quand l'admin Shopify indique le domaine comme connecté et que le cadenas est valide :
- Commande réelle sur mobile, en 4G, avec PIX et carte.
- Vérifier la NF (facture électronique brésilienne) dans l'ERP avec le même SKU et le même identifiant fiscal que le checkout.
- Échantillonner 15 anciennes URL de la Search Console : chacune doit faire une 301 vers le nouveau chemin, sans chaîne (A→B→C).
- Accueil, collection principale et 5 fiches produit dans PageSpeed et sur le téléphone lui-même, pas seulement sur le Wi-Fi du bureau.
- Envoyer le sitemap Shopify dans la Search Console. LI disparaît du DNS ; Google a encore l'ancienne liste.
N'annulez pas LI le jour même. Annulez-la quand le référencement naturel et les annonces ont une semaine de 301 propres et zéro commande orpheline à la source.
7. Quand cette migration ne vaut pas encore le coup
Restez sur LI si votre site est une vitrine et que la vente se fait sur les marketplaces, si le catalogue est petit et que le thème actuel couvre le brief, et si personne dans l'équipe ne va exploiter Liquid, apps et ERP sur Shopify.
Passez à Shopify si le brief de marque a dépassé le thème, si le checkout et le pixel demandent du contrôle, si l'opération dépend déjà de Bling/Tiny avec des SKU sérieux, et si vous acceptez de payer la fenêtre DNS avec de la méthode, pas avec un slogan.
La comparaison des plafonds techniques avec une autre plateforme brésilienne est dans Tray vs Shopify. La discussion sur le risque des plugins est dans l'article WooCommerce.
Questions fréquentes
Loja Integrada redirige-t-elle toute seule vers Shopify ?
Non. Sa 301 concerne les produits sur le même domaine (aide 301). Après le DNS, c'est Shopify qui répond. La carte se charge dans Content > Menus > URL redirects.
Puis-je ramener la coupure à zéro ?
Non. Vous pouvez laisser Shopify vendre sur myshopify.com et basculer le DNS avec un TTL bas. Le TLS peut encore prendre jusqu'à 48 heures (manuel des domaines).
Dois-je migrer toutes les anciennes commandes ?
Pas pour que la boutique vende. Les commandes en cours se clôturent sur LI. L'historique vit dans l'ERP ou dans l'export. Migrer des commandes en plein flux est le moyen le plus simple de dupliquer le stock.
Le tableur de LI fonctionne-t-il tel quel sur Shopify ?
Non. LI exporte un XLSX dans son propre modèle (rapports). Shopify exige son propre CSV (guide).
Conclusion
La migration qui ne coupe pas la boutique est prosaïque : exporter ce que LI exporte vraiment, le traduire dans le CSV de Shopify, lister les vraies anciennes URL, des 301 dans le nouvel admin, paiement et ERP testés sur le sous-domaine, DNS en dernier, LI en vie jusqu'à ce que le HTTPS et les 301 passent sur mobile.
Ce qui casse, c'est d'inverser cet ordre : pointer le domaine avec un catalogue à moitié importé, ou compter sur la 301 d'origine alors que l'enregistrement A est déjà parti.
Si vous voulez la carte de votre boutique (échantillon de 20 URL, échantillon de 5 produits avec variantes et l'étape DNS chez votre registraire), ouvrez oailton.dev/fr/contato avec votre URL actuelle, votre plan LI et votre ERP.