Un site WordPress piraté, ce n'est pas une fatalité. C'est un problème technique qui a une solution précise. Depuis 2017, on a géré plus de 200 interventions d'urgence. La méthode est toujours la même : diagnostiquer, nettoyer, remettre en ligne, durcir.
Premières minutes : ne touchez à rien, isolez
La pire erreur ? Se connecter à l'admin, installer un plugin "sécurité", ou essayer de "réparer" soi-même. Vous détruisez les preuves, vous propagez l'infection, vous alertez l'attaquant.
Actions immédiates :
- Mettez le site en maintenance via
.htaccess(pas via l'admin) - Changez tous les mots de passe : admin WP, FTP/SFTP, base de données, hébergement
- Coupez l'accès XML-RPC et REST API si pas utilisés
- Notez l'heure exacte de découverte, les symptômes, les URLs touchées
Diagnostic : identifier le vecteur d'attaque
On ne nettoie pas à l'aveugle. Il faut savoir comment ils sont entrés.
Vecteurs les plus fréquents (ANSSI, 2024) :
- Plugin/thème nulled ou abandonné (42 %)
- Mot de passe faible ou réutilisé (28 %)
- Vulnérabilité core/plugin non patchée (18 %)
- Hébergement mutualisé mal isolé (12 %)
Outils de diagnostic (dans l'ordre) :
grep -r "eval\|base64_decode\|gzinflate" wp-content/— code obfusquéfind . -name "*.php" -mtime -7— fichiers modifiés récemment- Vérifier les utilisateurs admin créés récemment
- Scanner avec WPScan ou
wpscan --url votresite.com --enumerate u,vt,cb,dbe - Consulter les logs serveur (accès, erreurs, FTP)
Nettoyage : méthode chirurgicale
Pas de "plugin nettoyeur". On supprime, on restaure, on vérifie.
Procédure :
- Sauvegardez la base de données (export SQL complet)
- Listez tous les fichiers infectés (étape diagnostic)
- Supprimez les fichiers malveillants identifiés
- Restaurez les fichiers core WordPress depuis une archive officielle (même version)
- Réinstallez les plugins/thèmes depuis les sources officielles
- Nettoyez la base : tables
wp_users,wp_options(siteurl/home), scripts injectés danswp_posts - Videz tous les caches (serveur, CDN, navigateur)
Remise en ligne : validation complète
Avant de rouvrir au public, on valide tout.
Checklist de remise en ligne :
- Site accessible en HTTPS (certificat valide)
- Aucune redirection suspecte (tester avec
curl -I) - Admin accessible, utilisateurs légitimes uniquement
- Formulaires fonctionnels (contact, inscription, commande)
- Fichiers
robots.txtetsitemap.xmlpropres - Search Console : demander la révision (si alerte "site piraté")
- Soumettre le sitemap mis à jour
Durcissement : ne pas revivre la même chose
Le nettoyage sans durcissement = récidive sous 30 jours.
Mesures obligatoires :
- Mises à jour automatiques mineures :
define('WP_AUTO_UPDATE_CORE', 'minor'); - Désactiver l'édition de fichiers :
define('DISALLOW_FILE_EDIT', true); - Forcer HTTPS admin :
define('FORCE_SSL_ADMIN', true); - Limiter les tentatives de connexion (plugin Limit Login Attempts Reloaded ou config serveur)
- WAF : Cloudflare (gratuit) ou ModSecurity sur serveur
- Sauvegardes quotidiennes externalisées (pas sur le même serveur)
- Monitoring uptime + intégrité fichiers (plugin Wordfence en mode scan seulement, pas firewall)
Cas particuliers
Redirection vers spam/pharma/casino :
Souvent du code injecté dans index.php, .htaccess, ou wp-config.php. Vérifiez ces trois fichiers en priorité.
Back-office inaccessible :
Accès direct via base de données : table wp_users, recréer un admin via SQL. Ou renommer le dossier plugins via FTP pour désactiver tout.
Hébergeur a suspendu le compte :
Demandez la liste exacte des fichiers détectés. Nettoyez en local, renvoyez propre, demandez la réactivation.
Combien de temps ? Combien ça coûte ?
Intervention pro (notre grille) :
- Diagnostic : 2 h max (gratuit si on fait le nettoyage)
- Nettoyage simple (code injecté, pas de BD corrompue) : 250 € HT
- Nettoyage complexe (BD, utilisateurs multiples, backdoors) : 450-650 € HT
- Durcissement + monitoring 3 mois : 180 € HT
- Délai moyen remise en ligne : 4-8 h ouvrées
Si vous le faites seul :
Prévoyez 6-12 h si vous n'avez jamais fait. Risque : laisser une backdoor. La première récidive coûte 3x plus cher.
Prévention : la check-list mensuelle
- Mises à jour core/plugins/thèmes (testées en staging d'abord)
- Scan Wordfence / WPScan
- Vérifier les utilisateurs admin
- Contrôler les fichiers modifiés (
find . -mtime -30) - Test de restauration sauvegarde (trimestriel)
Votre site est down en ce moment ? On intervient aujourd'hui. Diagnostic sous 2 h, remise en ligne jour même. Demander l'intervention d'urgence ou appelez le 06 02 55 17 36.
