Nuvemshop vers Shopify : migrer sans perdre son SEO
Migrer de Nuvemshop vers Shopify sans perdre son SEO : relever les URL, mapper chaque chemin, importer les redirections 301 et corriger le flux Google.
Dans cet article
- L'essentiel
- 1. Le SEO n'est pas dans la plateforme, il est dans la carte des URL
- 2. Relevez la vraie liste des URL avant de toucher à quoi que ce soit
- 3. Le tableur de mapping, colonne par colonne
- 4. La correspondance des chemins, type par type
- 5. Charger les 301 en masse, sans les saisir une par une
- 6. Ce qui casse au-delà du produit : collections, tags, blog et images
- 7. Merchant Center, annonces et le flux qui ne correspond plus
- 8. Après le basculement : quoi mesurer et combien de temps conserver
- Questions fréquentes
- Conclusion
L'essentiel
Migrer de Nuvemshop vers Shopify, c'est changer de carte d'URL, et c'est là que le SEO s'en va ou reste debout : cela vaut pour une boutique qui vit du référencement naturel et qui a déjà choisi sa destination. L'autorité ne vit pas dans la plateforme, elle vit dans les adresses indexées et dans les liens qui pointent vers elles. Shopify sert les produits en /products/{handle}, les collections en /collections/{handle} et les articles en /blogs/{blog}/{article} (objet article), un format qu'il ne vous laisse pas réécrire. Le calcul est donc simple : chaque URL qui apporte des clics aujourd'hui a besoin d'une 301 vers son nouvel équivalent, et Google traite la 301 comme permanente et affiche désormais la destination (Google Search Central). Ce que personne ne mappe, c'est le reste : catégories imbriquées, tags, blog, images et flux Merchant Center. Si le choix de plateforme n'est pas encore arrêté, les articles en ligne sont Tray vs Shopify et WooCommerce et risque.
1. Le SEO n'est pas dans la plateforme, il est dans la carte des URL
Quand le domaine reste le même et que seul le chemin change, Google n'a pas besoin de réapprendre tout le site. Il doit trouver, à chaque ancienne adresse, une 301 vers la nouvelle. Sans cela, l'ancienne URL renvoie un 404 (Shopify sert le template 404 pour un chemin invalide, selon l'architecture des templates) et le signal accumulé à cette adresse cesse de circuler.
La différence entre les deux plateformes est structurelle, pas cosmétique. Sur Nuvemshop, produit et catégorie portent un handle généré à partir du nom, par langue, et la catégorie a une vraie hiérarchie : il existe un champ parent et une liste subcategories (Product, Category). Sur Shopify, la collection est plate. L'objet collection de Liquid expose handle, title, products et tags, et n'expose ni collection parente ni sous-collection (objet collection).
Autrement dit : une arborescence de catégories à deux ou trois niveaux devient un ensemble de collections au même niveau. C'est une décision de mapping, pas un détail de thème. Qui ne décide pas avant découvre après, avec une série de 404 sur les URL de sous-catégories, qui sont souvent justement celles de longue traîne qui convertissent.
2. Relevez la vraie liste des URL avant de toucher à quoi que ce soit
La tentation est d'exporter le catalogue et de croire que c'est fini. Le catalogue est l'inventaire ; ce que Google a indexé est une autre liste, et elle inclut des pages dont vous avez oublié l'existence. Trois sources s'additionnent, dans cet ordre :
Le sitemap de la boutique actuelle donne ce que la plateforme publie aujourd'hui. La Search Console donne ce qui reçoit réellement des clics et des impressions (rapport Performances, export par page, période la plus longue disponible dans le rapport). Le log du serveur ou du fournisseur donne ce qui est encore exploré, y compris les anciennes URL qui ne sont plus dans le sitemap et continuent d'être visitées.
Le troisième point est ce qui sépare une migration faite d'une migration espérée. Google recommande de regarder les URL visitées récemment lors de l'inventaire d'un changement de site (How to move a site). Page de catégorie abandonnée, produit retiré qui a des backlinks, vieil article de blog : tout cela entre dans le tableur même s'il n'existe plus dans le catalogue.
Une vérification qui coûte peu : téléchargez le sitemap et comptez les URL par type de chemin.
curl -s https://sualoja.com.br/sitemap.xml \
| grep -o '<loc>[^<]*</loc>' | wc -l
3. Le tableur de mapping, colonne par colonne
La carte est un tableur avec origine et destination, et rien d'autre. Shopify appelle ces deux champs path et target dans l'objet UrlRedirect (Admin GraphQL) : path est l'ancien chemin, target est l'endroit où va la personne. Il vaut la peine de garder trois colonnes de travail en plus : type (produit, catégorie, blog, page, tag), volume de clics sur la période exportée et statut de vérification.
Triez par clics, pas par ordre alphabétique. La règle qui fait gagner du temps : produits et catégories avec du trafic reçoivent une destination vérifiée une par une ; le reste entre par règle et est vérifié par échantillon. Un handle identique des deux côtés ne signifie pas une URL identique, car le préfixe change. Un handle différent (accent retiré autrement, nom de produit modifié à l'import) signifie une 301 cassée même avec le bon produit importé.
Deux erreurs reviennent toujours. La première est la chaîne : l'ancienne URL pointe vers une intermédiaire qui pointe vers la finale. Google demande d'éviter les chaînes de redirection lors d'un changement de site. La seconde est le raccourci paresseux : envoyer tout ce qui n'a pas trouvé de destination vers l'accueil. Rediriger en masse vers l'accueil livre au visiteur une page qui ne répond pas à l'intention de recherche ; un produit retiré vit mieux pointé vers la collection équivalente, et seul ce qui n'a aucun équivalent devient un 404 honnête.
4. La correspondance des chemins, type par type
Les formats de route de Shopify sont documentés dans l'objet routes de Liquid : /collections, /collections/all, /search, /cart (routes). Le tableau ci-dessous est ce qui reste après avoir croisé cela avec la structure que Nuvemshop expose dans son API. Consultations faites le 18/09/2026.
| Type de page | Nuvemshop | Shopify | Point d'attention sur la 301 |
|---|---|---|---|
| Produit | chemin avec le handle du produit, un par langue (Product) |
/products/{handle} |
Un handle réécrit à l'import casse la carte même avec le bon produit |
| Catégorie | handle par langue, avec parent et subcategories (Category) |
/collections/{handle}, sans hiérarchie (collection) |
La sous-catégorie devient une collection plate : décidez la destination avant |
| Liste des catégories | arborescence de 1 000 catégories au maximum (Category) | /collections et /collections/all (routes) |
N'envoyez pas une catégorie précise vers /collections/all |
| Blog | chemin d'article propre | /blogs/{blog}/{article} (article) |
Le nom du blog entre dans le chemin et est souvent oublié |
| Recherche | chemin propre | /search (routes) |
Une page de recherche indexée est candidate au noindex, pas à la 301 |
| Domaine de la plateforme | original_domain en nuvemshop.com.br (Store) |
*.myshopify.com |
Si le domaine de la plateforme a été indexé, c'est une autre migration |
La limite de catalogue compte pour les grandes boutiques : l'API Nuvemshop répond 422 avec « Store has reached maximum limit of 100000 allowed products » et « Store has reached maximum limit of 1000 allowed categories » (Product, Category). Ce sont des plafonds de plateforme, pas de migration, mais ils donnent l'ordre de grandeur du tableur.
Une vérification par échantillon, avant et après le basculement, évite de découvrir un problème via la Search Console des semaines plus tard.
curl -s -o /dev/null -w '%{http_code} %{redirect_url}\n' \
https://sualoja.com.br/produto-antigo
5. Charger les 301 en masse, sans les saisir une par une
Une boutique de plusieurs centaines d'URL ne supporte pas la saisie manuelle. Shopify importe les redirections en masse par CSV, et la voie documentée est la mutation urlRedirectImportCreate, qui reçoit « The staged upload URL of the CSV file » et exige le scope write_online_store_navigation ; ensuite, l'envoi se fait par urlRedirectImportSubmit (Admin GraphQL). La même page propose un CSV d'exemple pour vérifier le format avant de générer le vôtre.
Le CSV est le tableur de la section 3 réduit à deux colonnes : ancien chemin et destination. Sans API, le même fichier se charge par l'import de redirections dans l'admin. Ce qui compte, c'est le contenu, pas la porte d'entrée.
Ce qu'il faut vérifier avant l'import
Des chemins relatifs et cohérents du début à la fin, sans mélanger URL absolues et chemins. Aucune ligne pointant vers une autre ligne du même fichier, ce qui est la chaîne que Google demande d'éviter. Une destination qui existe réellement dans la nouvelle boutique, vérifiée par la réponse HTTP et non en regardant le tableur. Accents et majuscules traités de la même façon dans toute la liste, car le handle de Nuvemshop arrive déjà normalisé et votre tableur peut ne pas l'être.
Après l'import, la lecture des redirections existantes utilise la query urlRedirects, avec le scope read_online_store_navigation (UrlRedirect). Elle sert à auditer ce qui a été chargé, en le comparant au tableur d'origine.
6. Ce qui casse au-delà du produit : collections, tags, blog et images
Le produit est la partie facile, car il a un SKU et un nom pour ancrer la vérification. Ce qui fait chuter le trafic, c'est le reste.
Collections imbriquées. La hiérarchie de Nuvemshop n'a pas d'équivalent sur Shopify. Une sous-catégorie qui a son propre trafic doit devenir sa propre collection, avec son propre handle et sa propre 301. Tout pousser vers la catégorie parente transforme plusieurs intentions de recherche distinctes en une seule page.
Tags. Shopify utilise les tags pour les filtres et pour l'automatisation des collections. L'objet collection renvoie au plus 1 000 tags dans all_tags, et les filtres de la vitrine sont vides sur une collection de plus de 5 000 produits (collection). Si l'ancienne stratégie reposait sur des pages de tag indexées, elles ont besoin d'une destination explicite dans la carte, pas d'une improvisation dans le thème.
Blog. C'est là qu'on perd le plus d'anciens liens, car l'URL Shopify porte le nom du blog au milieu du chemin (article). Migrer les articles sans mapper les anciens chemins jette un contenu qui se positionnait déjà et qui a coûté du temps à produire.
Images. L'image est désormais servie par le CDN de Shopify, à une autre adresse. Ce qui était indexé dans Google Images se réindexera tout seul ; le vrai problème, c'est l'ancien contenu qui pointe vers l'hôte précédent. Il vaut la peine de revoir le robots.txt, qui sur Shopify est le template robots.txt.liquid et doit être en Liquid (Templates).
Liens internes. Après le basculement, chaque lien à l'intérieur du site doit pointer vers la nouvelle URL, sans passer par une 301. La redirection sert aux liens externes et à l'index de Google, pas à économiser du travail sur le thème.
7. Merchant Center, annonces et le flux qui ne correspond plus
Merchant Center ne voit pas l'admin de la boutique, il voit l'URL. Quand le chemin change, le lien de destination de chaque article change. La spécification de Google traite les données contradictoires entre le flux et le site comme une cause courante de refus et liste des exigences propres à la page de destination (spécification des données produit).
Le point sensible est l'attribut id, que la même spécification définit comme l'identifiant unique du produit. Changer l'id de tous les articles d'un coup revient à remettre à zéro l'historique de chaque article. Garder l'id stable et laisser changer le lien et la disponibilité est le chemin le moins turbulent.
Il en va de même pour les annonces payantes à URL finale fixe et pour les liens sur les réseaux sociaux, par e-mail et sur les marketplaces. La 301 couvre ceux qui arrivent par l'ancien chemin, mais un lien de campagne active se corrige mieux à la source. La vérification évidente, faite avant le basculement : passez la liste des destinations et confirmez une réponse 200 partout.
8. Après le basculement : quoi mesurer et combien de temps conserver
La redirection n'est pas une tâche d'un jour, c'est une infrastructure qui reste. Google est explicite : conservez les redirections le plus longtemps possible, « generally at least 1 year » (How to move a site). Effacer la liste au bout de deux mois parce que « c'est passé », c'est jeter le travail.
Les premières semaines, trois tableaux de bord disent presque tout. Le rapport Couverture et Pages de la Search Console montre les 404 qui apparaissent en volume, symptôme d'URL absentes de la carte. Le rapport Performances, comparé par page, montre quel chemin a perdu des clics et permet de trouver la 301 manquante. Merchant Center montre les refus par page de destination, souvent le premier à tirer la sonnette d'alarme.
À propos de l'outil de changement d'adresse de la Search Console : il existe pour un changement de domaine, pas de chemin. L'aide elle-même dit de ne pas l'utiliser quand vous déplacez seulement quelques pages d'un endroit à un autre au sein du site, cas où il suffit d'ajouter des redirections et de mettre à jour les sitemaps. Il exige une propriété au niveau du domaine, exige que vous soyez propriétaire de l'origine et de la destination, et transmet les signaux pendant 180 jours (Aide Search Console). Si le domaine est le même des deux côtés, la carte de 301 fait le travail toute seule.
La réindexation n'a pas lieu le jour du basculement : Google explore à son rythme et l'ancienne liste sort de l'index peu à peu, à mesure que chaque URL est revisitée. Une fluctuation les premières semaines est normale ; un 404 sur une page qui a des clics ne l'est pas. Pour la séquence opérationnelle catalogue, basculement et DNS, l'article voisin est la checklist de migration sans coupure.
Questions fréquentes
Vais-je perdre des positions sur Google en migrant de Nuvemshop vers Shopify ?
Il n'y a ni garantie ni prévision chiffrée honnête ici, et qui propose un pourcentage l'invente. Ce que l'on peut maîtriser, c'est la cause de chute la plus fréquente : une ancienne URL sans 301. Une carte complète, sans chaîne et avec une destination équivalente, c'est ce que Google demande dans sa documentation sur le changement de site. Ce que vous ne mappez pas devient un 404, et un 404 sur une page qui a des clics est une perte certaine.
Peut-on garder les anciennes URL identiques sur Shopify ?
Pas les préfixes. Les produits sont sous /products/, les collections sous /collections/ et les articles sous /blogs/{blog}/, selon la documentation thème et Liquid de Shopify elle-même. Le handle, vous le contrôlez ; le préfixe, non. C'est pourquoi la migration est toujours un changement de chemin et exige toujours des 301, même en gardant le même domaine.
Combien de temps dois-je garder les redirections actives ?
Au moins un an, c'est la recommandation de Google pour un changement de site avec modification d'URL. En pratique, une redirection d'URL sur Shopify ne coûte ni maintenance ni performance perceptible, il n'y a donc aucune raison de l'effacer. Les anciens backlinks continuent d'arriver bien après la première année.
Et si je veux profiter de la migration pour réorganiser les catégories ?
Techniquement c'est possible ; dans le même basculement, c'est cumuler les risques. Google avertit que combiner un changement de site avec une refonte du contenu et de la structure d'URL entraîne probablement une perte de trafic, car les pages doivent être redécouvertes et réévaluées. Migrez avec la structure la plus proche possible, stabilisez, réorganisez ensuite. L'exception forcée est la hiérarchie de catégories, que Shopify ne reproduit pas.
Dois-je refaire le flux Merchant Center de zéro ?
Le flux sort désormais de Shopify, donc la source change. Ce qui n'est pas conseillé, c'est de changer l'attribut id de tous les articles sans nécessité, puisqu'il est l'identifiant unique du produit dans la spécification de Google. Gardez l'id stable là où vous le pouvez et traitez le lien et la disponibilité comme les champs qui ont réellement changé.
Conclusion
La migration de Nuvemshop vers Shopify se décide dans le tableur d'URL, pas dans le choix du thème. Relevez l'inventaire réel à partir des trois sources, mappez chaque type de chemin, chargez les 301 par CSV et seulement ensuite regardez ce qui reste : collections imbriquées, tags, blog, images et flux. Après le basculement, le travail consiste à surveiller les 404 et à garder les redirections en ligne pendant au moins un an. Si vous voulez savoir si votre boutique entre dans ce calcul, envoyez sur oailton.dev/fr/contato la plateforme actuelle, le plan et l'URL. Si vous n'avez pas encore créé la boutique Shopify, parlez-moi avant de la créer : la boutique naît en boutique de développement, est montée prête à l'emploi et transférée à votre nom.