← Journal

Migration Shopify sans perte SEO : la séquence Matrixify qui marche

Comment migrer un catalogue de 5 000 + SKU vers Shopify Plus sans perdre une URL ni un backlink. Mapping de redirections, séquence Matrixify, validation post-prod. Méthode éprouvée.

Une migration Shopify ratée, ça se voit dans Search Console à J+15. Le trafic plonge de 30-50 %. Les positions perdues mettent 3-6 mois à revenir. C’est évitable — la condition, c’est de respecter une séquence stricte.

Voici celle que j’utilise sur tous les chantiers de migration. Elle a fait ses preuves sur 4 projets de plus de 5 000 SKU sans perte de trafic.

Pourquoi le SEO se perd

Les 4 sources de pertes SEO post-migration :

  1. URLs changées sans 301 (redirection permanente) → Google retire les pages de l’index
  2. Contenus tronqués (descriptions raccourcies par l’import auto, balises perdues)
  3. Schema.org disparu (le nouveau thème ne le génère pas)
  4. Performance dégradée (LCP qui passe de 2 s à 5 s → Google rétrograde)

Les 4 sont évitables. La méthode ci-dessous les couvre.

Étape 1 : crawl complet du site actuel

Avant tout, crawl exhaustif avec Screaming Frog ou Semrush :

  • Toutes les URLs (HTML, images, JS, CSS)
  • Pour chaque URL : status, H1, meta title, meta description, mots clés
  • Backlinks (Ahrefs ou Semrush) : URLs qui reçoivent ≥ 1 backlink
  • Pages avec le plus de trafic organique (12 derniers mois)

Tu obtiens un fichier (Excel ou Sheets) de 5 colonnes :

  1. URL d’origine
  2. Status code
  3. Titre / H1
  4. Trafic mensuel (estimation Search Console + GA)
  5. Backlinks (count)

Tu vas devoir rediriger chaque ligne avec trafic > 0 ou backlinks > 0.

Étape 2 : mapping URL → URL

Pour chaque URL ancienne, décide où elle va sur le nouveau site :

Ancien : /collections/cuir/sacs/sac-rio-noir-grand
Nouveau : /products/sac-rio-noir-grand

Règles :

  • Slug-to-slug quand possible (préserver le slug exact)
  • Catégorie → collection Shopify avec même handle
  • Sous-catégorie → tag Shopify (les sous-collections coûtent cher en SEO)
  • Page éditorial / blog → blog post Shopify (handle identique)
  • Pages sans équivalent → rediriger vers la collection parente (jamais home, jamais 404)

Sortie : fichier CSV de 2 colonnes from,to qui sera importé comme redirections Shopify.

Étape 3 : import catalogue avec Matrixify

Matrixify est le standard du marché. Format Excel/CSV importable dans Shopify avec mapping fin.

Structure d’import

Handle | Title | Body (HTML) | Vendor | Type | Tags | Variant SKU | Variant Price | ... | SEO Title | SEO Description

Tu remplis toutes les colonnes SEO, pas juste le contenu produit :

  • SEO Title : si vide, Shopify utilise le Title (souvent trop long, à limiter)
  • SEO Description : 160 caractères max, action verbe + bénéfice produit
  • URL Handle : identique à l’ancien slug quand possible

Séquence

  1. Créer les collections d’abord (avec leurs handles définitifs)
  2. Importer les produits (assignés aux collections via tags ou collection_id)
  3. Importer les variantes (sur les mêmes produits)
  4. Importer les images (URL externes, Shopify les tire et stocke en CDN)
  5. Importer les redirections (CSV from→to)
  6. Vérifier les pages éditoriales (à la main)

L’erreur classique : importer les redirections après la mise en ligne. Tu prends 24-48 h de 404s pendant lesquelles Google indexe le néant.

Toujours : les redirections juste avant le go-live, pas après.

Étape 4 : config thème Shopify

Le nouveau thème doit générer :

  • Schema.org Product sur les fiches (JSON-LD complet : name, description, sku, brand, offers)
  • Schema.org Breadcrumb sur les fiches
  • Schema.org CollectionPage sur les collections
  • Open Graph + Twitter Card sur toutes les pages

Si ton thème ne le fait pas (la plupart le font partiellement), tu ajoutes les snippets dans theme.liquid ou tu utilises un plugin comme JSON-LD for SEO.

Vitesse

  • Lazy-loading sur images below fold
  • WebP/AVIF servies (Shopify le fait nativement)
  • CSS critique inlined (Theme 2.0 le permet)
  • JS différé pour les apps non-critiques

Cible : Lighthouse Performance > 80 en mobile.

Étape 5 : validation pré-bascule

Avant de basculer le DNS, tu fais un dry-run complet sur staging :

  1. Crawl du staging (Screaming Frog) → liste de toutes les nouvelles URLs
  2. Compare avec le mapping : chaque URL ancienne a-t-elle bien une cible ?
  3. Test des redirections : 100 URLs aléatoires → curl pour vérifier 301 + URL cible
  4. Lighthouse sur 10 pages (home, 3 collections, 5 fiches, 1 article blog)
  5. Test contact form + paiement (carte Stripe test)
  6. Test des emails transactionnels (commande, expédition, retour)

Score minimum pour basculer :

  • 100 % des URLs prioritaires (trafic ou backlinks) redirigées
  • Lighthouse Performance > 70
  • Aucun 404 sur les URLs prioritaires

Étape 6 : bascule DNS

J-jour, dans cet ordre :

  1. 08:00 — Freeze des modifs sur l’ancien site
  2. 09:00 — Import delta des dernières commandes / clients (depuis hier 22h)
  3. 10:00 — Bascule DNS A record (TTL = 5 min idealement)
  4. 10:00 → 11:00 — Propagation DNS, monitoring trafic
  5. 11:00 → 18:00 — Surveillance commandes, support technique en standby
  6. 18:00 — Tests fonctionnels approfondis

Choisir un mardi matin ou un mercredi matin. Jamais vendredi.

Étape 7 : monitoring post-bascule

Les 30 jours suivants :

  • J+1 et J+7 et J+30 : crawl complet → vérifier 0 chaîne de redirections, 0 boucle, 0 page sans canonical
  • Search Console quotidiennement les 7 premiers jours :
    • Pages indexées : doit augmenter
    • Pages “Crawlées non indexées” : signal d’alerte si > 5 % du total
    • Erreurs 4xx/5xx : 0 attendu
  • Soumettre le sitemap dans Search Console (sitemap.xml dans la racine Shopify)
  • Demander une indexation des 50 pages les plus importantes via Search Console

Les 5 erreurs qui plantent une migration

  1. Pas de mapping documenté → tu rediriges au feeling, tu rates 30 % des URLs
  2. 301 vers home → Google considère ça comme du soft-404, déclasse la home
  3. Schema.org disparu → tu perds les rich snippets en SERP (étoiles, prix, etc.)
  4. Pages éditoriales perdues (blog ancien) → tu perds les backlinks long-tail
  5. Pas de monitoring post-bascule → tu réalises 3 mois après que 200 pages sont en 404

Délais réalistes

Volume catalogueDurée mission
< 500 SKU4-6 semaines
500-2 000 SKU6-10 semaines
2 000-10 000 SKU10-16 semaines
10 000+ SKU16-24 semaines

Plus de la moitié du temps va sur :

  • Le mapping de redirections (manuel, ne se déléguie pas à un junior)
  • La config du connector ERP (Shopify ↔ Odoo / SAP / NetSuite)
  • Le testing pré-bascule

Coût indicatif

Pour 2 000 SKU + connector Odoo + redirections SEO complètes : 35-50 K€, sur 10-12 semaines.

Audit migration

Si tu veux savoir exactement combien de temps et combien d’argent ta migration coûterait, l’audit gratuit que je fais inclut :

  • Analyse de ton catalogue actuel
  • Mapping de redirections échantillon (50-100 URLs prioritaires)
  • Estimation Lighthouse pre/post
  • Calendrier détaillé sur 8-16 semaines
  • Budget chiffré sous 72 h
// Vous reconnaissez vos enjeux ?

Bâtissons votre architecture ensemble.

Audit gratuit sous 24 h ouvrées. Devis chiffré sous 72 h. Aucun engagement derrière.

Réserver un audit
30+marques accompagnées
100%migration sans perte
< 24hréponse