Migrer PrestaShop 1.7 vers PrestaShop 9 : méthode, modules et checklist

Beaucoup de boutiques tournent encore sous PrestaShop 1.7. Elles fonctionnent, les commandes rentrent… mais elles reposent sur une version qui n’évolue plus et, surtout, sur des versions de PHP qui ne reçoivent plus de correctifs de sécurité (PrestaShop 1.7.8 s’arrête à PHP 7.4). Tôt ou tard, l’hébergeur finit par imposer une version plus récente, et c’est souvent à ce moment-là que la boutique casse.

Passer à PrestaShop 9 n’est pas une simple mise à jour : c’est un vrai projet. Bien mené, c’est aussi l’occasion de faire le ménage et de repartir sur une boutique plus rapide et mieux référencée. Voici la méthode que j’applique.

Pourquoi migrer maintenant ?

  • Sécurité : PHP 7.x n’est plus maintenu, et les failles publiées sur les anciennes versions de PrestaShop et de ses modules ne seront pas toutes corrigées.
  • Hébergement : les hébergeurs abandonnent progressivement les anciennes versions de PHP.
  • Modules : les éditeurs concentrent leurs nouvelles versions sur PrestaShop 8 et 9 ; les correctifs pour 1.7 se raréfient.
  • Performance : PHP 8 et une base logicielle à jour (Symfony récent côté back-office) apportent un vrai gain, à condition que le thème et les modules suivent.

Étape 1 : l’audit de la boutique

Avant d’écrire la moindre ligne de code, je dresse l’état des lieux :

  • version exacte de PrestaShop et de PHP, hébergement ;
  • thème utilisé (Classic modifié, thème du marché, thème sur mesure) et ses personnalisations ;
  • overrides et éventuelles modifications du cœur (malheureusement fréquentes sur les boutiques reprises) ;
  • liste complète des modules installés, actifs ou non ;
  • volumétrie : produits, déclinaisons, clients, commandes, images, langues, boutiques (multiboutique).

Étape 2 : faire le tri dans les modules

C’est l’étape la plus importante, et celle qu’on néglige le plus. Une boutique de quelques années accumule facilement des dizaines de modules : certains essentiels, d’autres installés pour un besoin ponctuel puis oubliés, d’autres encore abandonnés par leur éditeur.

Je reprends la liste module par module et je classe chacun dans l’une de ces catégories :

  1. Maintenu et compatible PrestaShop 9 : on le garde et on installe sa dernière version.
  2. Utile mais plus maintenu : on cherche une alternative (module d’un autre éditeur, fonctionnalité désormais native, ou développement sur mesure si le besoin est spécifique).
  3. Plus vraiment utilisé : on le supprime. Chaque module en moins, c’est du code en moins à charger, à sécuriser et à maintenir.
  4. Développement spécifique : on le réécrit ou on l’adapte pour PrestaShop 9 (nouvelles API, hooks modifiés, pages du back-office passées sous Symfony).

Cette revue se fait avec vous : c’est l’occasion de se demander, pour chaque fonctionnalité, si elle sert encore vraiment. Le résultat est presque toujours une boutique plus légère qu’au départ.

À titre d’exemple, je développe et maintiens moi-même plusieurs modules compatibles de PrestaShop 1.7.8 à 9 (cache, consentement RGPD, anti-spam, traduction…), qui remplacent souvent des modules plus anciens devenus orphelins.

Étape 3 : repartir d’un thème actualisé, optimisé performance et SEO

Le thème d’une boutique 1.7 a rarement été pensé pour PrestaShop 9 : templates modifiés au fil des années, CSS et JavaScript accumulés, dépendances d’anciens modules… Le porter tel quel est possible, mais c’est souvent une mauvaise affaire.

La migration est le bon moment pour repartir d’un thème actualisé et l’optimiser :

  • Performance : moins de CSS et de JavaScript chargés, images aux bons formats et aux bonnes tailles, chargement différé, mise en cache. Les Core Web Vitals s’en ressentent directement.
  • SEO : structure des titres, balisage des fiches produits et des catégories, données structurées, maillage interne, pagination et facettes maîtrisées pour éviter les pages en double.
  • Maintenabilité : un thème propre, sans surcouches inutiles, qui supportera les prochaines mises à jour.

Le graphisme peut rester le même : on garde l’identité de la boutique, mais avec un code assaini.

Étape 4 : le transfert des données

Deux approches existent :

  • la mise à jour sur place, avec le module officiel 1-Click Upgrade : pratique sur une boutique saine et peu personnalisée, mais elle embarque tout l’historique (tables orphelines, configurations de modules disparus, surcharges oubliées) ;
  • l’installation propre de PrestaShop 9, puis la reprise des données de l’ancienne boutique.

Pour les boutiques qui ont de l’historique, je privilégie la seconde. Pour la mener de façon fiable et reproductible, j’ai développé mon propre module de migration, qui transfère les données de la boutique 1.7 vers la nouvelle installation PrestaShop 9. Je peux ainsi rejouer le transfert autant de fois que nécessaire pendant la recette, puis une dernière fois juste avant la mise en ligne, pour récupérer les dernières commandes et les derniers clients.

Côté SEO, l’objectif est de conserver les URL existantes, et de mettre en place des redirections 301 pour celles qui changent, afin de ne pas perdre le référencement acquis.

Étape 5 : la recette, puis la bascule

Tout se passe sur un environnement de recette, jamais directement en production :

  • parcours d’achat complet, avec chaque moyen de paiement et chaque transporteur ;
  • création de compte, connexion, mot de passe oublié ;
  • e-mails transactionnels (confirmation de commande, expédition…) ;
  • règles de taxes, promotions, règles de panier, prix spécifiques ;
  • interconnexions (ERP comme Dolibarr, logistique, marketplaces, flux produits) ;
  • comparaison des URL, des balises title et meta description, du sitemap ;
  • mesure des performances avant et après.

La bascule se planifie à un moment calme : dernière reprise des données, changement de serveur ou de dossier, vérifications, puis surveillance rapprochée (erreurs, Search Console, commandes) pendant les jours qui suivent.

Checklist récapitulative

  • Sauvegarde complète (fichiers + base de données) de la boutique actuelle
  • Audit : versions, thème, overrides, modifications du cœur
  • Inventaire et tri des modules : garder, remplacer, supprimer, réécrire
  • Thème actualisé et optimisé (performance, SEO)
  • Installation de PrestaShop 9 sur un environnement de recette
  • Transfert des données, rejouable
  • Plan de redirections 301
  • Recette complète (paiements, transporteurs, taxes, e-mails, interconnexions)
  • Dernière reprise des données et mise en ligne
  • Surveillance après la bascule

Votre boutique est encore en 1.7 ?

Je mène ce type de migration de bout en bout : audit, tri des modules, thème, transfert des données et recette. C’est aussi une partie importante de mon activité de développeur PrestaShop freelance et de tierce maintenance applicative, notamment lors de la reprise d’une boutique existante. Vous pouvez voir un aperçu de mes interventions dans cette étude de cas PrestaShop.

Pour en parler, contactez-moi : je commence toujours par un état des lieux de votre boutique.