Dans le premier article de cette série « « , nous avons vu comment créer un réseau de sites sur une seule installation de WordPress et une seule base de données. Jusqu’à présent, les sites du réseau ont tous une url sous la forme d’un sous-domaine du site principal (http(s)://prefix.domain-principal.com et le site principal est http(s)://domain-principal.com). Je veux qu’un des sites du réseau utilise un autre nom de domaine, et pas un sous-domaine du domaine principal.

Pour celà, l’usage est d’utiliser une extension de « domain mapping », telle que WordPress MU Domain Mapping. Dans ce billet, je vais parler de cette extension et d’une méthode encore plus simple.

Préparation du nom de domaine à associer

Le site WordPress multisite dans lequel je veux insérer un nouveau domaine est dans un répertoire intitulé « multi-test ». Le domaine que je veux y insérer est  test1.parcours-performance.com

Sur l’espace client OVH, dans l’hébergement qui contient le multisite, cliquer sur l’onglet « multisites » puis sur le bouton « ajouter un domaine ou un sous-domaine ».

Association d'un domaine tiers à un WordPress multisite - 1

Là je n’aurais pas dû cocher « créer également … www… ». Je l’ai supprimé après pour ne pas multiplier les noms de domaine dans mon espace client…

Association d'un domaine tiers à un WordPress multisite - 2

Association d'un domaine tiers à un WordPress multisite - 3

Mon site WordPress multisite avant

J’ai déjà créé les sites test1.potentiel-web.com et test2.potentiel-web.com selon la méthodologie décrite dans l’article précédent de cette série . Je vais les laisser tels quels.

Je pars donc d’un réseau de sites contenant 3 sites :

  • le site principal (potentiel-web.com)
  • deux sites ayant pour nom un sous-domaine du site principal (test1.potentiel-web.com et test2.potentiel-web.com).

Je viens de créer un sous-domaine, test1.parcours-performance.com, dans mon espace client OVH et il est relié à l’hébergement du multisite.

J’ai maintenant deux options pour créer un site dans le réseau multisite :

  1. avec l’extension  WordPress MU Domain Mapping ;
  2. Sans extension – c’est la solution que je recommande.

Avec une extension de « domain mapping »

On installe WordPress MU Domain Mapping de façon normale avec « admin du réseau » > « extensions » > « ajouter » puis on cliquer sur « activer sur le réseau ».

Configurer WordPress MU Domain Mapping

Pour être certaine de comprendre les instructions d’installation de l’extension, j’ai également lu WordPress 3.0: Multisite Domain Mapping Tutorial.

Modification de fichiers

  1. Avec Filezilla (ou autre client FTP), aller dans /multi-test/wp-content/plugins/wordpress-mu-domain-mapping  et déplacer sunrise.php  pour le mettre dans /multi-test/wp-content .
  2. éditer wp-config.php  et décommenter ou ajouter la ligne suivante, au dessus de dernier « require_once ».
/* for the multisite WordPress MU Domain Mapping extension */
define( 'SUNRISE', 'on' );

Réglages de l’extension

Dans « admin du réseau » > « Tableau de bord », on voit dans les menus à gauche « Réglages ». Cliquer sur son sous-menu « domain mapping ».

Configuration du domain mapping

L’adresse IP se trouve à droite du nom de l’hébergement dans l’espace client OVH. Dans WordPress, « Réglages » > « Domains », on saisit cette adresse IP puis on définit les options du domaine.

Spontanément, je n’aurais coché que la case 2, comme dans la copie d’écran ci-dessus.

Mais après quelques essais, j’ai vu que je dois cocher la case 5, « Disable primary domain check. Sites will not redirect to one domain name. May cause duplicate content issues.« .  En effet, si j’utilise des domaines externes (qui ne sont pas des sous-domaines du site principal), l’internaute voit le nom du site d’origine car la redirection est visible. Ainsi, après avoir « mappé » https://test1.parcours-performance.com à https://test2.potentiel-web.com (opération décrite plus loin),  si je tape https://test1.parcours-performance.com dans un navigateur, le site s’ouvre mais l’url visible est devenue https://test2.potentiel-web.com…

Il faut donc cocher la case 5 si on veut que la redirection soit invisible pour les internautes.

Je coche donc les cases 2 et 5.

Mapper un site à un autre

En tant que super administrateur, je vais dans  « admin du réseau » > « Sites » et je vois la liste des sites déjà créés :

WordPress multisite : liste des sites

Lorsqu’on passe la souris sur le nom d’un des sites, son adresse complète apparaît tout en bas du navigateur et on peut relever son ID :

WordPress multisite : obtenir l'ID d'un site

Ici le site test1.potentiel-web.com affiche l’adresse « https://potentiel-web.com/wp-admin/network/site-info.php?id=3 ». L’ID est donc 3.

Maintenant, je vais dans « Réglages » > « Domains » et pour l’ID 3, je définis le domaine comme « test1.parcours-performance.com » :

WordPress multisite : map a domain

Ensuite si je retourne dans la liste des sites et que je cliques sur « modifier » en  dessous de test1.potentiel-web.com, je vois que l’adresse du site est restée https://test1.potentiel-web.com/ mais la liste indique un « mapping » vers test1.parcours-performance.com

Dans un navigateur, si je tape :

  • https://test1.potentiel-web.com/ m’affiche le site correspondant, dont le titre est test 1;
  • https://test1.parcours-performance.com, j’accède bien au site correspondant (dont le titre est toujours test1…) et son url visible dans le navigateur est restée https://test1.parcours-performance.com, si j’ai coché la case 5 des options de domaine (voir réglages ci-dessus).

Bilan de cette solution avec extension

Cette solution parait simple mais elle a deux inconvénients majeurs selon moi :

  • on est obligé de cocher l’option 5 si on veut que l’internaute ne voit pas la redirection. Ca génère un risque de contenu dupliqué pour les moteurs de recherche et ça ne me paraît pas acceptable.
  • Pour chaque domaine externe, on doit créer un sous-domaine du site principal ET le domaine externe. Ca prend un peu plus de temps et le risque d’erreur s’accroît.

C’est pour ces raisons que lorsque j’ai lu  un sujet épinglé par l’auteur de l’extension qui expliquait qu’on n’a même pas besoin de l’extension, j’ai sauté dessus et je suis aller explorer la solution.

Sans extension – solution recommandée

créer un nouveau site

En tant que super administrateur, je vais dans  « admin du réseau » > « Sites » et je vois la liste des sites déjà créés :

WordPress multisite : liste des sites

Je veux créer un nouveau site dans le réseau, avec l’url https://test1.parcours-performance.com. Dans la fenêtre des sites, je clique sur « ajouter » et je définis l’adresse web du site à RIEN (!) :

WordPress multisite : ajouter un nouveau site (1)

J’ai créé un site rien.potentiel-web.com, qui ne peut évidemment pas fonctionner puisque je n’ai pas créé ce sous-domaine dans mon espace client OVH. Il est visible dans la liste des sites du réseau WordPress :

WordPress multisite : ajouter un nouveau site (2)

Si je passe ma souris sur rien.potentiel-web.com, je vois apparaître « modifier ». Je clique dessus et dans « adresse web du site (URL) je remplace http://rien.potentiel-web.com/ par https://test1.parcours-performance.com. Après avoir sauvegardé la modification, je peux visiter le site et il fonctionne :

WordPress multisite : ajouter un nouveau site (3)

Maintenant un internaute peut accéder au site  https://test1.parcours-performance.com. Mais je ne peux pas accéder à son tableau de bord pour l’instant !

Régler wp-config.php

Je ne peux pas accéder au tableau de bord du nouveau site car il y a un problème de « cookies » qui interdit la connexion. Dans le navigateur Chrome ou Firefox, j’obtiens un message « ERREUR  les cookies sont bloqués ou ne sont pas reconnus par votre navigateur ». La seule solution est de modifier wp-config.php  comme indiqué dans cet article de Tom McFarlin.

Dasn wp-config.php, les lignes relatives au multisite sont maintenant les suivantes, avec les 4 lignes surlignées qui règlent le problème de cookies :

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

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'potentiel-web.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

/* HTTPS only for admin access */
define( 'FORCE_SSL_ADMIN', true );

define('ADMIN_COOKIE_PATH', '/');
define('COOKIE_DOMAIN', '');
define('COOKIEPATH', '');
define('SITECOOKIEPATH', '');

/* That's all, stop editing! Happy blogging. */

Une troisième solution pour ajouter un site

Dans le tableau de bord WordPress, je supprime le site test2.potentiel-web.com mais je le laisse associé à l’hébergement potentiel-web.com dans mon espace client OVH.

Si je tape https://test2.potentiel-web.com dans un navigateur, je suis redirigée vers l’url https://potentiel-web.com/wp-signup.php?new=test2

Si je ne suis pas connectée en tant que super administrateur (c’est le cas dans le navigateur Firefox ci-dessous), je tombe sur une page m’informant que les inscriptions sont désactivées.

WordPress multisite : ajouter un nouveau site (4)

Lorsque les inscriptions sont désactivées, c’est que dans le tableau de bord du réseau de site, dans Réglages > Réglages du réseau, j’ai coché la case « Les inscriptions ne sont pas autorisées pour le moment ». Comme je ne prévois pas de laisser des utilisateurs externes créer des sites, et que mon hébergement OVH me contraint à aller créer les noms de domaine un à un (pas de « wildcard » *), je n’ai aucun intérêt à changer ce réglage.

Et maintenant ?

Dans les prochains articles de cette série , nous verrons comment sauvegarder un multisite, y insérer un site existant ou en sortir un.

0 0 votes
Évaluation de l'article
6
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x