Jean ROCHARD
Je partage ma passion de Wordpress dans des articles techniques sur les plugins, thèmes, nouveautés geek et optimisation SEO "on-site".
Jean ROCHARD

@jean_rochard

Chez Terre Digitale, on mange du Wordpress dès le petit-dej'.
Petit guide pour mettre en place les Facebook Instant Articles à partir de vos posts Wordpress : https://t.co/lSbzdM6z9j - 7 mois ago

WordPress propose une solution intéressante lorsque vous avez pour projet de gérer plusieurs sites partageant des éléments communs comme le thème graphique ou des plugins. Cela se nomme un réseau WordPress multisite, en Anglais « WordPress network » ou « WordPress multisite » ou « WordPress mu » pour les intimes.

Mu comme Multisite

Un Network WordPress, c’est quoi exactement ?

Un network WordPress va vous permettre de gérer plusieurs sites sur une seule et même installation de WordPress, et sur la même base de données. Techniquement, le principe est le suivant : les tables de la base de données contenant les éléments propres à un site sont dupliquées pour chaque nouveau site du réseau. Le nom des tables est alors préfixé par la chaîne spécifiée dans le wp-config.php suivie de l’identifiant unique du site (ex: wp_2_nomtable)

Dans votre administration, vous allez pouvoir gérer de façon commune :

  • les thèmes
  • les extensions (plugins)
  • les utilisateurs

Une fois le multisite en place, vous pourrez donc :

  • installer WordPress une seule fois sur un seul hébergement pour plusieurs sites
  • avoir un seul tableau de bord pour plusieurs sites
  • gérer et mettre à jour de façon centralisée les éléments communs à vos sites
  • gérer chaque site de manière spécifique, avec pour chacun des administrateurs différents, des extensions propres…

Attention, il y a quelques éléments à prendre en compte avant de basculer vers cette solution :

  • si votre réseau est en panne ou attaqués, ce sont tous vos sites qui sont concernés
  • la gestion des ressources de votre serveur est moins aisée (lors d’une montée en charge)
  • certains plugins ne sont pas compatibles avec le mode multisite, ou peuvent être aussi plus chers (license spécifique par exemple pour gravityforms alors que pour d’autres comme WPML, cela ne changera rien)

Avez vous besoin d’un réseau multisite ?

Un réseau de sites se met en place uniquement dans le cas où un partage d’éléments communs est avéré. Rien ne vous empêche sinon de gérer vos sites de façon totalement indépendante tout en centralisant leur gestion avec des solutions comme MainWP, ManageWP ou InfiniteWP.

On peut utiliser un réseau multisite comme une solution de gestion multilingue par exemple ; avec un site par langue et un switch avec un plugin comme Multisite Language Switcher.

Les différentes structure d’URL

Par défaut, vous avez plusieurs options pour gérer les adresses de vos différents sites. L’important est de bien comprendre que le site « principal » (le premier), est une base pour les autres et que c’est ) à partir de celui ci que vous allez monter votre network. Voici donc les différents structure possibles :

  • une gestion en répertoire (ex : http://mondomaine.fr/site1/). Dans ce cas, seul l’activation des permaliens adéquats sera suffisante (menu Réglages -> Permaliens). Cette structure n’est pas possible si votre site existe déjà.
  • une gestion en sous domaines (ex : http://site1.mondomaine.fr/). Dans ce cas, il faudra créer des répertoires virtuels pour chaque sites de votre network et les rediriger vers le site principal (voir par exemple la doc de gandi pour les redirections, avec même pourquoi pas la mise en place d’une wildcard « * » pour rediriger tous les sous-domaines vers le domaine principal. Vous pouvez également faire cela au niveau des vhosts gandi avec la création de liens symboliques, menu « Multi-address management » de votre administration d’instance).

Il est aussi possible de gérer des domaines totalement différents pour chaque site du network ; mais cela demandera la mise en place et le paramétrage d’un plugin comme MU Domain Mapping. Dans ce cas, il vous faudra choisir initialement la structure en sous-domaines pour mettre en place cette solution.

Basculer un site existant en WordPress multisite

Votre site est déjà installé ? Parfait, nous pouvons démarrer la bascule vers le network. Bien sûr, faîtes un backup de votre site avant toute chose.

1) Modifier votre fichier wp-config.php

Pour démarrer, récupérez votre fichier wp-config.php et ajoutez cette ligne :

define( 'WP_ALLOW_MULTISITE', true );

L’important est de l’ajouter avant la ligne de commentaire « /* C’est tout, ne touchez pas à ce qui suit ! Bon blogging ! */« . Remettez ensuite en ligne votre fichier.

2) Désactiver vos plugins

Pour que la bascule soit possible, il faut désactiver tous vos plugins.

3) Créer le réseau

Allez dans le menu « Outils -> Crée le réseau » qui est apparut suite à la modification du fichier wp-config.php. WordPress analyse votre installation et vous devrez choisir de créer le réseau en mode « sous-domaine » puisque votre site existe déjà.

creerwpnetwork

Une fois cet écran validé, vous arrivez sur un nouvel écran vous demandant de finaliser l’installation en modifiant vos fichiers wp-config.php et .htaccess :

creerwpnetwork_2

Une fois ces fichiers remis en ligne, vous n’aurez plus qu’à vous reconnecter, et un nouveau menu « Mes sites » est alors accessible :

messiteswpmu

4) Réactiver les plugins au niveau du réseau

Dans votre « Admin du réseau », vous pouvez aller dans le menu « Extensions » et réactiver les plugins au niveau du réseau.

5) Configurer le réseau

Au niveau du réseau, vous pourrez gérer les inscriptions (puisque vous pouvez laisser un utilisateur créer un nouveau site !) dans le menu « Réglages -> Réglages du réseau » :

reglagesreseau

Créer ou dupliquer un deuxième site dans votre réseau

Pour tester votre réseau, voici rapidement comment procéder. Vous pouvez commencer par ajouter une wildcard pour rediriger tous vos sous-domaines vers votre domaine principal. Chez gandi, cela se fait ainsi au niveau du domaine (« Gérer les redirections ») :

redirectwildcard

Patientez quelques heures le temps que les DNS se propagent. Vous pourrez alors soit créer un nouveau site (menu Sites -> Ajouter) sur n’importe quel sous domaine de votre domaine principal ou dupliquer le premier site en installant par exemple le plugin Multisite Clone Duplicator. C’est un des seuls plugin à faire cette tâche bien et gratuitement (dupliquer le site principal n’est pas forcément aisé). Vous retrouverez alors tous vos articles et pages comme dans le site « source » dans votre site « cible » :

dupliquerwp

Enfin, comme indiqué en début d’article, aidez vous du plugin MU Domain Mapping pour gérer un nom de domaine propre à ce nouveau site qui fonctionnera en miroir pour le sous-domaine que vous venez de créer.

Défaire le mode multisite

Pour revenir en arrière et ne plus gérer un mode multisite, la démarche est la suivante :

  • supprimer tous vos sites autres que le site principal
  • désactiver les plugins au niveau du réseau
  • modifier les fichiers wp-config.php et .htaccess pour revenir à la configuration initiale
  • se reconnecter et réactiver les plugins