Qu’est-ce que WordPress Multisite
WordPress Multisite transforme une installation WordPress en réseau de sites. Chaque site a son propre contenu, ses utilisateurs et ses réglages, mais partage le même code, les mêmes thèmes et plugins.
Lueur Externe déploie des réseaux Multisite pour les organisations qui gèrent plusieurs sites web.
Cas d’usage
- Universités : un site par département ou faculté
- Franchises : un site par point de vente
- Agences : hébergement de sites clients
- Entreprises : sites par filiale ou pays
- Médias : sites par thématique ou rubrique
Installation
Activer Multisite
// wp-config.php — Avant "That's all, stop editing!"
define('WP_ALLOW_MULTISITE', true);
Après activation, allez dans Outils > Installation du réseau.
Configuration réseau
// wp-config.php — Après l'installation du réseau
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false); // true pour sous-domaines
define('DOMAIN_CURRENT_SITE', 'example.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
Sous-domaines vs sous-répertoires
| Type | URL | Avantages |
|---|---|---|
| Sous-répertoires | example.com/site1/ | Simple, pas de DNS |
| Sous-domaines | site1.example.com | Plus propre, SEO distinct |
| Domaines mappés | site1.com | Totalement indépendant |
Administration du réseau
Gestion des sites
// Créer un site par code
$site_id = wpmu_create_blog(
'example.com', // Domaine
'/nouveau-site/', // Chemin
'Nouveau Site', // Titre
get_current_user_id() // Admin
);
if (!is_wp_error($site_id)) {
switch_to_blog($site_id);
// Configurer le nouveau site
update_option('blogdescription', 'Description du site');
update_option('permalink_structure', '/%postname%/');
restore_current_blog();
}
Thèmes et plugins
- Les thèmes sont installés au niveau réseau et activés par site
- Les plugins peuvent être activés au niveau réseau (tous les sites) ou par site
- Le super admin contrôle les thèmes et plugins disponibles
// Forcer un plugin sur tout le réseau
// mu-plugins/force-plugin.php
require_once WP_PLUGIN_DIR . '/mon-plugin/mon-plugin.php';
Domain Mapping
Pour attribuer des domaines personnalisés à chaque site :
// wp-config.php
define('SUNRISE', true);
// wp-content/sunrise.php
// Le domain mapping est natif depuis WordPress 4.5
# Nginx — Wildcard pour sous-domaines
server {
listen 443 ssl;
server_name *.example.com;
root /var/www/wordpress;
# ...
}
Performance
Un réseau Multisite avec de nombreux sites nécessite des optimisations :
- Object cache (Redis) partagé entre les sites
- CDN pour les médias
- Optimisation de la base de données (chaque site crée ~12 tables)
- Monitoring par site avec des outils comme Query Monitor
// Nettoyer les sites inactifs
$sites = get_sites(['archived' => 0, 'deleted' => 0]);
foreach ($sites as $site) {
switch_to_blog($site->blog_id);
$last_post = get_posts(['numberposts' => 1, 'orderby' => 'date']);
if (empty($last_post) || strtotime($last_post[0]->post_date) < strtotime('-2 years')) {
// Archiver le site inactif
update_blog_status($site->blog_id, 'archived', 1);
}
restore_current_blog();
}
Conclusion
WordPress Multisite est la solution idéale pour gérer un réseau de sites depuis une interface centralisée. Lueur Externe déploie et administre des réseaux Multisite optimisés pour ses clients.