Sécuriser un site WordPress en 10 étapes concrètes (2026)
Guide pratique pour sécuriser WordPress en 2026 : mises à jour, 2FA, Cloudflare WAF, sauvegardes hors-site, changement de préfixe DB et hardening complet.
90 000 attaques automatisées ciblent des sites WordPress chaque minute selon Wordfence. La bonne nouvelle : 95% de ces attaques exploitent des failles connues, et toutes ont une parade simple. Voici le protocole complet pour sécuriser votre site WordPress en 2026.
Étape 1 — Maintenir WordPress, thèmes et plugins à jour
98% des hacks WordPress exploitent des failles dans des plugins ou thèmes non mis à jour — pas dans WordPress core. Les mises à jour de sécurité sont publiées et les exploits automatisés suivent dans les 24-48h.
Actions concrètes :
- Activer les mises à jour automatiques pour WordPress core (mises à jour mineures)
- Mettre à jour plugins et thèmes chaque semaine
- Supprimer les plugins désactivés (ils restent des vecteurs d’attaque même désactivés)
- Remplacer les plugins abandonnés (plus de mise à jour depuis 12+ mois)
Étape 2 — Mots de passe forts et 2FA
Les attaques brute-force sur /wp-login.php testent des millions de combinaisons login/mot de passe par heure. Un mot de passe fort réduit ce risque à zéro.
- Mot de passe admin : 20+ caractères, généré par un gestionnaire de mots de passe (Bitwarden, 1Password)
- 2FA (double authentification) : plugins recommandés — WP 2FA, Wordfence (inclut 2FA), ou Google Authenticator
- Nom d’utilisateur admin : évitez “admin”, “administrator”, votre prénom ou le nom de votre site
Étape 3 — Changer l’URL de connexion
Masquer /wp-login.php ne suffit pas à elle seule, mais elle élimine 80% du bruit des bots automatisés qui n’essaieront même pas de trouver votre URL custom.
Plugin recommandé : WPS Hide Login (léger, sans dépendances).
Étape 4 — Configurer Cloudflare WAF
Cloudflare (même en version gratuite) offre un pare-feu applicatif (WAF) qui bloque les patterns d’attaque connus avant qu’ils n’atteignent votre serveur : injections SQL, XSS, brute-force, enumération d’utilisateurs.
Règles Cloudflare à activer en priorité :
- OWASP Core Ruleset (plan Free inclut les règles de base)
- Règle custom : bloquer les requêtes vers /xmlrpc.php (principal vecteur d’attaque brute-force)
- Règle custom : challenge CAPTCHA sur les accès à /wp-login.php depuis des pays non ciblés
Étape 5 — Désactiver xmlrpc.php
XML-RPC est une ancienne API WordPress utilisée pour les pingbacks et les connexions depuis des apps mobiles. Elle est massivement exploitée pour les attaques brute-force amplifiées (1 requête = 1000 essais de connexion).
Dans .htaccess :
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
Ou via le filtre WordPress : add_filter('xmlrpc_enabled', '__return_false');
Étape 6 — Changer le préfixe de la base de données
Par défaut, WordPress utilise le préfixe wp_. Les attaques par injection SQL ciblent souvent wp_users et wp_options directement. Un préfixe custom rend ces tables plus difficiles à cibler.
À faire à l’installation (dans wp-config.php : webegine_ = 'wbe_';). Après installation, migration via WP-CLI ou plugin.
Étape 7 — Protéger wp-config.php
Ce fichier contient vos identifiants de base de données. Ajoutez dans .htaccess :
<Files wp-config.php>
Order Deny,Allow
Deny from all
</Files>
Vous pouvez aussi déplacer wp-config.php un niveau au-dessus du dossier WordPress — WordPress le détecte automatiquement.
Étape 8 — Sauvegardes hors-site quotidiennes
Une sauvegarde sur le même serveur que le site ne vaut rien si le serveur est compromis. La règle : sauvegardes hors-site, dans un service cloud externe (AWS S3, Google Cloud Storage, BackBlaze B2).
Plugin recommandé : UpdraftPlus avec connexion à un cloud externe configurée. Fréquence : quotidienne pour la base de données, hebdomadaire pour les fichiers.
Étape 9 — Configurer les en-têtes de sécurité HTTP
Les en-têtes HTTP de sécurité préviennent les attaques XSS, clickjacking et injection de contenu. À ajouter dans .htaccess ou la configuration Nginx :
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "geolocation=(), microphone=(), camera=()"
Étape 10 — Monitoring et alertes
La détection rapide d’une compromission limite les dégâts. Configurez :
- Wordfence — scan de malware quotidien, alertes par email sur les changements de fichiers critiques
- UptimeRobot (gratuit) — alerte si votre site devient inaccessible
- Google Search Console — alertes de sécurité si Google détecte du contenu malveillant
Ces 10 étapes prennent 2 à 4 heures à implémenter et réduisent votre surface d’attaque de 95%. Pour un audit de sécurité complet avec rapport détaillé, contactez-nous.