Le problème / Le besoin
Vous vous êtes probablement déjà demandé comment créer un site WordPress à l’intérieur de votre installation WordPress actuelle. Que ce soit pour un réseau multisites, un environnement de développement ou un site de test, cette méthode peut s’avérer très pratique. À la fin de cet article, vous serez capable de créer et gérer un site WordPress dans un autre, de manière sécurisée et efficace.
Résumé rapide
- Création d’un réseau multisites WordPress.
- Utilisation de sous-répertoires ou sous-domaines.
- Configuration des fichiers
wp-config.phpet.htaccess. - Gestion des sites enfants via l’administration principale.
- Précautions de sécurité et de performance.
Quand utiliser cette solution
Cette solution s’applique particulièrement si vous souhaitez :
- Gérer plusieurs sites WordPress avec un seul tableau de bord.
- Développer différents environnements (staging, production) facilement.
- Tester des plugins ou thèmes sans affecter le site principal.
- Proposer des sous-sites à vos utilisateurs, comme des blogs personnels.
Quand ne PAS utiliser cette solution
Évitez cette solution si :
- Vous avez des ressources serveur limitées, car les multisites peuvent être gourmands.
- Votre projet nécessite des configurations de serveur spécifiques incompatibles avec les multisites.
- Vous n’êtes pas à l’aise avec la gestion avancée de WordPress et des fichiers de configuration.
Prérequis / avant de commencer
- Assurez-vous d’avoir une sauvegarde complète de votre site.
- Travaillez dans un environnement de test avant de passer en production.
- WordPress 6.9.4+ et PHP 8.1+ sont nécessaires.
- Prévoyez un accès FTP/SSH pour modifier les fichiers de configuration.
- Vérifiez que votre hébergement supporte les fonctionnalités multisites.
L’approche naïve (et pourquoi l’éviter)
Une erreur courante consiste à copier manuellement un dossier WordPress dans le répertoire existant et tenter de l’installer. Cela mène souvent à des conflits de base de données et des problèmes de chemin d’accès. De plus, cette méthode ignore les configurations nécessaires pour un bon fonctionnement multisite, telles que la gestion des wp-config.php et .htaccess.
La bonne approche — tutoriel pas à pas
- Modifier le fichier
wp-config.php// Ajouter cette ligne juste avant /* That's all, stop editing! Happy publishing. */ define('WP_ALLOW_MULTISITE', true); - Accéder à l’outil d’installation du réseau
Connectez-vous au tableau de bord WordPress, puis allez dans « Outils » > « Configuration du réseau ».
- Choisir entre sous-domaines et sous-répertoires
WordPress vous demandera de choisir entre les deux. Utilisez les sous-domaines pour des sites distincts ou les sous-répertoires pour des besoins plus internes.
- Configurer le fichier
wp-config.phpet.htaccess// Exemple pour wp-config.php define('MULTISITE', true); define('SUBDOMAIN_INSTALL', false); // Remplacez par true si vous utilisez des sous-domaines define('DOMAIN_CURRENT_SITE', 'votresite.com'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1); // Exemple pour .htaccess # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*.php)$ $2 [L] RewriteRule . index.php [L] # END WordPress - Créer et gérer les sites via l’interface
Accédez à « Mes sites » > « Administration du réseau » > « Sites » pour ajouter de nouveaux sites.
Code complet
Explication du code
Le code modifie le fichier wp-config.php pour activer et configurer le multisite WordPress. Les constantes définies permettent à WordPress de savoir qu’il s’agit d’une installation multisite et spécifient si vous utilisez des sous-domaines ou des sous-répertoires. Le fichier .htaccess est configuré pour réécrire les URL correctement en fonction de la structure choisie.
En utilisant define('SUBDOMAIN_INSTALL', false);, vous optez pour une organisation en sous-répertoires, utile pour des sites de test ou internes. Inversement, true pour des sous-domaines est idéal pour des installations où chaque site nécessite une différenciation claire, par exemple, site1.votresite.com. Assurez-vous que votre DNS et votre hébergeur prennent en charge les sous-domaines wildcard si vous choisissez cette option.
Variantes et cas d’usage
- Utiliser des sous-domaines : Changez
SUBDOMAIN_INSTALLàtruedans lewp-config.php. - Environnement de développement : Installez un thème ou un plugin sur un site enfant sans affecter le site principal.
- Réseau de blogs : Permettez à des utilisateurs de créer leurs propres blogs sous votre domaine principal.
Un cas d’usage intéressant est la création d’un réseau pour une entreprise ayant plusieurs marques. Chaque marque peut avoir son propre site sous un sous-domaine, tout en partageant des ressources communes comme des utilisateurs ou des contenus globaux. Une solution multisite permet également une gestion centralisée des mises à jour et de la sécurité, simplifiant la maintenance.
Exemple supplémentaire : Plugin Multisite
Ajouter un plugin qui ne s’active que sur certains sites enfants peut être délicat. Voici comment procéder :
// Installer un plugin seulement sur un site enfant spécifique
function activer_mon_plugin_sur_un_site_specifique() {
if (get_current_blog_id() == 2) { // Remplacez 2 par l'ID de votre site enfant
include_once(ABSPATH . 'wp-admin/includes/plugin.php');
activate_plugin('mon-plugin/mon-plugin.php');
}
}
add_action('wp_loaded', 'activer_mon_plugin_sur_un_site_specifique');
Ce code utilise l’action wp_loaded pour vérifier l’ID du site courant et activer le plugin uniquement si l’ID correspond à celui spécifié. C’est une manière pratique de gérer les fonctionnalités sur des sites spécifiques sans surcharger le tableau de bord principal.
Compatibilité Divi 5 / Elementor / Avada
Pour chacun de ces constructeurs de page, assurez-vous que vos plugins et thèmes sont adaptés à une installation multisite. Certains plugins peuvent nécessiter une licence par site enfant ou des configurations spécifiques.
Avec Divi 5, vous pouvez concevoir des layouts globaux qui s’appliquent à tous les sites enfants. Elementor nécessite de vérifier que chaque widget personnalisé est activé sur chaque sous-site, tandis qu’Avada facilite la gestion de designs partagés grâce à son Fusion Builder. Testez toujours les modifications sur un site enfant avant de les déployer à grande échelle.
Pièges et erreurs courantes
| Erreur | Cause | Solution |
|---|---|---|
| Erreur 404 sur sous-sites | Mauvaise configuration du .htaccess | Vérifiez et corrigez les règles de réécriture |
| Problèmes de connexion à la base de données | Conflit d’installation | Vérifiez les préfixes de tables et les configurations DB |
| Plugins incompatibles | Certains plugins ne supportent pas le multisite | Vérifiez la documentation du plugin |
| Sous-domaines inaccessibles | Problème de configuration DNS | Assurez-vous que le DNS est configuré pour les sous-domaines wildcard |
Conseils sécurité, performance et maintenance
- Surveillez les performances serveur, les multisites peuvent consommer plus de ressources.
- Assurez-vous que chaque site enfant est sécurisé individuellement.
- Gardez vos thèmes et plugins à jour pour éviter les failles de sécurité.
- Considérez l’utilisation de CDN et de caching pour améliorer la vitesse de chargement.
- Planifiez des audits de sécurité réguliers pour chaque site du réseau.
Vérifications après mise en place
- Essayez de créer un nouveau site et vérifiez son accessibilité.
- Testez les fonctionnalités de base (ajout de contenu, installation de plugins) sur un site enfant.
- Vérifiez les journaux de serveur pour des erreurs potentielles.
- Effectuez un contrôle de performance avec des outils comme GTMetrix ou PageSpeed Insights pour optimiser chaque site.
Si ça ne marche pas
- Vérifiez votre fichier
wp-config.phppour des erreurs de syntaxe. - Assurez-vous que le fichier
.htaccessest correctement configuré, surtout si vous utilisez des sous-domaines. - Consultez les journaux de votre serveur pour des erreurs spécifiques.
- Utilisez des outils de débogage comme Query Monitor pour analyser les requêtes SQL et les erreurs PHP.
Ressources
- Documentation officielle de WordPress sur les multisites
- Guide sur le fichier .htaccess
- Trac WordPress Core
- Dépôt GitHub WordPress
- Documentation PHP
- GTMetrix pour l’analyse de performance
- Google PageSpeed Insights
FAQ
- Quel est l’impact sur la performance de l’activation du multisite ? Le multisite peut consommer plus de ressources, donc vérifiez votre capacité d’hébergement.
- Puis-je désactiver un réseau multisite ? Oui, mais cela nécessite de revenir en arrière sur les modifications des fichiers de configuration.
- Comment les sous-sites gèrent-ils les thèmes et plugins ? Les thèmes et plugins sont installés à l’échelle du réseau, mais peuvent être activés individuellement par site.
- Est-ce que tous les hébergeurs supportent le multisite ? Non, il est important de vérifier avec votre hébergeur.
- Quel type de projet est idéal pour un multisite ? Les réseaux de blogs, les écoles avec plusieurs sites de départements, ou les entreprises avec plusieurs marques.
- Comment gérer les utilisateurs sur un réseau multisite ? Les utilisateurs peuvent être assignés à un ou plusieurs sites avec différents rôles selon les besoins.