# Migration Shopify vers PrestaShop — Guide complet

> Présentation dfmigrateshopify importe l'intégralité d'une boutique Shopify dans PrestaShop 8 ou 9 : produits avec variantes et images, clients avec adresses, commandes historiques, collections converties en catégories, redirections 301 et…

- Page: <https://www.datafirefly.com/documentation/migration-shopify-prestashop/>
- Langue: fr
- Mis à jour le: 2026-07-01
- Autres langues: [en](https://www.datafirefly.com/en/documentation/migration-shopify-prestashop/index.md), [es](https://www.datafirefly.com/es/documentation/migration-shopify-prestashop/index.md), [de](https://www.datafirefly.com/de/documentation/migration-shopify-prestashop/index.md), [it](https://www.datafirefly.com/it/documentation/migration-shopify-prestashop/index.md), [pl](https://www.datafirefly.com/pl/documentation/migration-shopify-prestashop/index.md), [pt](https://www.datafirefly.com/pt/documentation/migration-shopify-prestashop/index.md), [nl](https://www.datafirefly.com/nl/documentation/migration-shopify-prestashop/index.md)
- Index: <https://www.datafirefly.com/documentation/llms.txt>

## Présentation

dfmigrateshopify importe l'intégralité d'une boutique Shopify dans PrestaShop 8 ou 9 : produits avec variantes et images, clients avec adresses, commandes historiques, collections converties en catégories, redirections 301 et avis clients. Le module est en **lecture seule côté Shopify** : aucune écriture, aucune modification de la boutique source.

## Installation

1. Back-office PrestaShop → **Modules → Module Manager → Téléverser un module**.
2. Sélectionnez le fichier `dfmigrateshopify.zip` et installez.
3. Un nouvel écran apparaît dans **Paramètres avancés → Migration Shopify**.

L'installation crée 4 tables préfixées `dfmigshop_` : mapping (correspondances Shopify ↔ PrestaShop), log, redirect et job.

## Créer le token Shopify

Dans l'admin de votre boutique Shopify source :

1. **Settings → Apps and sales channels → Develop apps → Create an app**.
2. Onglet **Configuration → Admin API integration → Configure**.
3. Cochez les scopes : `read_products`, `read_inventory`, `read_product_listings`, `read_customers`, `read_orders`, `read_content`.
4. Installez l'app dans la boutique et copiez le **Admin API access token** (il commence par `shpat_`).

Le token n'est affiché qu'une seule fois par Shopify. Conservez-le en lieu sûr.

## Connexion

Onglet **Connexion** du module : renseignez le domaine (`ma-boutique.myshopify.com`, sans https://), le token, et la version d'API (par défaut `2024-10`). Cliquez sur **Tester la connexion** : le nom de la boutique doit s'afficher en vert.

## Configuration

- **Taille de lot** — nombre d'éléments traités par appel AJAX (défaut 50, max 250). Réduisez si votre hébergement est lent.
- **Télécharger les images** — désactivez pour une migration de test rapide sans images.
- **Brouillons** — importer ou ignorer les produits Shopify au statut draft.
- **Catégorie parente par défaut** — les collections Shopify seront créées sous cette catégorie.
- **Transporteur et module de paiement** — affectés aux commandes importées.
- **Correspondance des statuts** — mappez chaque statut Shopify (pending, paid, fulfilled, delivered, cancelled, refunded) vers un statut de commande PrestaShop.

## Lancer la migration

Onglet **Migration**, respectez l'ordre :

1. **Compter** — vérifie la connexion et affiche les volumes.
2. **Collections custom** puis **Collections smart** — crée les catégories.
3. **Produits + variantes + images** — l'étape la plus longue. Les variantes Shopify deviennent des combinaisons d'attributs ; chaque variante reçoit son image ; les marques sont créées depuis le champ vendor.
4. **Clients** — dédoublonnage automatique par e-mail. Un mot de passe aléatoire est attribué : invitez vos clients à utiliser « Mot de passe oublié ».
5. **Commandes** — uniquement après produits et clients. Référence au format `SH-{numéro}`.
6. **Redirections 301** — récupère les URL Redirects Shopify. Les redirections produits/collections ont déjà été créées automatiquement aux étapes précédentes.

Chaque étape peut être relancée sans risque : la table de correspondance empêche les doublons. En cas d'interruption, recliquez simplement sur le bouton, la migration reprend où elle s'était arrêtée.

## Importer les avis

Shopify n'a pas d'API native pour les avis. Exportez en CSV depuis votre application (Judge.me, Loox, Yotpo, Product Reviews app…) puis importez le fichier dans l'onglet **Avis**. Le module détecte automatiquement votre backend : `dfreviews` (prioritaire) ou `productcomments`.

Colonnes attendues (insensibles à la casse, séparateur `,` ou `;`) : `product_handle` ou `shopify_product_id` ou `sku`, `email`, `reviewer_name`, `rating`, `title`, `body`, `created_at`, `verified`.

## Redirections 301

Chaque requête front est interceptée par le hook `actionDispatcherBefore` : si l'URL demandée correspond à une source enregistrée (ex. `/products/mon-produit`), le visiteur est redirigé en 301 vers l'URL PrestaShop équivalente. Aucune configuration Apache ou Nginx nécessaire. L'onglet **Redirections 301** permet d'exporter la liste complète en CSV.

## Correspondances et relance

L'onglet **Correspondances** affiche le nombre d'éléments importés par type de ressource. Le bouton **Vider** supprime les correspondances d'un type : les éléments restent dans PrestaShop, mais une nouvelle migration les réimportera comme neufs (doublons possibles — à utiliser en connaissance de cause).

## Dépannage

- **Erreur 429 ou 503** — le module gère automatiquement le rate limit Shopify (retry avec respect du header Retry-After). Aucune action requise.
- **Migration lente** — réduisez la taille de lot, ou désactivez le téléchargement d'images pour un premier passage de test.
- **Erreurs dans le journal** — l'onglet **Journaux** affiche chaque erreur avec la ressource et l'identifiant Shopify concernés. Corrigez la cause puis relancez l'étape : seuls les éléments en erreur seront retraités.
- **Prix des commandes historiques** — les commandes sont importées à titre d'archive comptable ; les totaux Shopify sont conservés tels quels, sans recalcul de taxes PrestaShop.

## Désinstallation

La désinstallation supprime les 4 tables du module et les hooks. Les produits, clients, commandes et catégories importés restent en place. Les redirections 301 cessent de fonctionner (elles sont servies par le module).
