Migrer un multisite WordPress
Un réseau multisite WordPress héberge plusieurs sous-sites depuis une seule installation. Migrer ce type de réseau ajoute une contrainte que n’a pas un site simple : chaque sous-site a sa propre structure de contenu, et un remplacement d’URL global casse plus qu’il ne répare.
Ce qu’un réseau multisite ajoute par rapport à un site simple
Un réseau multisite repose sur une constante MULTISITE activée dans wp-config.php, et sur une table qui répertorie l’ensemble des sous-sites du réseau avec leur domaine ou sous-domaine associé. Chaque sous-site dispose de ses propres tables de contenu, préfixées par un identifiant numérique qui lui est propre, mais l’ensemble du réseau partage une table d’utilisateurs commune au niveau du réseau : un compte utilisateur créé sur le réseau peut avoir accès à plusieurs sous-sites sans être dupliqué.
Les extensions ajoutent une distinction supplémentaire à vérifier avant migration : une extension peut être activée « pour le réseau », auquel cas elle s’applique automatiquement à tous les sous-sites y compris ceux créés après coup, ou activée individuellement sur un seul sous-site. Cette distinction ne se voit pas dans les fichiers de l’extension elle-même, seulement dans les réglages d’activation du réseau, ce qui rend l’inventaire préalable indispensable pour ne pas découvrir un sous-site orphelin d’une fonctionnalité après la bascule.
Cette organisation est stable et documentée depuis longtemps, mais elle change directement la façon de conduire une migration : il n’y a pas une seule base de contenu à traiter, mais autant de structures de contenu que de sous-sites, reliées entre elles par la table de correspondance des domaines du réseau.
Ce qu’une migration multisite implique en plus
- Une table de correspondance des domaines et sous-domaines du réseau à mettre à jour, en plus des tables de contenu
- Un remplacement d’URL qui doit s’exécuter sous-site par sous-site, l’option --url de wp search-replace ciblant un sous-site précis, pas le réseau entier en une fois
- Des sous-sites qui peuvent avoir des thèmes ou des extensions actives différentes d’un sous-site à l’autre, à vérifier individuellement
- Un domaine principal du réseau dont la bascule affecte l’accès à l’ensemble des sous-sites, pas seulement à un site isolé
Comment je conduis une migration de multisite
-
Inventaire des sous-sites
Je liste chaque sous-site du réseau, son domaine ou sous-domaine actuel, et les extensions ou thèmes qui lui sont propres, en notant lesquels sont activés au niveau du réseau plutôt qu’individuellement.
-
Copie complète sur environnement de test
Les fichiers et la base du réseau entier sont dupliqués sur un environnement de test avant toute modification d’URL.
-
Remplacement d’URL sous-site par sous-site
Je lance wp search-replace avec l’option --url ciblant chaque sous-site individuellement, plutôt qu’un remplacement global sur l’ensemble du réseau.
-
Vérification de chaque sous-site
Je contrôle que chaque sous-site répond correctement avec sa nouvelle URL, que ses réglages et ses menus s’affichent normalement, avant de passer au suivant.
-
Bascule du domaine principal
Le domaine principal du réseau n’est basculé qu’une fois tous les sous-sites vérifiés individuellement, jamais avant.
Pour aller plus loin
-
Migration d’hébergeur sans interruption
Le détail complet du mécanisme de sérialisation PHP.
-
Changement de nom de domaine
Un cas particulier proche, sur un site simple cette fois.
-
Comprendre la sérialisation PHP
La définition complète du mécanisme et de ses pièges.
-
Sauvegarder sa boutique avant intervention
Ce qu’il faut sauvegarder avant toute migration de réseau.
Décrivez votre besoin en 1 minute
Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.