
Nettoyer un site WordPress piraté, étape par étape
Mettez le site en maintenance, gardez une copie de l'état infecté, changez tous les accès, puis comparez vos fichiers à ceux de WordPress.org. Réinstallez le cœur, les extensions et le thème depuis leurs sources officielles, nettoyez la base, et demandez à Google de lever son alerte.
Ce guide suppose un accès SSH avec wp, l'outil en ligne de commande de WordPress (WP-CLI), lancé depuis le dossier du site. Sans lui, chaque étape se fait aussi à la main, plus lentement. Si vous préférez déléguer, la prestation de nettoyage fait exactement ce qui suit, et vous remet un rapport écrit.
Comment savoir si votre site est piraté ?
- Google affiche « Ce site a peut-être été piraté » sous votre résultat, ou le navigateur montre une page rouge d'avertissement.
- Des visiteurs arrivent sur un autre site, souvent seulement depuis un téléphone ou depuis Google, jamais quand vous tapez l'adresse vous-même.
- Des pages en langue étrangère, de pharmacie ou de jeux apparaissent quand vous cherchez site:votredomaine.fr dans Google.
- Un compte administrateur que personne ne connaît, ou votre hébergeur qui signale des envois massifs de courriels.
Que faire dans la première heure ?
- Couper l'accès public. wp maintenance-mode activate affiche une page de maintenance et empêche le site de servir sa charge à vos visiteurs.
- Garder une copie de l'état infecté, fichiers et base : wp db export avant-nettoyage.sql, puis une archive du dossier. Elle sert à comprendre l'entrée, et à revenir en arrière si un nettoyage casse quelque chose.
- Changer tous les accès : hébergement, FTP et SFTP, base de données (puis le mot de passe dans wp-config.php), et chaque compte administrateur. Un mot de passe volé resté valide rouvre la porte dès le lendemain.
Comment trouver ce qui a été modifié ?
WordPress.org publie l'empreinte de chaque fichier officiel. La comparaison montre ce qui a été touché, sans rien deviner :
wp core verify-checksums --include-root
wp plugin verify-checksums --all
find . -name "*.php" -mtime -7
find wp-content/uploads -name "*.php"
wp user list --role=administrator
La première ligne signale les fichiers du cœur modifiés et ceux qui n'ont rien à faire à la racine. La deuxième fait de même pour les extensions publiées sur WordPress.org ; une extension achetée ailleurs n'a pas d'empreinte publique et se vérifie en la réinstallant. Les deux suivantes listent les fichiers PHP modifiés depuis une semaine, et ceux cachés dans les médias, où aucun n'est légitime. La dernière montre qui est administrateur.
Comment remettre un WordPress sain ?
- Réinstaller le cœur sans toucher à vos contenus : wp core download --skip-content --force.
- Réinstaller chaque extension et le thème depuis leur source officielle : wp plugin install nom-de-l-extension --force pour celles de WordPress.org, l'archive de l'éditeur pour les autres. Supprimer celles que vous n'utilisez plus, et toute extension inconnue.
- Supprimer les fichiers étrangers relevés à l'étape précédente, et les comptes administrateurs inconnus.
- Chercher les scripts injectés dans la base : wp db search '<script' --all-tables --one_line. Les articles, les widgets et les options sont les endroits habituels.
- Renouveler les clés de session, qui déconnectent tout le monde, intrus compris : wp config shuffle-salts.
- Rouvrir le site : wp maintenance-mode deactivate, puis vérifier depuis un téléphone et depuis un résultat Google, là où les redirections se cachent.
Et si Google affiche un avertissement ?
Dans la Search Console, le rapport « Problèmes de sécurité » liste ce que Google a trouvé. Une fois le site propre, le bouton « Demander un examen » lance une nouvelle vérification ; décrivez ce que vous avez corrigé. L'avertissement disparaît après cet examen, pas avant.
Comment éviter que ça recommence ?
La quasi-totalité des intrusions passe par une extension ou un thème resté en retard d'une mise à jour. Tenez-les à jour, supprimez ce qui ne sert plus, activez la double authentification sur les comptes administrateurs, et placez un pare-feu applicatif devant le site. C'est ce que comprennent nos offres d'hébergement, sans supplément.
Sur le nettoyage d'un WordPress.
Faut-il tout réinstaller, ou peut-on nettoyer les fichiers un par un ?
Réinstaller est plus sûr. Un fichier nettoyé à la main peut garder une porte dérobée de quelques caractères qu'on ne voit pas. Le cœur, les extensions et le thème se remplacent sans toucher à vos contenus, qui vivent dans la base et dans le dossier des médias.
Une sauvegarde suffit-elle à repartir ?
Seulement si elle date d'avant l'intrusion, ce qui est rarement connu avec certitude. Restaurer une sauvegarde déjà infectée remet le problème en place. Et sans changer les accès ni corriger l'extension vulnérable, le même robot revient par la même porte.
Combien de temps faut-il pour que Google retire son avertissement ?
Google ne s'engage pas sur un délai. L'examen se demande depuis la Search Console une fois le site propre, et l'avertissement reste affiché tant qu'il n'a pas eu lieu.
Vous préférez qu'on s'en charge ?
Recherche de la porte d'entrée, nettoyage, remise en ligne et rapport écrit, sur votre hébergement actuel ou chez nous.