WordPress Multisite par domaine

L’une de mes principales priorités est de limiter a maxima les contraintes de maintenance de mes sites, afin de pouvoir mieux concentrer mon attention et mon énergie sur un travail rédactionnel.

Dans un premier temps, j’ai eu tendance à privilégier l’installation de WordPress multi-sites sur un compte d’hébergement mutualisé OVH (version Pro pour pouvoir disposer d’un accès ssh en ligne de commande, pour synchroniser facilement avec rsync, etc.). Malheureusement, ce qui est documenté oriente vers des sites essentiellement en sous-domaines. Cela pousse à multiplier les instances de code lorsque l’on souhaite disposer de sites répartis sur différents domaines.

Le code dans le fichier wp-config.php est alors du type :

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

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

/* C’est tout, ne touchez pas à ce qui suit ! */

En ajoutant un nouveau domaine pointant vers le même docroot, j’obtiens systématiquement une erreur de cookies lorsque je tente de me connecter pour administrer le nouveau site 🙁

Pour pouvoir opérer, il ajouter une ligne définissant COOKIE_DOMAIN à partir du nom de domaine de la requête courante. On obtient alors :

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

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

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

/* C’est tout, ne touchez pas à ce qui suit ! */

Et voilà! (à prononcer avec l’accent américain, svp)

Au final : le blog sasha.paris est un WP multi-sites qui fonctionne avec un unique domaine, et des routes de dossiers web en guise en de sous-site. Tous mes autres domaines sont désormais motorisés par un autre instance de code WP, en mode multi-sites + multi-domaines.

Il n’est, en effet, pas possible de cumuler des routes dossiers et multi-domaines sur la même instance de code WP.

Nota : OVH ne faisant pas partie des hébergeurs reconnus comme verts par la Green Web Foundation, je déménagerai mon hébergement à l’issue du contrat en cours (probablement vers Infomaniak).