Migrer Drupal (7/8/9→10) : plan, risques, rollback, staging — guide 2026

Migrer Drupal (7/8/9→10) : plan, risques, rollback, staging — guide 2026

Guide 2026 pour migrer un site Drupal 7/8/9 vers Drupal 10 : audit, préparation, staging, mise à jour (Composer/Drush), tests, plan de rollback et mise en production.

Migrer Drupal vers Drupal 10 : la méthode qui évite les mauvaises surprises

Passer à Drupal 10 n’est pas juste “mettre à jour le core”. Selon votre point de départ (Drupal 7, 8 ou 9), la stratégie change :

  • Drupal 9 → 10 : c’est le cas le plus simple (upgrade technique).
  • Drupal 8 → 10 : il faut d’abord passer proprement par Drupal 9.
  • Drupal 7 → 10 : ce n’est pas un upgrade direct, c’est un projet de migration (reconstruction + transfert de contenus).

Si vous partez de zéro côté infra, commencez par une base propre : Installer Drupal avec Docker Compose (prod) (vous gagnerez du temps sur l’environnement de test et la reproductibilité).

Illustration : migration Drupal vers Drupal 10

1) Avant de migrer : clarifiez le périmètre (et ce qui ne migrera pas)

Une migration Drupal réussie commence par une décision simple : qu’est-ce qu’on garde, qu’est-ce qu’on jette, qu’est-ce qu’on reconstruit.

À cadrer très tôt :

  • Types de contenus (et champs) réellement utilisés
  • Taxonomies, menus, blocs
  • Modules contrib indispensables
  • Fonctionnalités “custom” (modules maison, hooks, intégrations)
  • Thème : mise à jour possible ou refonte nécessaire

Côté performance, ça vaut le coup d’identifier les pages et parcours critiques (homepage, recherche, formulaires) : vous pourrez ensuite les vérifier après migration et éviter un go-live “à l’aveugle”. Pour compléter, voir aussi : Drupal lent : 15 causes + correctifs.

2) Préparez un environnement de staging “vrai” (sinon vous testez pour rien)

Le staging doit ressembler à la prod (même PHP, même DB engine/versions, même reverse proxy si possible).

Bonnes pratiques pragmatiques :

  • Cloner la prod (code + DB + fichiers)
  • Anonymiser les données sensibles si besoin
  • Bloquer l’indexation (robots + basic auth)
  • Activer des logs utiles (Nginx/Apache, PHP-FPM, Drupal)

Pour éviter les soucis en prod, prenez 10 minutes pour sécuriser l’exploitation : Drupal en production : sécurité (guide 2026).

Checklist sécurité (Drupal)

3) Cas n°1 : Drupal 9 → 10 (upgrade “propre”)

Étape A — Vérifier la compatibilité (modules + code)

L’outil le plus simple pour commencer est Upgrade Status. Il vous sort une liste claire :

  • modules compatibles
  • modules compatibles après mise à jour
  • modules non compatibles
  • code custom à corriger

C’est aussi le bon moment pour vérifier Drush (souvent, une mise à niveau est nécessaire).

Étape B — Mettre à jour modules et dépendances

L’ordre qui fonctionne bien :

  1. Mettre à jour les modules contrib
  2. Corriger le custom
  3. Puis seulement monter Drupal core

Sur des projets “classiques”, la partie la plus longue n’est pas Drupal lui-même : ce sont les dépendances et les modules dont le maintien est incertain.

Étape C — Passer le core en Drupal 10

Exemple (à adapter à votre projet) :

composer require 'drupal/core-recommended:^10' \
  'drupal/core-composer-scaffold:^10' \
  'drupal/core-project-message:^10' \
  --update-with-dependencies

composer update

drush updatedb
drush cr

Ensuite : tests fonctionnels + vérification des logs.

4) Cas n°2 : Drupal 8 → 10 (passage obligatoire par Drupal 9)

Drupal 10 est construit sur la base d’un Drupal 9 “nettoyé” : si vous êtes en Drupal 8, le chemin robuste est :

  1. Drupal 8 → dernière version supportée de Drupal 8
  2. Drupal 8 → Drupal 9 (en supprimant les dépréciations)
  3. Drupal 9 → Drupal 10

C’est typiquement ici que le staging et un déploiement reproductible (Docker/CI) vous font gagner des jours. Si vous n’avez pas de base, partez de : l’application Drupal sur adgents.cloud.

5) Cas n°3 : Drupal 7 → 10 (migration de contenus + reconstruction)

Il faut être très clair : on ne met pas “à jour” Drupal 7 vers Drupal 10. On installe Drupal 10, on reconstruit la structure (contenus, champs, vues, permissions), puis on migre les données.

Approche recommandée :

  • Installer un Drupal 10 “cible” (types de contenus, champs, taxonomies, rôles)
  • Faire un POC sur un sous-ensemble (ex: 2 types de contenus)
  • Automatiser la migration avec l’API Migrate / outils adaptés
  • Répéter jusqu’à obtenir un import reproductible

Un point souvent sous-estimé : la migration de Drupal 7 est aussi une opportunité pour supprimer des contenus obsolètes et améliorer votre SEO (URLs, redirections, structure).

6) Le plan de rollback : votre assurance anti-panique

Le rollback n’est pas un luxe : c’est une condition pour pouvoir basculer sereinement.

Concrètement, prévoyez :

  • Un backup complet juste avant bascule (DB + fichiers)
  • Un “point de retour” (snapshot disque + export DB)
  • Une procédure de retour simple, écrite et testée
  • Un critère de décision (qui décide de revenir en arrière, et quand)

Sur adgents.cloud, vous pouvez vous appuyer sur des backups automatisés (jusqu’à 1/h) + rétention longue, et ajuster CPU/RAM si la charge post-migration augmente : adgents.cloud.

7) Tests à faire avant le go-live (minimum viable)

Testez en priorité ce qui casse “en vrai” :

  • Authentification + rôles
  • Formulaires (contact, demandes)
  • Recherche
  • Envoi d’e-mails
  • Upload média
  • Redirections (si URLs changent)
  • Perfs (TTFB, pages clés)

Et n’oubliez pas la partie sécurité (updates, permissions, headers) : Drupal en production : sécurité (guide 2026).

Une vidéo (FR) utile sur la migration Drupal 7 → 10

Pour voir un retour d’expérience concret (procédure, points d’attention, pièges), cette conférence est très bien :

Cloud background

L’option simple si vous voulez surtout un hébergement fiable

Si votre priorité est d’avoir un Drupal 10 stable, sauvegardé, et facile à faire évoluer, vous pouvez déployer rapidement via : Hébergement Drupal sur adgents.cloud.

Vous gardez :

  • déploiement rapide
  • facturation à l’heure
  • stop/start
  • backups automatiques (jusqu’à 1/h)
  • rétention longue (jusqu’à 10 ans)
  • scaling CPU/RAM à la demande

Résumé

  • Drupal 9 → 10 : Upgrade Status, mise à jour modules/custom, puis upgrade core
  • Drupal 8 → 10 : passer par Drupal 9
  • Drupal 7 → 10 : reconstruire + migrer les contenus (projet à part entière)
  • Dans tous les cas : staging réaliste + tests + rollback prêt
Cloud pattern

Cet article vous a été utile ?

N'hésitez pas à découvrir d'autres articles

Voir plus d'articles