Le plugin Wordfence Security est un outil de sécurité complet et gratuit pour WordPress. Il intègre un pare-feu applicatif (WAF) capable d’intercepter les attaques avant que le cœur de WordPress ou ses extensions ne soient exécutés.
Sur un hébergement mutualisé comme O2switch, l’activation du pare-feu en mode étendu (Extended Protection) nécessite une configuration adaptée au fonctionnement du serveur, à la structure de vos répertoires mais surtout à l’utilisation que vous faites de votre hébergement.
Ce guide explique pas à pas comment configurer le WAF de Wordfence correctement, que vous ayez un seul site ou plusieurs sous-domaines.
1. Le fonctionnement des répertoires sur O2switch
Sur O2switch, chaque compte d’hébergement — aussi appelé lune — correspond à un espace utilisateur unique, dont le chemin est généralement :
/home/nomdutilisateur/
À l’intérieur de cette lune, vous pouvez héberger :
- un site principal, dans le dossier
public_html, - et un ou plusieurs sous-domaines, chacun dans son propre répertoire.
Deux organisations sont possibles selon la configuration choisie dans le cPanel :
Structure 1 — Sous-domaines à l’intérieur du dossier principal
/home/nomdutilisateur/public_html/ → site principal
/home/nomdutilisateur/public_html/blog/ → sous-domaine blog
/home/nomdutilisateur/public_html/shop/ → sous-domaine boutique
Structure 2 — Sous-domaines à la racine du compte
/home/nomdutilisateur/public_html/ → site principal
/home/nomdutilisateur/blog/ → sous-domaine blog
/home/nomdutilisateur/shop/ → sous-domaine boutique
Ces deux méthodes sont possibles, mais la directive PHP auto_prepend_file ne se comportera pas de la même façon selon le cas : il faudra l’adapter à la structure choisie.
2. Comprendre le mode étendu de Wordfence
Wordfence propose deux niveaux de pare-feu :
- Basic WordPress Protection : le pare-feu s’exécute après WordPress.
C’est la configuration par défaut. - Extended Protection : le pare-feu s’exécute avant WordPress, dès le chargement de PHP.
C’est la configuration recommandée pour bloquer les requêtes malveillantes avant qu’elles n’atteignent le CMS.
Lorsqu’on active le mode étendu (via Optimize the Firewall), Wordfence :
- crée un fichier spécifique à la racine du site :
wordfence-waf.php - ajoute une directive PHP :
auto_prepend_file = /home/nomdutilisateur/public_html/wordfence-waf.php
Cette directive indique à PHP d’exécuter ce fichier avant tout autre script du site.
3. Configurer le pare-feu étendu sur un seul site
- Connectez-vous à votre cPanel O2switch.
- Allez dans Logiciels → Sélectionner une version de PHP → Options.
- Recherchez la ligne auto_prepend_file.
- Indiquez le chemin complet vers le fichier créé par Wordfence :
/home/nomdutilisateur/public_html/wordfence-waf.php - Enregistrez les modifications.
Ensuite, dans WordPress :
- Ouvrez Wordfence → Firewall.
- Dans la section Basic Firewall Options, le statut doit afficher Extended Protection.
- Si ce n’est pas le cas, cliquez sur Optimize the Firewall et sélectionnez Apache + cPanel.
4. Gérer plusieurs sites et sous-domaines sur un seul espace
Sur un hébergement O2switch, un même compte (“lune”) peut héberger plusieurs sites ou sous-domaines.
Selon la nature de ces sous-domaines : sites WordPress, scripts lourds ou simples pages PHP, la configuration du pare-feu Wordfence ne sera pas la même.
Cas 1 — Un site WordPress principal avec des sous-domaines légers et non-WordPress
Dans cette configuration, le site principal WordPress devrait de préférence être installé dans :
/home/nomdutilisateur/public_html/
Et les sous-domaines qui hébergent des sites légers ne reposant pas sur WordPress : pages HTML, petits formulaires PHP, mini-portfolios, landing pages, etc. devraient être installés dans des sous répertoires de public_html.
Exemple :
/home/nomdutilisateur/public_html/blog/ → mini-site statique ou portfolio
/home/nomdutilisateur/public_html/contact/ → formulaire ou microscript
Ces sous-domaines partagent le même environnement PHP que le site principal. La directive globale pour auto_prepend_file :
auto_prepend_file = /home/nomdutilisateur/public_html/wordfence-waf.php
Elle s’appliquera automatiquement à tout ce qui se trouve dans public_html.
C’est la configuration la plus simple et la plus efficace pour ce type de configuration : le pare-feu Wordfence du site principal protégera également ces sous répertoires légers sans nécessiter de réglages supplémentaires.
Les requêtes HTTP seront filtrées par le WAF avant même d’atteindre le code PHP des différents sites, ce qui protège automatiquement les petits scripts contre les attaques courantes (injections, robots, etc.).
Bonne pratique :
Pour des sous-domaines non-WordPress et légers, il est préférable de les installer dans le dossier
public_htmlafin qu’ils bénéficient automatiquement de la protection Wordfence du site principal.
Pour cela, configurez le WAF de Wordfence comme si vous n’aviez qu’un seul site : reportez-vous à la partie 3 de cet article.
Cas 2 — Plusieurs installations WordPress ou sites lourds et dynamiques sur une même lune
Si votre compte O2switch héberge plusieurs sites WordPress ou des applications plus lourdes (comme Matomo — anciennement Piwik —, Prestashop, ou des outils statistiques complexes), il est fortement conseillé de les installer sur des lunes différentes. Mais si vous souhaitez tout de même les installer sur la même lune, sur des sous domaines, alors installez les sous-domaines dans des répertoires séparés à la racine du compte, par exemple :
/home/nomdutilisateur/public_html/ → site WordPress principal
/home/nomdutilisateur/blog/ → second site WordPress ou Matomo
/home/nomdutilisateur/shop/ → boutique WordPress ou Prestashop
Ce type de site consomme davantage de ressources (PHP, mémoire, logs) et doit fonctionner avec un environnement PHP isolé.
Même si la directive globale auto_prepend_file du site principal pourrait s’appliquer à ces répertoires, ce n’est ni fiable ni performant :
- le même fichier
wordfence-waf.phpserait exécuté avant plusieurs sites, - les journaux Wordfence seraient fusionnés,
- et les chemins (
ABSPATH,WP_CONTENT_DIR) pointeraient vers le mauvais site.
Chaque site doit donc être configuré indépendamment.
Procédure pour un site lourd ou un autre WordPress :
- Installez le site (WordPress, Matomo, Prestashop, etc.) dans un dossier séparé à la racine de l’hébergement.
- Lui attribuer une version PHP dédiée (reportez-vous à la FAQ O2switch) à ajouter dans le fichier
.htaccessdu sous-domaine. - Créez IMPERATIVEMENT un fichier
php.inicomplet (voir la FAQ officielle de O2switch) à la racine de ce sous-domaine. - Pour les sites WordPress : installez Wordfence et activez le mode étendu séparément en ajoutant
auto_prepend_file = /home/nomdutilisateur/sousdomaine/wordfence-waf.phpau fichier php.ini précédemment créé. - Pour les autres CMS (Matomo, Prestashop…), le fichier
auto_prepend_filepeut être omis, car Wordfence ne s’applique qu’à WordPress.
Chaque installation disposera ainsi de sa propre configuration PHP, de ses logs indépendants et pour les WordPress, de son propre pare-feu étendu. C’est la garantie d’un environnement stable et performant, même avec plusieurs sites sur la même lune.
Bonne pratique :
1 site WordPress = 1 Wordfence = 1
wordfence-waf.phppropre à sa racine = 1 version PHP dédiée = 1 fichier php.ini complet = 1auto_prepend_filepersonnalisé.
Ne partagez pas un même pare-feu entre plusieurs installations WordPress.
À noter : ce moteur PHP alternatif peut être un peu moins performant que le moteur par défaut.
5. À propos des fichiers .user.ini
PHP permet normalement d’utiliser un fichier .user.ini pour surcharger certaines directives localement.
Cependant, sur O2switch, cette méthode ne fonctionne pas pour la directive auto_prepend_file.
Le serveur LiteSpeed ne lit pas cette valeur depuis un .user.ini.
La configuration fiable reste donc :
- soit via les Options PHP du cPanel (pour le site principal),
- soit via un fichier
php.inicomplet (pour les sous-domaines séparés).
Suite à un échange direct avec le support technique d’O2switch, la configuration suivante a été confirmée:
Dans notre environnement par défaut, placer un .user.ini à la racine de chaque sous-domaine ne suffira pas pour appliquer un auto_prepend_file différent par sous-domaine.
La seule méthode pour avoir un auto_prepend_file distinct par sous-domaine est bien celle décrite dans la documentation :
– https://faq.o2switch.fr/guides/php/changer-version-php-et-php-ini/Concrètement, il faut basculer le sous-domaine sur une version PHP qui lui sera dédié afin de définir auto_prepend_file via un php.ini.
Cette confirmation officielle élimine toute ambiguïté sur le rôle du fichier .user.ini : il n’est pas pris en charge sur l’infrastructure mutualisée standard d’O2switch.
6. Conclusion
La configuration du pare-feu Wordfence sur O2switch dépend avant tout de la façon dont vous organisez vos sites et sous-domaines.
Le serveur applique la directive auto_prepend_file globalement au compte, ce qui signifie que tous les sites et sous-domaines partagent le même fichier de préchargement PHP, tant qu’ils utilisent la même version de PHP définie dans le cPanel.
Cette configuration est idéale lorsque :
- vous gérez un seul site WordPress principal,
- ou plusieurs petits sous-sites légers hébergés dans des sous-répertoires de
public_html(portfolios, formulaires, microsites HTML, etc.),
car ils bénéficient automatiquement de la protection du pare-feu global.
En revanche, dès que vous hébergez plusieurs installations WordPress distinctes ou des applications plus lourdes (Matomo, Prestashop, etc.), il devient indispensable de séparer les environnements PHP : chaque site doit avoir sa propre version PHP, son propre fichier php.ini et, pour les WordPress, son propre fichier wordfence-waf.php.
C’est la seule manière d’assurer une protection efficace, des journaux indépendants et un fonctionnement stable sur la même lune O2switch.
En résumé :
- les petits sites légers peuvent partager le pare-feu du site principal,
- mais chaque site WordPress doit disposer d’un pare-feu et donc d’une configuration PHP autonomes.
Cette approche assure une configuration stable, performante et totalement compatible avec le mode étendu de Wordfence, tout en maintenant une sécurité homogène sur l’ensemble de votre hébergement O2switch.






