Dans ce tutoriel, je vais vous expliquer ce qu’est un multi-site WordPress, pourquoi le mettre en place et surtout comment!
Le multi-site: qu’est ce que c’est?
La plupart d’entre vous doivent connaître WordPress « classique », WordPress « single » comme on lit aussi. C’est une installation de notre CMS qui va être utilisé pour propulser fièrement un site internet.
En activant la fonctionnalité « Multi-site », votre WordPress « classique » avec une installation unique va pouvoir propulser autant de sites web que votre serveur saura en supporter!
Le meilleur exemple dans ce domaine n’est autre que wordpress.com la plateforme de sites internet créé et gérée par Automaticc. Ce service commercial qui propulse aujourd’hui plusieurs millions de sites internet n’est en fait qu’une seule installation de WordPress!
Depuis WordPress 3.0, la fonctionnalité multi-site est complètement intégrée dans WordPress.
Dans quel cas utiliser un réseau de site ?
Il peut être intéressant de créer un réseau de site lorsque vous allez avoir plusieurs site a héberger… vous ne gérerez alors qu’une seule installation partageant thèmes et extension. Vous gagnerez du temps en maintenance puisque vous mettrez par exemple à jour un seul Core WordPress, une seule version d’extension ou de thème.
Différentes utilisation possible
On utilise aussi parfois le multi-site pour créer un site multilingue. On fera en sorte d’attribuer une langue par site et de rédiger du contenu du différent par site.
Les sites en réseau peuvent également servir pour créer un site par site d’entreprise, une holding et ses filiales par exemple.
Comment mettre en place un multi-site avec WordPress?
Sachez qu’il existe 2 façons de créer son réseau de site:
- En sous-domaine: vos url seront de la forme site1.example.com, site2.example.com
- En sous-dossier: vos url seront de la forme exmple.com/site1, example.com/site2
Si vous installez votre réseau sur une installation neuve, vous aurez le choix entre ces 2 structures. Si vous transformez une installation de WordPress existante, vous n’aurez pas d’autre choix que de choisir l’installation en sous-dossier.
A noter qu’il n’y a pas de chose que vous ne pouvez pas faire avec une des installations et que vous pouvez faire avec l’autre!
Création du réseau
Tout d’abord, pour cette exemple, je vais partir d’une installation locale de WordPress.
Bien sur, il est vivement conseillé de réaliser une sauvegarde complète ( fichiers + base de données) à ce niveau.
En suivant la bible du développeur WordPress, j’ai nommé le Codex, on comprend qu’il faut créer une constante PHP dans le fichier de configuration de WordPress situé à la racine de votre installation.
/* Multisite */
define('WP_ALLOW_MULTISITE', true);
/* C’est tout, ne touchez pas à ce qui suit ! */
Cette constante aura pour but de signifier à WordPress que nous l’autorisons à créer un Multisite et concrètement ca donne cela:
Cliquons sur la nouvelle entrée du menu « Outils » nommée « Création du réseau ». Vous obtiendrez cette page:
C’est a cette étape que vous pourrez choisir la structure de vos URL. Soit en sous-domaine, soit en sous-dossier. Si vous désirez opter pour les URL en sous-domaine, il faudra créer une entrée WildCard dans vos enregistrements DNS.
Dans mon exemple ci-dessus, pour obtenir site1.tuto-multisite.local il vous faudra créer en DNS un wildcard avec le caractère astérisque (*) : *.tuto-multisite.local et le faire pointer sur le dossier contenant votre installation de WordPress.
Cliquez sur « Installer »
Ok donc là, j’ai un message d’erreur car j’ai demandé une installation de mon réseau WordPress en sous-domaine et je n’ai pas créé de domaine Wildcard comme demandé. Ceci car sur mon installation locale… ce n’est pas simple!
WordPress à donc essayé de créer à la volée le sous-domaine aléatoire 14b292.tuto-multisite.local et n’y est pas parvenu. Si vous êtes en installation local, vous pouvez créer le domaine en éditant votre fichier « Hosts » notamment.
L’installation est presque terminée, il vous suffit de copier les 2 blocs de code dans le .htaccess et le wp-config.php de votre installation. Remplacez bien le contenu de votre .htaccess avec le bloc ci dessus.
C’est fait? Cliquez donc sur le lien « Se Connecter »
Bravo! Votre réseau de site WordPress est installé!
Découvrons le nouveau Back-Office de notre WordPress multi-site fraîchement installé.
La principale modification, vous l’aurez peut être remarqué réside dans l’apparition d’un nouveau menu, le menu de l’administration réseau:
Ici seront listé tous les sites que vous pourrez créer sur votre réseau de site en tant que Super-admin. En effet, en activant le mode multi-site, un nouveau rôle à été créé, celui de « Super-Admin ».
Qu’est ce que le « Super Admin »?
Sur une installation classique de WordPress, nous avons les rôles « Abonné », « Contributeur », « Auteur », « Éditeur » et « Admnistrateur ». L’Administrateur étant le rôle le plus haut, celui ayant le plus de droit sur votre installation. C’est l’utilisateur ayant ce rôle qui pourra ajouter, activer, supprimer une extension ou un thème. Il pourra également paramétrer complètement votre installation.
Sur une installation multisite, l’installation d’extensions et de thème se fait au niveau de l’administration réseau et plus au niveau de chaque site. Il fallait donc un nouveau rôle, permettant de gérer ce nouveau niveau d’administration.
Si on résume, un administrateur pourra gérer son site tandis que le super-administrateur pourra lui gérer tous les sites du réseau ainsi qu’installer des thèmes et des extensions qui seront disponible sur tout le réseau.
Principes généraux de fonctionnement
Voilà votre Multisite est maintenant installé mais je ne vais pas vous laisser comme ca!
Sachez qu’une extension comme un thème s’installe en tant que Super-admin sur le tableau de bord de l’admin réseau.
Sachez qu’une extension activée au niveau du réseau sera disponible sur tous les sites de votre Multi-site MAIS vous pouvez activer une extension site par site, ou chaque administrateur de site peut activer une extension sur son site.
Pour les thèmes, le fonctionnement est un peu différent, il doit être actif sur le réseau pour être activable sur chaque site. Ainsi, si vous avez un thème et son enfant, vous pouvez n’activez que le thème enfant pour qu’aucune modification ne soit apportée au thème « parent ».
Le tutoriel a le mérite d’exister, mais il s’abstient de traiter la principale difficulté du multisite Worpdress: le wildcard chez l’hébergeur si on veut créer des sites en sous domaine… un tutoriel était absolument nécessaire à l’époque du WPMU, mais là, si vous faites un tutoriel qui ne traite pas de la seule véritable difficulté, c’est un peu dommage…
Bonjour et merci de participer, remonter les infos.
La création du sous-domaine Wildcard est effectivement a réalisé chez votre hébergeur et selon l’hébergeur les outils mis à disposition ne sont pas forcément les memes.
Toutefois, le sujet du domaine Wildcard est abordé ici:
Merci pour votre réponse. J’ai bien lu la phrase ci-dessus dans votre tutoriel; mais telle quelle, soit on sait déjà ce qu’on fait (et on n’a pas vraiment besoin d’un tutoriel, du coup), soit ce n’est pas assez détaillé pour être appliqué; il manque un pas-à-pas de cette étape cruciale dans l’installation d’un multisite…
Bonjour,
je confirme la demande, en effet, cela me bloque.
Je ne comprends pas certaines choses :
1 – les « sous-sites » doivent avoir leur propre WP ? (car quand j’essai d’aller sur le tableau de bord de mon second site, impossible… car il n’a pas de WP).
2 – J’ai essayé en configurant le Wilcard en CNAME ou A, dans les deux cas, c’est toujours pareil.
Je suis sous OVH Plesk, si je créer un Alias avec redirection 301, ca renvoi sur le WP Admin du site principal, si je retire les redirections 301… alors je n’est plus de WP Admin pour mon second site.
C’est incompréhensible….
Sinon je dois créer un sous domaine dans lequel j’installe WP, mais ou est l’intéret du multi-site du coup?
Bonjour,
le DNS Wildcard n’est pas autorisé par tous les registrars/hébergeurs et je ne peux pas lister les procédures pour chacun d’eux.
Si votre fournisseur n’autorise pas le wildcard alors, faites une entrée DNS par sous domaine. Chaque entrée DNS doit pointer vers le même hébergement ou se trouve votre WordPress multisite. Une fois sur l’hébergement (dans le cas ou le DNS ne se gère pas via le même fournisseur), faites pointer les sous-domaines sur le même dossier contenant le WordPress multisite.
Bon courage