Ce que vous saurez faire à la fin
- Sécuriser un site WordPress en 15 actions concrètes.
- Détecter une compromission et y répondre rapidement.
- Configurer Wordfence ou Sucuri.
- Sauvegarder et restaurer correctement.
- Maintenir la sécurité dans le temps.
Durée : 1 jour pour les 15 actions de base. Pré-requis : site WordPress accessible, accès admin WP + FTP/SFTP, accès cPanel ou hébergeur, plugin de sécurité (Wordfence Free / Pro 99 USD/an, Sucuri Pro 200 USD/an), gestionnaire de mots de passe.
Action 1 — Changer le login admin
90 % des attaques visent l'utilisateur "admin".
Solution :
1. Créer nouveau utilisateur Administrateur (ex: "admin_diallo_2026")
2. Mot de passe 16+ caractères via Bitwarden
3. Email pro
4. Tester connexion avec nouveau compte
5. Supprimer ou rétrograder l'ancien "admin"
6. Si suppression : transférer les contenus à votre nouveau compte
Plugin alternatif : "WPS Hide Login" pour changer URL /wp-admin
en /votre-mot-secret/
Action 2 — Activer la double authentification
Plugin « Two Factor Authentication » ou « Wordfence Login Security » :
- Activez sur tous les comptes Administrateur et Editor
- App preferred : Microsoft Authenticator, Google Authenticator, Authy
- SMS OK en backup mais évitable (SIM swap)
- Codes de récupération imprimés et stockés en sécurité
- Forcer activation pour tout nouveau compte sensible
Action 3 — Limiter les tentatives de connexion
Plugin "Limit Login Attempts Reloaded" ou Wordfence :
Configuration :
- Tentatives max : 5
- Lockout après dépassement : 30 min
- Lockout permanent après 4 lockouts en 24h
- Whitelist : votre IP fixe (si applicable)
- Notifier admin par email à chaque lockout
- Block des IPs utilisant des bots de bruteforce connus
Bloque 99 % des attaques bruteforce automatisées.
Action 4 — Sécuriser wp-config.php
// Ajoutez en haut de wp-config.php
// Bloquer édition fichiers depuis admin (sécurité majeure)
define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', true); // bloque install plugins/themes depuis admin
// Forcer HTTPS dans admin
define('FORCE_SSL_ADMIN', true);
// Désactiver la console debug en production
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);
// Limite révisions (réduit DB)
define('WP_POST_REVISIONS', 3);
// Auto-save moins fréquent
define('AUTOSAVE_INTERVAL', 300);
// Salts uniques (regenerate sur api.wordpress.org/secret-key/1.1/salt/)
define('AUTH_KEY', '...');
define('SECURE_AUTH_KEY', '...');
// etc.
Action 5 — Désactiver XML-RPC
XML-RPC est un vecteur d’attaque massif, rarement utilisé en 2026.
Plugin "Disable XML-RPC" ou ajouter dans .htaccess :
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
Si vous utilisez l'app WordPress mobile : whitelist votre IP.
Action 6 — Mettre à jour WordPress, plugins, thèmes
50 % des hacks viennent d’une vulnérabilité plugin non patchée.
- WordPress core : auto-update mineurs activés (par défaut)
- Mises à jour majeures : tester sur staging avant prod
- Plugins : update sous 7 jours après release
- Thèmes : update si vous utilisez un parent (sinon child theme protège)
- Audit mensuel : supprimer plugins / thèmes non utilisés
- Vérifier compatibilité PHP version
Action 7 — Installer un plugin de sécurité
| Plugin | Tarif | Forces |
|---|---|---|
| Wordfence Free | 0 | Firewall, scan malware |
| Wordfence Premium | 99 USD/an | Real-time updates, WAF cloud |
| Sucuri | 200-500 USD/an | WAF cloud, monitoring 24/7 |
| iThemes Security | 80 USD/an | + outils config |
| All In One WP Security | Gratuit | Bonne base |
Recommandation : Wordfence Premium pour PME, Sucuri pour sites haute valeur.
Action 8 — Configurer Wordfence proprement
Wordfence Settings :
Firewall :
- Activé en mode "Extended Protection" (PHP-level)
- Block fake Googlebot
- Block IPs failing brute force
Scan :
- Toutes les 12h
- Alertes email si malware détecté
Login Security :
- 2FA obligatoire admins
- Captcha sur formulaire login
- Block forced password reset
Tools :
- Block list : pays bloqués (selon vous)
- Whitelist : votre IP fixe
Action 9 — Sécuriser les fichiers et permissions
# Permissions correctes via SSH ou FileZilla
# Dossiers : 755
find /chemin/wordpress -type d -exec chmod 755 {} ;
# Fichiers : 644
find /chemin/wordpress -type f -exec chmod 644 {} ;
# wp-config.php : 600 (max sécurité)
chmod 600 wp-config.php
# .htaccess : 644
chmod 644 .htaccess
Action 10 — Sauvegarder automatiquement (3-2-1)
Plugin "UpdraftPlus" :
Configuration :
- Fichiers : sauvegarde quotidienne
- Database : sauvegarde quotidienne
- Stockage distant : Google Drive ou Dropbox (gratuit 15 Go)
- Rétention : 14 dernières
- Notification email si erreur
Test restauration mensuelle obligatoire :
- Restaurer 1 fichier au hasard
- Restaurer DB sur staging
- Vérifier intégrité
Sans test = sauvegarde fictive.
Action 11 — Sécuriser .htaccess
# Ajouter dans .htaccess racine
# Bloquer accès wp-config.php
<Files wp-config.php>
Order Deny,Allow
Deny from all
</Files>
# Bloquer accès .htaccess
<Files .htaccess>
Order Deny,Allow
Deny from all
</Files>
# Bloquer execution PHP dans uploads
<Directory "/wp-content/uploads/">
<Files *.php>
Order Deny,Allow
Deny from all
</Files>
</Directory>
# Désactiver browsing répertoires
Options -Indexes
# Bloquer auteur enumeration
RewriteEngine On
RewriteCond %{QUERY_STRING} author=([0-9]+)
RewriteRule ^(.*)$ /? [L,R=301]
Action 12 — Activer HTTPS / SSL forcé
- Certificat Let’s Encrypt gratuit via cPanel ou Cloudflare
- Plugin « Really Simple SSL » pour redirection HTTP → HTTPS
- Vérifier mixed content (images HTTP sur page HTTPS)
- HSTS header (force HTTPS pour 6 mois minimum)
- Test : ssllabs.com/ssltest, score A+ visé
Action 13 — Activer Cloudflare en frontal (gratuit)
Bénéfices sécurité :
- WAF (Web Application Firewall) basique gratuit
- Anti-DDoS layer 7 inclus
- Rate limiting
- Bot fight mode
- Bloquer pays / IPs / user-agents suspects
- SSL gratuit Universal
- CDN bonus pour performance
Action 14 — Audit régulier (mensuel)
Checklist mensuelle :
✓ WordPress + plugins + thèmes à jour
✓ Comptes utilisateurs : actifs et permissions correctes
✓ Plugins / thèmes inactifs : supprimer
✓ Logs Wordfence : pas d'attaque non bloquée
✓ Sauvegardes : présentes et testées
✓ Mots de passe faibles : 0
✓ Comptes admin : minimum (cible 2)
✓ Scanner sécurité : 0 alerte critique
✓ Performance : pas de plugin malicieux ralentissant
✓ Audit code : si changement custom récent
Action 15 — Préparer la réponse à incident
Si site hacké :
T+0 : Détection (Wordfence alert, message contact, Google flag)
T+15 min :
- Backup IMMÉDIATE de l'état actuel (forensique)
- Désactiver site (plugin "Maintenance Mode")
- Isoler : changer mot de passe FTP, base, admin
T+1h :
- Identifier source : Wordfence scan, vérifier fichiers modifiés
- Vérifier accès non-autorisés (logs Apache, plugins)
- Lister malwares trouvés
T+2h :
- Restaurer depuis backup propre (avant compromission)
- Si pas de backup propre : nettoyer manuellement (long)
- Mettre à jour TOUT (WP, plugins, thèmes)
T+24h :
- Tests fonctionnels complets
- Soumettre re-review à Google Search Console si flag
- Communiquer aux utilisateurs si données impactées (CDP)
- Post-mortem : comment éviter
Erreurs fatales en sécurité WordPress
- Login « admin » : 50 % des attaques visent ce login.
- Mot de passe faible : brute force réussit en heures.
- Plugins obsolètes : 1 vulnérabilité = backdoor permanente.
- Pas de backup : hack = perte totale possible.
- FTP au lieu de SFTP : mot de passe en clair sur le réseau.
Checklist sécurité WordPress
✓ Login admin custom (pas "admin")
✓ MFA sur tous comptes admin
✓ Limite tentatives connexion
✓ wp-config.php sécurisé
✓ XML-RPC désactivé
✓ WordPress + plugins à jour
✓ Plugin sécurité installé (Wordfence)
✓ Permissions fichiers correctes (755/644)
✓ Sauvegardes 3-2-1 quotidiennes
✓ .htaccess durci
✓ HTTPS forcé partout
✓ Cloudflare en frontal
✓ Audit mensuel
✓ Procédure réponse incident documentée