WordPress de A à Z — M comme Multisite

Un nom de domaine pour les rassembler tous ? Depuis la sortie de WordPress 3 et des fonctions multi-sites issues de WordPress Mu, j’envisage de mettre en place un réseau de sites pour regrouper css4design, wp4design et js4design en tant que sous-domaines de 4design pour obtenir css.4design.tl, wp.4design.tl et js.4design.tl. L’objectif est multiple : mettre en place ces nouvelles fonctions en situation réelle pour apprendre sur le tas ; pouvoir créer des nouveaux projets sans multiplier les noms de domaines ; me faciliter la vie et gagner du temps lors des mises à jour. Voici le sommaire complet des 26 articles de WordPress de A à Z

Créer le réseau de sites

Il existe de nombreuses manières d’aborder la notion de réseau de sites. Vous pouvez avoir envie d’ajouter une ou plusieurs cordes à votre arc en continuant d’alimenter votre site principal tout en vous ménageant la possibilité d’avoir des à-côtés thématiques, ou bien créer un gros réseau pour permettre au public de créer son blog perso. Mon objectif se situe plutôt vers la première proposition 🙂

Je précise que cet article prend comme point de départ l’architecture de mes installations d’orgine et l’objectif que je me suis fixé. Il se peut donc que certaines choses ne s’appliquent pas à votre cas ou ne fonctionnent pas du tout comme prévu. Vous voilà prévenus 🙂

En tout état de cause, WordPress propose de gérer plusieurs sites avec une seule installation. Ces sites peuvent être accessibles de trois manières :

  • En tant que répertoire d’un nom de domaine (mondomaine.fr/site1 ; mondomaine.fr/site2) — Fonctionne out of the box.
  • En sous-domaine d’un domaine principale (site1.mondomaine.fr ; site2.mondomaine.fr) — Nécessite de créer un Wildcard subdomains si l’on veut bénéficier de la création des sous-domaines à la volée par les utilisateurs voulant créer leur blog. Il est toutefois possible de créer les sous-domaine dans l’interface de son hébergeur « à la main » sans utiliser de Wildcard Subdomains. Merci à @martin1975 pour cette précision.
  • Avec un nom de domaine spécifique pour chaque site (mondomaine1.fr ; mondomaine2.fr) — Nécessite le plugin WordPress MU Domain Mapping plugin (cf. Migrating Multiple Blogs into WordPress 3.0 Multisite).

Il existe de nombreux tutoriels expliquant comment mettre en place les fonctions multisite de WordPress, notamment : Installation de WordPress 3.0 Multisite et Configurer WordPress Multisite. Par ailleurs, le codex explique également tout ce qu’il faut savoir sur le sujet dans l’article Create A Network.

Mon hébergement ne gère pas les Wildcard subdomains pour la création des sous-domaines à la volée. Dans mon cas, ce n’est pas très gênant, puisque je connais à l’avance les sous-domaines dont j’ai besoin. Il suffit de les créer depuis l’interface de votre hébergeur et de les faire pointer vers le dossier qui contient l’installation de votre site WordPress.

A ce stade, si vous avez effectué les modifications sur les fichiers wp-config.php et .htaccess comme précisé dans Create A Network, vous devriez pouvoir d’ores et déjà créer vos sites en sous-domaine depuis l’interface de WordPress.

Découvrez la Super Administration

Dashboard

L’activation des fonctions multisites se concrétise par l’apparition d’un tableau de bord spécifique qui vous permettra de :

  • Créer un nouveau site ou un nouvel utilisateur,
  • Faire des recherche sur les sites ou les utilisateurs.

Les autres widgets sont l’affichage des flux RSS du Planet de WordPress francophone et les actualités des extensions.

Menu Sites

Permet d’ajouter un nouveau site ou d’afficher les sites déjà créés. Pour chaque site, des liens s’affichent au survol de la souris (Modifier | Tableau de bord | Désactiver | Archiver | Indésirable | Supprimer | Afficher). Il est possible d’effectuer des modifications globales sur plusieurs sites.

Menu Utilisateurs

Permet d’ajouter un utilisateur ou d’afficher la liste de l’ensemble des utilisateur du réseau de sites avec pour chacun la liste des sites dont ils est membre.

Menu Thèmes

Permet d’ajouter ou d’éditer des thèmes.

Menu Extensions

Permet d’ajouter ou d’éditer des extensions.

Menu Réglages

Réglages du réseau

  • Réglages de fonctionnement — Nom du réseau ; adresse de contact de l’administrateur du réseau.
  • Réglages d’inscription — Autorisation des nouvelles inscriptions ; notification d’inscription ; ajout des nouveaux utilisateurs ;liste des noms bannis, enregistrement réservé aux noms de domaines, liste des noms de domaines bannis.
  • Réglages des nouveaux sites — Message de bienvenue ; contenus par défaut du premier article, de la première page et du premier commentaire ; auteur du premier commentaire ; adresse du premier commentaire.
  • Réglages d’envoi des fichiers — Espace de stockage du site ; types de fichiers autorisés ; taille maximale des fichiers.
  • Réglages de langage — Choix de la langue par défaut.
  • Réglages du menu — Activation des menus d’administration.

Réglage du réseau

Il s’agit d’un rappel concernant les étapes à effectuer pour que votre réseau de sites fonctionne :

  1. Création du répertoire blogs.dir dans votre dossier wp-content,
  2. Ajout des constantes dans votre fichier wp-config.php,
  3. Ajout des règles de réécriture dans le fichier .htaccess.

Menu Mises à jour

Permet de mettre à jour l’ensemble du réseau avec la dernière version de WordPress et les dernières versions des extensions installées ou d’afficher la liste des mises à jour disponibles que l’on pourra effectuer au choix.

Gérer les utilisateurs

Lors de la création de votre réseau de site, vous êtes l’unique utilisateur avec le statut enviable de Super Administrateur : c’est vous le Super Héros, les collants en moins (ou pas), ce qui vous permet de gérer les paramètres du réseau.

Quand vous créez un nouveau site (dans mon cas un nouveau sous-domaine), un utilisateur du même nom est créé. Il n’aura accès qu’à la gestion des paramètres du sous-domaine dont il est l’administrateur.

Pour gérer plus facilement votre réseau de site, il peut être utile d’ajouter le «Super Administrateur» dans les utilisateurs des sous-domaine en cochant la case Super Admin pour Donner les droits de super admin à cet utilisateur pour le réseau afin que l’ensemble des sites de votre réseau apparaisse dans le menu déroulant Mes sites. Cette précaution vous épargnera bien des clics et des aller-retours dans les menus.

Vérifier quelques points

Il existe de nombreux points à vérifier avant, pendant ou après la création de votre réseau de sites.

Formats d’images

Vérifiez le format des images par défaut avant d’importer le fichier XML de votre blog dans Réglages des médias (Réglages -> Médias). Changez, si besoin, les largeurs et hauteurs des miniatures, de la taille moyenne, et de la grande taille des images que vous avez importées depuis Ajouter un média.

Chemins des images

Lors de l’import du fichier XML, il se peut que vos dossiers images ne soient pas tous créés dans le répertoire /blogs.dir de wp-content/. Comme un malheur n’arrive jamais seul, les chemins en dur de vos images au sein de vos articles peuvent rester sous la forme /wp-content/uploads/ ; il peut être nécessaire d’effectuer des ajustements.

Copiez le contenu de votre dossier /wp-content/uploads/ vers /blogs.dir/2/wp-content/uploads/ (si 2 est le n° d’ordre de votre blog) et remplacez les chemins d’images obsolètes via phpMyAdmin.

Si vous aviez une organisation par année et par mois, tout devrait bien se passer. Dans l’onglet SQL de phpMyAdmin (par exemple), saisissez la requête suivante (cf. 22 requêtes MySQL indispensables pour WordPress) en prenant soin de modifier la bonne table !

UPDATE wp_2_posts
SET post_content =
REPLACE (post_content, '/wp-content/uploads/', '/wp-content/uploads/');

Thèmes & extensions

Il est possible de limiter la gestion des thèmes et des extensions à l’administrateur du réseau de sites. Toutefois, si vous voulez activer des extensions sur chaque blog (ou spécifier des réglages différents selon le site), il est nécessaire de cocher la case Activer les menus d’administration tout en bas de /wp-admin/network/settings.php (merci @JulienDenoncin).

EXTENSIONS MULTISITES

Il existe des extensions spécifiques pour les fonctions multisites. Pour l’instant, j’ai installé Google XML Sitemaps with Multisite support en cours de test.

Menu personnalisé

Remettre les menus personnalisés en place. Les différents menus sont conservés, mais ils ne sont pas activés par défaut.

Import des billets

L’export XML de WordPress ne gère toujours pas les liens des différentes blogrolls que vous auriez pu créer. Il faudra les refaire à la main.

PERMALIENS

Modifier les permaliens par défaut pour faire correspondre le motif à votre ancienne installation, histoire de faciliter les redirections 301 le cas échéant. Gérer les liens internes dans les billets si les URL sont absolues…

SEO

Nul doute que cette migration aura des impacts sur le référencement. Il y devrait y avoir du bon sur le long terme si chaque sous-domaine apporte un peu de jus au domaine principal, ce qui — je l’espère mais sans me faire d’illusion — devrait compenser la perte des bons points dus à l’ancienneté des noms de domaines respectifs.

Je compte aussi bien sur sur le bon fonctionnement des redirections 301 et sur l’augmentation du nombre de visites en provenance des moteurs de recherche sur la globalité du réseau.

Je vous tiendrais au courant des évolutions en terme de trafic et de référencement lorsque j’aurai un peu de recul.

Redirection 301

Lorsqu’on a quelques centaines de billets qui trainent dans la nature, il faut penser à faire des redirections, ne serait-ce que pour que Google retrouve ses petits. Pour cela, je vais garnir mon .htaccess avec la règle de réécriture suivante :

Redirect permanent / http://css.4design.tl/

J’avais dans une premier temps, utilisé la règle :

RewriteCond %{HTTP_HOST} ^wp4design.com$ [NC]
RewriteRule ^(.*)$ https://4design.xyz/articles/wordpress-webdesign/$1 [R=301,L]

Merci à Laurent Molina (@Honemo) pour ses bons conseils tard dans la nuit sur Twitter 🙂

Mais comme les noms de domaines sur lesquels s’appliquent la redirection sont situés sur le même serveur, la première syntaxe suffit. Je cite Lunix Watt (@LunixA380) :

[Comme] le site wp4design.com est dans un dossier différent que wp.4design.tl . J’ai exploité cet élément en utilisant la directive Redirect. Comme ils sont dans un dossier différent, la redirection ne bouclera pas et la condition n’est pas nécessaire. Enfin, le / représente le répertoire englobant toutes les requêtes. Quand on fait https://plus.google.com/, la requête reçue sur le serveur est en réalité GET /. Mais quand on fait https://plus.google.com/stream , la requête reçue est GET /stream. On retrouve donc le même répertoire racine, qui est /.

Concrètement, j’ai ajouté cette règle dans le fichier .htaccess de chaque répertoire concerné par les redirections.

→ Plus d’informations sur les redirections 301 ou 302 dans l’article La redirection 301 et le petit robots.txt sont dans un bateau…

Partenaires, sponsors et annonceurs

Pensez à demander à vos annonceurs ce qu’ils pensent des changements que vous envisagez. Si vous garantissez que les anciens noms de domaines pointeront vers les nouveaux sous-domaines avec des redirections permanentes (301), il ne devrait pas y avoir de problème (ou alors, c’est toute l’économie du web qu’il faut revoir !).

Services Google

Google Analytics

Le célèbre outil de mesure d’audience de Google propose plusieurs codes de suivi selon la structure de votre site :

  • Un seul domaine(4design.tl),
  • Un seul domaine associé à plusieurs sous-domaines (www.4design.tl, apps.4design.tl, store.4design.tl),
  • Plusieurs extensions de domaine (4design.uk, 4design.cn, 4design.de).

Dans le cadre de cette expérience grandeur nature, j’ai opté pour l’analyse d’un domaine associé à plusieurs sous-domaines pour centraliser les tableaux de bord et avoir une vision synthétique des statistiques de fréquentation des différentes thématiques.

Pour avoir cette vision synthétique sur les statistiques d’accès aux différents sous-domaines, on peut créer des rapports personnalisés avec le nom d’hôte comme Détails des variables et les données qui vous intéressent avec Ajouter une statistique.

Google Webmaster Tools

Il ne faut pas non plus oublier d’enregistrer son tout nouveau nom de domaine sur les outils Google pour Webmaster.

Ressources pour WordPress multisite

Bref…

Il y aurait sans doute encore beaucoup à écrire sur ce sujet inépuisable, mais je ne le suis pas (inépuisable)… Bref, j’ai créé mon réseau de sites 🙂