La version 4.5 de WordPress apporte le support natif du mapping de domaine pour les installations multisite. Que vous disposiez d'une installation en sous-domaine ou en sous-dossier, l'utilisation de noms de domaines présente un intérêt indéniable en matière de communication.

La procédure décrite dans ce tutoriel peut sans doute être complétée en fonction des configurations serveurs de chacun mais l’idée ici est d’être le plus générique possible.

Par le passé, nous avions recours à des extensions pour attacher des domaines sur un ou plusieurs sites d’un réseau WordPress. Cette technique n’est plus valide, elle génère des incompatibilités de toute sorte que j’ai pu constater : page blanche en back-office, mauvais support du HTTPS, extensions non maintenues.

J’ai récemment testé l’extension Domainer, très peu connue avec ses 10 installations au compteur. Hélas, elle génère un mauvais support de l’outil de personnalisation, le fameux Customizer mais pourra convenir à des utilisateurs débutants.

Dès lors, oublions les extensions et basons-nous sur ce que propose nativement WordPress. Je pars du principe que vous disposez déjà d’une installation multisite correctement configurée.

Connectez-vous tout d’abord dans l’administration multisite puis rendez-vous dans l’onglet Sites. Survolez le site pour lequel vous souhaitez utiliser un nom de domaine puis faites Modifier.

Là dans le champ Adresse web du site (URL) spécifiez simplement l’URL du nom de domaine que vous souhaitez utiliser. Il va de soi que ce dernier doit pointer directement sur votre serveur.

 

Le plus compliqué reste à venir : il nous faut maintenant modifier l’ensemble des URLS de votre base de données. En effet, celles-ci adoptent encore l’approche en sous-domaine ou en sous-dossier. Pour ce type d’opération, je recommande le script Search Replace Database qui va nous permettre de rechercher les anciennes URLS puis de les remplacer par les nouvelles.

Il vous faut télécharger le script, l’envoyer sur votre serveur via un client FTP ou SSH, puis l’exécutez dans votre navigateur.

Indiquez l’ancienne portion d’URL à modifier dans le champ de gauche replace – celle sous la forme example.com/sous-site ou soussite.example.com, et la nouvelle portion dans le champ de droite with sous la forme example.com. Il n’y a pas lieu d’indiquer www ou http(s):// mais seulement la portion à modifier.

Cliquez ensuite sur dry run afin de lancer la procédure en mode test. Cela va nous permettre de vérifier si le changement est correct en prévisualisant les données modifiées pour les différentes tables. Si tout est ok, faites un live run afin de procéder définitivement aux changements.

Seul inconvénient de cette méthode d’application du domaine mapping : la connexion unique entre les sites disparait et je n’ai pas encore identifié de solutions technique à ce jour, je suis donc preneur de vos conseils.

Dernier point à prendre en compte, si vous obtenez une erreur de connexion liée à vos cookies, il vous faudra ajouter la ligne suivante dans le fichier wp-config.php – pour ma part, je n’ai pas eu ce problème :

define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);

Et voilà vous disposez à présent d’une installation multisite multi-domaine sans avoir eu recours à une extension. Dommage que l’interface d’administration ne soit pas plus explicite sur cette fonctionnalité.

8 commentaires
  1. Amaury Balmer

    C’est un peu gros de faire passer cette possibilité du multisite comme une possibilité de domain mapping.

    Selon moi, le fait de ne pas bénéficier d’une authentification commune aux différents sites du multisite est un élément bloquant, et très inconfortable pour une usine à sites de 100, 200 domaines.

    De plus, pas de possibilité de mapper plusieurs domaines sur un site, de pouvoir faire les redirections.
    Bref, le domain mapping, c’est pas natif, et y’a des dizaines de plugins pour le faire, Mercator, WP Site Alias et bien d’autres.

    1. Aurélien Denis auteur de l’article

      Entièrement d’accord avec toi, et pourtant ce fut annoncé et documenté comme tel sur le Codex !

      Par contre, côté plugin les plus connus ne fonctionnent plus correctement sur mes installations et ne semblent plus supportés – je pense notamment à WordPress MU Domain Mapping. Je ne connais pas Site Alias par contre.

      Enfin pour ce qui touche aux alias de domaines, autant le faire hors WordPress selon moi.

  2. Merci pour cet article. J’utilise un multisite (5 sites en sous-dossier) avec le plugin « WordPress MU Domain Mapping » (sans ssl pour l’instant). J’ai tenté d’ajouter un site récemment, tout semble OK au niveau config et DNS mais le mapping ne se fait pas alors qu’il fonctionne toujours sur les anciens sites. J’imagine que la version 4.5 de wordpress (et ultérieures) est potentiellement la source du problème.
    Aurais-tu une piste pour faire fonctionne le mapping avec l’install actuelle (plugin) ou tu penses que c’est devenu incompatible ? D’avance merci pour les éventuelles pistes et idées.

  3. Merci pour cet article !
    Cela a parfaitement fonctionné pour moi, très rapidement et très facilement.

  4. Bonjour je poste ça ici, j’arrive pas à faire un partage de photo sur le réseau même en utilisant une extension comme « Network Shared Media ».

Laisser un commentaire