Changer pour une raison vérifiable
Drupal 7 est hors support depuis le 5 janvier 2025, mais cela ne transforme pas WordPress en réponse universelle.
Le changement peut être justifié par la maintenance, le recrutement, l’édition ou le coût des modules spécifiques. On écrit ces raisons avant de choisir la cible.
Si le site dépend de workflows, permissions ou modèles de contenu complexes, il faut prouver que WordPress les reprend sans empiler des extensions fragiles.
- Support et sécurité
- Capacité de l’équipe
- Complexité éditoriale
- Coût des dépendances
Faire correspondre les modèles, pas les écrans
Un type Drupal, ses champs et ses taxonomies ne deviennent pas correctement un simple article.
On mappe chaque type vers un type de contenu, chaque champ vers une donnée native ou contrôlée, et chaque relation vers une structure testable.
Les contenus rejetés sont rapportés. Une migration qui affiche « terminé » avec des champs silencieusement perdus est ratée.
- Types et champs
- Taxonomies et relations
- Médias et textes alternatifs
- Utilisateurs et rôles
Conserver les adresses qui ont une histoire
Les alias Drupal peuvent être gardés ou redirigés vers une destination équivalente.
On exporte les URL avant migration, puis on compare la sortie WordPress. Les redirections sont directes et les liens internes utilisent déjà les nouvelles adresses.
Les langues restent séparées avec leurs liens alternatifs réciproques. Tout renvoyer vers une seule version linguistique détruit le trajet.
- Inventaire des alias
- Table ancienne → nouvelle URL
- 301 sans chaîne
- Hreflang réciproque
Prouver la migration sur un lot pilote
Un échantillon doit contenir les cas difficiles, pas seulement trois actualités.
On migre une page riche, un média public et privé, une relation, un formulaire, un compte et un contenu multilingue. Les volumes source/cible, les fichiers orphelins, les droits et la connexion des comptes sont réconciliés.
Le pilote utilise des données fictives ou anonymisées. La bascule complète vient après les tests d’édition, de recherche, de formulaire, d’indexation et de retour arrière.
Le pilote est rejoué de façon incrémentale avec un point de reprise ou un suivi des changements. On nomme la source d’écriture, draine les tâches et webhooks, gèle brièvement les éditions puis réconcilie le delta final.
Le retour arrière n’est sûr que si la cible est restée en lecture seule ou si les écritures nouvelles peuvent être synchronisées vers la source. Changer le DNS seul ne remet pas les données dans l’ancien CMS.
- Comptages source et cible
- Fichiers privés et orphelins
- Comptes et droits vérifiés
- Rapport des écarts
- Retour arrière chronométré
- Imports incrémentaux idempotents
- Gel et delta final
- Drain des files et webhooks
- Réconciliation ou synchronisation inverse
Rendre les deux versions compatibles pendant le passage
Le gel éditorial ne suffit pas si un ancien worker lit encore ce que la nouvelle cible écrit.
Les tâches, messages et valeurs de cache portent un schéma ou un espace de noms versionné. L’ancien Drupal et le nouveau WordPress savent lire les formats produits pendant la coexistence et le retour arrière ; un message incompatible est isolé sans empoisonner toute la file.
Les sauvegardes de base et fichiers privés sont déchiffrées dans les deux sens avec les vraies clés KMS, grants et contextes. Les connexions sortantes, IP autorisées et certificats mTLS sont rejoués depuis la cible, pas seulement depuis le poste de recette.
Avant de retirer Drupal du répartiteur, le contrôle fonctionnel vérifie base, médias, recherche, formulaires et connexion. Les nouvelles requêtes sont coupées, les téléversements et connexions persistantes sont drainés, et l’horloge reste synchronisée pour les jetons, signatures et tâches.
- Schémas et caches lisibles par les deux versions
- Déchiffrement cible et rollback
- Intégrations testées depuis les IP de production
- Contrôle fonctionnel et connexions drainées
Décider avant la bascule
Drupal vers WordPress, sans migration aveugle
- Inventaire Drupal complet
- Modèle WordPress validé
- Lot pilote comparé
- URL et langues testées
- Extensions propriétaires identifiées
- Stratégie de delta et rollback de données testée
- Compatibilité ancien ↔ nouveau prouvée
- Restauration chiffrée exécutée
- Drainage HTTP chronométré
Sources officielles
