Guides WordPress

Comment installer un WordPress multisite et créer un réseau de sites

Installer un WordPress multisite et créer un réseau de sites

Pour installer un WordPress multisite, ajoutez define( 'WP_ALLOW_MULTISITE', true ); dans wp-config.php, ouvrez Outils puis Création du réseau, choisissez sous-domaines ou sous-répertoires, puis collez dans wp-config.php et .htaccess les lignes que WordPress vous donne. Un quart d’heure suffit. La vraie question est en amont : un réseau partage tout (code, extensions, base de données, comptes), ce qui simplifie la gestion mais lie le sort de tous les sites. Ce guide vous aide à décider, puis vous accompagne pas à pas.

Multisite : ce qui est partagé, ce qui ne l’est pas

Un réseau multisite, c’est une seule installation WordPress qui sert plusieurs sites. Chaque site a ses contenus, ses réglages et ses médias ; tout le reste est commun.

Un réseau multisite : une installation, plusieurs sites Au centre, l’installation commune : cœur de WordPress, extensions, thèmes, base de données et comptes. Trois sites s’y rattachent, chacun avec ses contenus, réglages et médias. Une mise à jour faite par le super administrateur se propage à tous les sites en même temps, comme le ferait une faille dans une extension activée sur le réseau. Installation commune cœur, extensions, thèmes base de données, comptes Super administrateur Site 1exemple.frcontenus, réglages,médias Site 2exemple.fr/boutiquecontenus, réglages,médias Site 3blog.exemple.frcontenus, réglages,médias Un réseau multisite : une installation, plusieurs sitesAu centre, l’installation commune : cœur de WordPress, extensions, thèmes, base de données et comptes. Trois sites s’y rattachent, chacun avec ses contenus, réglages et médias. Une mise à jour faite par le super administrateur se propage à tous les sites en même temps, comme le ferait une faille dans une extension activée sur le réseau.Installation communecœur, extensions, thèmesbase de données, comptesSuper administrateurSite 1exemple.frcontenus, réglages, médiasSite 2exemple.fr/boutiquecontenus, réglages, médiasSite 3blog.exemple.frcontenus, réglages, médias
Une mise à jour du réseau touche tous les sites à la fois : c’est l’avantage, et le risque, du multisite.
  • Partagé : les fichiers de WordPress, les extensions et thèmes installés, la table des utilisateurs, la base de données (chaque site a ses propres tables, préfixées wp_2_, wp_3_…).
  • Propre à chaque site : articles, pages, réglages, extensions activées localement, thème actif, médias rangés dans wp-content/uploads/sites/N/.
  • Réservé au super administrateur : installer ou supprimer extensions et thèmes, créer des sites, publier du HTML non filtré. Les administrateurs de chaque site ne peuvent qu’activer ce qu’il a installé.

Avantages, inconvénients et risques

AvantagesInconvénients et risques
Une seule mise à jour pour tous les sitesUne mise à jour qui casse, casse tout le réseau
Extensions et thèmes installés une foisUne faille dans une extension du réseau expose tous les sites
Comptes communs, un seul identifiant pour plusieurs sitesUn compte de super administrateur compromis donne tous les sites
Création d’un site en quelques secondesRestaurer un seul site depuis une sauvegarde est plus délicat
Administrateurs locaux sans droit d’installer du codeCertaines extensions ne gèrent pas le multisite
Idéal pour des sites semblables (franchises, écoles, langues)Un site qui grossit ne se sort pas du réseau en un clic
Le multisite convient à des sites qui se ressemblent et dépendent d’une même équipe.

Choisissez le multisite pour un réseau de sites homogènes gérés par une même équipe : antennes régionales, établissements scolaires, sites par langue, plateformes de blogs. Évitez-le pour des sites de clients différents, des sites très hétérogènes ou une boutique qui a besoin d’extensions particulières : des installations séparées, gérées avec un outil de suivi centralisé, isolent mieux les risques.

Sous-domaines ou sous-répertoires ?

CritèreSous-domainesSous-répertoires
Adresse des sitesblog.exemple.frexemple.fr/blog
DNSEntrée générique *.exemple.fr pour créer des sites à la voléeRien à ajouter
HTTPSCertificat générique (wildcard) ou un certificat par sous-domaineLe certificat du domaine suffit
Possible si…Pas sur localhost ni sur une adresse IPSite installé il y a moins d’un mois, sinon bloqué par défaut
RéférencementChaque site est vu comme plus indépendantLes sites profitent davantage du domaine principal
Le blocage des sous-répertoires évite les conflits avec les permaliens d’articles déjà publiés ; la constante ALLOW_SUBDIRECTORY_INSTALL le lève si vous savez ce que vous faites.

Dans les deux cas, chaque site peut ensuite recevoir son propre nom de domaine (voir plus bas).

Installer le réseau pas à pas

Les six étapes de création d’un réseau multisite : préparer (sauvegarde, permaliens, extensions désactivées), autoriser le multisite dans wp-config.php, créer le réseau depuis Outils > Création du réseau, coller les constantes dans wp-config.php, remplacer les règles du .htaccess, puis se reconnecter et régler le réseau.
Les six étapes de la création d’un réseau.

1. Préparer

Sauvegardez fichiers et base de données (la règle 3-2-1), vérifiez que les permaliens fonctionnent et désactivez toutes les extensions. Faites l’opération d’abord sur une préproduction si le site est déjà en ligne.

2. Autoriser le multisite

Dans wp-config.php, au-dessus de la ligne « C’est tout, ne touchez pas à ce qui suit ! » :

/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );

3. Créer le réseau

Rechargez l’administration, ouvrez Outils > Création du réseau, choisissez sous-domaines ou sous-répertoires, vérifiez le titre du réseau et l’adresse de contact, puis cliquez sur Installer. En ligne de commande, wp core multisite-convert fait la même chose (ajoutez --subdomains pour des sous-domaines).

4. Compléter wp-config.php

WordPress affiche les lignes exactes pour votre installation. Pour un réseau en sous-répertoires sur exemple.fr, elles ressemblent à ceci :

define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
define( 'DOMAIN_CURRENT_SITE', 'exemple.fr' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

5. Remplacer les règles du .htaccess

Sur Apache ou LiteSpeed, remplacez le bloc WordPress du fichier .htaccess par celui que donne l’écran. Pour des sous-répertoires :

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]

# ajoute la barre oblique finale à /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

Pour des sous-domaines, les trois règles qui contiennent ([_0-9a-zA-Z-]+/)? deviennent RewriteRule ^wp-admin$ wp-admin/ [R=301,L], RewriteRule ^(wp-(content|admin|includes).*) $1 [L] et RewriteRule ^(.*\.php)$ $1 [L]. Sous Nginx, il n’y a pas de .htaccess : les règles équivalentes vont dans la configuration du serveur.

6. Se reconnecter et régler le réseau

Reconnectez-vous : le menu Mes sites > Admin du réseau apparaît. Dans Réglages du réseau, décidez qui peut créer un site, les types de fichiers autorisés, la taille maximale d’un envoi (1 500 Ko par défaut) et l’espace par site (100 Mo par défaut). Réactivez ensuite les extensions une par une, en choisissant pour chacune entre activation sur tout le réseau et activation site par site.

Donner un nom de domaine à chaque site

Le mappage de domaine est intégré depuis WordPress 4.5. Faites pointer le domaine vers le serveur du réseau, installez un certificat HTTPS pour ce domaine, puis, dans Admin du réseau > Sites, modifiez le site et remplacez son adresse par le nouveau domaine. Si la connexion échoue avec une erreur de cookies, la documentation officielle propose d’ajouter define( 'COOKIE_DOMAIN', $_SERVER['HTTP_HOST'] ); dans wp-config.php. Chaque domaine a alors ses propres cookies : il faut se connecter sur chacun.

Extensions, sauvegardes et sécurité du réseau

  • Compatibilité : avant d’installer une extension, cherchez dans sa documentation une mention explicite du multisite. Les extensions de cache, de sauvegarde, de sécurité et de boutique sont les plus sensibles.
  • Sauvegardes : sauvegardez le réseau entier (fichiers et base complète). Vérifiez que votre outil sait restaurer un seul site sans écraser les autres, et testez-le.
  • Super administrateurs : le moins possible, avec double authentification et des comptes nominatifs ; donnez aux responsables de site le rôle d’administrateur du site seulement (voir rôles et moindre privilège).
  • Extensions du réseau : chaque extension activée sur tout le réseau est une surface d’attaque pour tous les sites. Supprimez celles qui ne servent plus.
  • Connexion : protégez wp-login.php et wp-admin au niveau du serveur si votre extension de sécurité ne gère pas le multisite (voir protéger wp-admin au niveau du serveur).

WP Masquerade et le multisite

Soyons clairs : WP Masquerade ne prend pas en charge le multisite. Sur un réseau, la version gratuite reste inactive (le masquage, l’adresse de connexion personnalisée et le blocage de XML-RPC ne s’appliquent pas) pour ne rien casser, et les alias d’adresses de fichiers comme la protection des images de Pro refusent de s’activer. WP Masquerade est conçu pour des installations simples, un site par installation.

Si vous hésitez encore entre un réseau et plusieurs installations séparées, c’est un argument de plus pour les secondes quand les sites appartiennent à des clients différents : chaque site reçoit alors sa propre protection, et l’espace membre de Pro suit les mises à jour de tous vos sites au même endroit. Pour un réseau, appuyez-vous sur une extension de sécurité qui gère explicitement le multisite et sur des règles serveur.

En anglais (chaîne officielle WordPress, Learn WordPress) : la création d’un réseau multisite en sept minutes, de l’autorisation dans wp-config.php à l’activation du réseau.

À retenir

  • Le multisite partage code, extensions, base et comptes : idéal pour des sites semblables gérés par une même équipe.
  • Sous-répertoires si le site a moins d’un mois, sous-domaines avec DNS et certificat génériques sinon.
  • Quatre étapes techniques : WP_ALLOW_MULTISITE, Création du réseau, lignes de wp-config.php, règles du .htaccess.
  • Une faille ou une mauvaise mise à jour touche tout le réseau : peu de super administrateurs, peu d’extensions, sauvegardes testées.
  • WP Masquerade ne gère pas le multisite : protégez le réseau au niveau du serveur.

Questions fréquentes

Peut-on transformer un site existant en multisite ?

Oui, c’est même la méthode normale : le site existant devient le site principal du réseau. Si des articles ont été publiés il y a plus d’un mois, WordPress impose les sous-domaines, sauf à définir ALLOW_SUBDIRECTORY_INSTALL.

Mon hébergement mutualisé accepte-t-il le multisite ?

En sous-répertoires, presque toujours. En sous-domaines, il faut pouvoir créer une entrée DNS générique et un certificat HTTPS adapté, ce que tous les mutualisés ne permettent pas : vérifiez auprès de votre hébergeur.

Comment sortir un site d’un réseau multisite ?

Il n’y a pas de bouton : on exporte ses contenus et médias vers une nouvelle installation simple, avec l’outil d’export de WordPress ou une extension de migration qui gère le multisite, puis on recrée réglages et extensions.

Le multisite est-il plus sûr que des sites séparés ?

Il est plus simple à tenir à jour, mais moins cloisonné : une faille ou un compte de super administrateur compromis touche tous les sites. Pour des sites indépendants, des installations séparées limitent mieux les dégâts.

Plusieurs sites séparés ? Protégez-les tous

Pour des installations WordPress simples, WP Masquerade masque WordPress et protège la connexion sur chaque site, et Pro suit les mises à jour et les failles de tous vos sites dans votre espace membre, avec des offres pour 10 et 100 sites.

Sources

  • WordPress Developer Resources : Before You Create A Network (lien externe, nouvel onglet)
  • WordPress Developer Resources : Create A Network (lien externe, nouvel onglet)
  • WordPress Developer Resources : Multisite Domain Mapping (lien externe, nouvel onglet)
  • WP-CLI : wp core multisite-convert (lien externe, nouvel onglet)

La sécurité WordPress, sans le bruit

Un e-mail quand ça compte : nouvelles attaques observées, mises à jour de l’extension et guides pratiques. Pas de spam, désinscription en un clic.