WordPress dispose d'un mode avancé permettant de faire tourner plusieurs sites à la fois sur la même installation : WordPress MU pour Multi-Sites. Mais cette fonctionnalité est cachée, et son activation requiert un peu de documentation.

Pré-requis

Dans cet article nous allons avoir besoin d'une installation WordPress existante afin d'y ajouter les fonctionnalités propres au multisite.

Cette procédure va transformer quelque-peu ton installation en rajoutant notamment de nombreuses tables dans ta base de données. Il n'est pas forcément aisé de revenir en arrière sur cette opération sans laisser des traces comme l'on désactiverai un simple plugin.

Aussi, si tu veux uniquement tester cette option, je te recommande d'effectuer dans un premier temps la procédure sur un site de test et non directement sur ton site en production.

Transformer une installation WordPress existante en multisite

Pour commencer, ajoutons ce code dans le fichier wp-config.php situé à la racine de notre projet :

L'ajout de cette constante ne va pas créer le réseau de site, mais uniquement ajouter une nouvelle section dans le panneau d'administration de WordPress.

Lancer la création du réseau de sites

Attention, c'est subtil : Dans l'onglet Paramètres, tu as désormais une nouvelle section "Création du réseau".

Une nouvelle section est apparue dans Outils > Création du réseau

Dans un premier temps, nous allons devoir désactiver l'ensemble de nos plugins. C'est un pré-requis pour faire fonctionner l'outil.

Ca y est, le réseau de site est créé.

Choix du format des URLs

Il te faudra faudra ensuite choisir quelle option nous préférons pour les URL de nos différents sites :

  • Utiliser des sous domaines (site1.site.com, site2.site.com...)
  • Utiliser des sous-dossiers (site.com/site1, site.com/site2)

Ces différents cas d'usages peuvent être utiles dans des contextes différents. Dans la suite de notre exemple, nous allons opter pour la première solution et utiliser des sous-domaines.

Configuration du fichier .htaccess

Une fois notre choix validé, WordPress nous demande d'effectuer quelques ajustements au niveau de la configuration de WordPress.

Dans le fichier .htaccess nous allons remplacer tout ce qui se trouve entre les les balises <if mod.c> ... </> :

Configuration du fichier wp-config.php

Nous allons également retourner dans le fichier wp-config.php que nous avions déjà modifié précédemment et y ajouter les lignes suivantes :

Attention à bien conserver la constante WP_ALLOW_MULTISITE que nous avions créé précédemment, faute de quoi nous ne pourrons pas voir les options spécifique au réseau de site dans le Dashboard.

Nous pouvons maintenant créer nos différents sites