Site WordPress piraté ou en panne : dans les premières minutes, ne supprimez rien et ne vous connectez pas à l'admin pour « réparer ». Faites une sauvegarde de l'état actuel, changez tous les mots de passe depuis un autre appareil, puis identifiez s'il s'agit d'un piratage (redirections, spam, comptes inconnus) ou d'une simple panne (page blanche, erreur 500). La suite de la procédure n'est pas la même.
Voici la méthode que nous suivons en intervention d'urgence, étape par étape, avec ce que vous pouvez faire vous-même et le moment où il vaut mieux passer la main.
Besoin d'une intervention tout de suite ? On nettoie votre site WordPress piraté, on corrige la faille d'entrée et on lève l'alerte Google, dès 590 € sans abonnement. Voir notre service de nettoyage WordPress.
Piraté ou en panne : comment faire la différence ?
C'est la première question à trancher, car un piratage demande un nettoyage complet alors qu'une panne se corrige souvent en quelques minutes.
| Ce que vous voyez | Cause probable | Premier geste |
|---|---|---|
| Les visiteurs sont redirigés vers un site de pub, d'arnaque ou de pharmacie | Piratage (code injecté) | Sauvegarde, mots de passe, ne rien supprimer |
| Google affiche « Ce site est peut-être piraté » ou indexe des pages en japonais | Piratage (spam SEO) | Vérifier la Search Console, section Problèmes de sécurité |
| Des comptes administrateurs inconnus sont apparus | Piratage (accès volé) | Changer les mots de passe, supprimer les comptes |
| Page blanche ou « Il y a eu une erreur critique » | Panne (extension, thème, PHP) | Désactiver les extensions par FTP |
| Erreur 500 | Panne (.htaccess, mémoire, PHP) | Lire le journal d'erreurs de l'hébergeur |
| « Erreur lors de la connexion à la base de données » | Panne (base ou identifiants) | Vérifier wp-config.php et l'état du serveur MySQL |
Si c'est une panne, nos guides erreur 500 WordPress, écran blanc WordPress et erreur de connexion à la base de données donnent la marche à suivre. La suite de cet article traite le cas le plus grave : le piratage.
Les premières minutes : ne rien détruire, tout verrouiller
Le réflexe naturel est d'installer une extension de sécurité ou de supprimer les fichiers suspects. C'est une erreur : vous effacez les traces qui permettent de retrouver la faille, et le pirate garde souvent un autre accès.
- Sauvegardez l'état actuel (fichiers et base de données), même infecté. Votre hébergeur peut le faire depuis son espace client.
- Changez tous les mots de passe depuis un appareil sain : comptes administrateurs, FTP ou SFTP, base de données, espace hébergeur, et la boîte e-mail liée au site.
- Mettez le site en maintenance si les visiteurs sont redirigés vers un site dangereux, par une règle dans
.htaccessou via l'hébergeur, pas depuis l'admin. - Notez ce que vous observez : l'heure, les symptômes, les pages touchées, les messages reçus. Ça accélère le diagnostic.
Si vous ne pouvez plus entrer dans l'administration, suivez notre méthode pour récupérer l'accès admin WordPress.
Diagnostic : trouver par où le pirate est entré
Nettoyer sans trouver la porte d'entrée, c'est se condamner à recommencer. Les causes que l'on rencontre le plus souvent sont une extension ou un thème pas à jour, une extension « nulled » (version piratée d'une extension payante), un mot de passe faible ou réutilisé, et un ancien site oublié sur le même hébergement.
Pour qui est à l'aise en ligne de commande, les premières vérifications sont :
- chercher le code obscurci :
grep -rE "eval\(|base64_decode|gzinflate" wp-content/; - lister les fichiers PHP modifiés récemment :
find . -name "*.php" -mtime -7; - repérer les fichiers PHP dans
wp-content/uploads, où il ne devrait y en avoir aucun, et les noms suspects commewp-vcd.php,wp-tmp.phpouwp-feed.php; - comparer la liste des utilisateurs administrateurs avec ceux que vous connaissez ;
- lire les journaux d'accès du serveur autour de l'heure de l'infection.
Nettoyer le site sans laisser de porte dérobée
Un scanner automatique (Wordfence, ou Sucuri SiteCheck en ligne) trouve une partie du code malveillant, rarement tout. Deux options s'offrent à vous.
Restaurer une sauvegarde saine. Si vous avez une sauvegarde complète datant d'avant le piratage, c'est le plus rapide. Attention : si le code malveillant était déjà présent à la date de la sauvegarde, vous restaurez un site infecté. Et la faille est toujours là : les étapes de durcissement restent indispensables.
Nettoyer à la main. Sans sauvegarde saine, la méthode fiable consiste à remplacer ce qui peut l'être par des copies saines, puis à inspecter le reste :
- Exportez la base de données complète.
- Remplacez le cœur de WordPress par une archive officielle de la même version (tout sauf
wp-contentetwp-config.php). - Réinstallez les extensions et le thème depuis leurs sources officielles, et supprimez ceux que vous n'utilisez pas.
- Inspectez
wp-config.php,.htaccess,index.phpet le dossieruploads. - Nettoyez la base : comptes inconnus dans
wp_users, adresses du site danswp_options, scripts injectés danswp_posts. - Régénérez les clés de sécurité de
wp-config.php: toutes les sessions ouvertes sont déconnectées. - Videz tous les caches (extension, serveur, CDN).
Remettre le site en ligne et lever l'alerte Google
Avant de rouvrir, vérifiez que le site est accessible en HTTPS, qu'aucune page ne redirige ailleurs (testez aussi depuis un mobile et depuis Google, car certains codes ne se déclenchent que pour ces visiteurs), que les formulaires et les commandes fonctionnent, et que robots.txt et le sitemap sont propres.
Si Google a signalé le site, demandez un réexamen dans la Search Console : Sécurité et actions manuelles > Problèmes de sécurité, cochez « J'ai résolu ces problèmes », puis « Demander un examen » en expliquant ce qui a été corrigé. Pour le spam indexé, l'outil de suppression d'URL accélère le nettoyage des résultats.
Durcir le site pour éviter la récidive
Un site nettoyé mais pas durci retombe vite, parce que la faille est toujours là. Les mesures de base :
- mises à jour automatiques des versions mineures de WordPress, et des extensions suivies de près ;
- édition de fichiers désactivée dans l'admin :
define('DISALLOW_FILE_EDIT', true);; - double authentification sur les comptes administrateurs et limitation des tentatives de connexion ;
- un pare-feu applicatif (celui de l'hébergeur, Cloudflare ou une extension) ;
- des sauvegardes quotidiennes stockées hors du serveur, et une restauration testée de temps en temps.
Le détail est dans sécuriser WordPress sans extension et les erreurs de sécurité WordPress les plus courantes.
Faire soi-même ou appeler une intervention d'urgence ?
Si vous êtes à l'aise avec le FTP, phpMyAdmin et la ligne de commande, la procédure ci-dessus est faisable seul. Comptez plusieurs heures la première fois, avec le risque de laisser une porte dérobée. Dès qu'il y a des redirections, du spam indexé par Google ou une boutique à l'arrêt, chaque jour compte.
Pour un piratage, notre nettoyage de site WordPress piraté démarre à 150 €, sans abonnement, avec la faille corrigée et la demande de réexamen Google. Pour une panne (page blanche, erreur 500, site inaccessible), l'intervention d'urgence WordPress pose un diagnostic sous 2 h et remet le site en ligne le jour même.
