Site WordPress piraté : que faire, comment le nettoyer et le sécuriser
Un site WordPress piraté héberge du code ou du contenu que vous n'avez pas mis en place : pages de spam pharmaceutique ou de paris, redirections vers des sites douteux, fichiers PHP inconnus, comptes administrateur créés à votre insu, parfois un logiciel malveillant distribué à vos visiteurs. Google peut alors afficher un avertissement de sécurité et désindexer vos pages.
Les conséquences dépassent l'image : perte de trafic, blocage par l'hébergeur, e-mails classés en spam, vol de données clients et responsabilité juridique si des données personnelles ont fuité. Plus vous attendez, plus le nettoyage est long et plus les portes dérobées se multiplient.
Cette page vous explique comment reconnaître une compromission, quelles actions immédiates limiter les dégâts, comment nettoyer réellement le site et surtout comment éviter la réinfection, qui est le scénario le plus fréquent après un nettoyage incomplet.
Symptômes typiques
- Google Search Console ou le navigateur affichent « Ce site peut avoir été piraté » ou « Site trompeur ».
- Des pages ou des résultats de recherche en langue étrangère ou sur des thèmes sans rapport (médicaments, casino, contrefaçons) apparaissent sous votre nom de domaine.
- Les visiteurs venant de Google ou depuis un mobile sont redirigés vers un autre site, alors que l'accès direct semble normal.
- Des utilisateurs administrateur inconnus figurent dans la liste des comptes, ou votre mot de passe ne fonctionne plus.
- Des fichiers PHP aux noms étranges se trouvent dans wp-content/uploads, à la racine ou dans des dossiers d'extensions.
- L'hébergeur vous alerte pour envoi massif d'e-mails, malware détecté ou consommation anormale de ressources.
- L'antivirus des visiteurs bloque le site, ou des scripts inconnus sont injectés dans le code source des pages.
Causes possibles
Extension ou thème vulnérable non mis à jour
C'est la cause la plus fréquente. Une faille connue dans une extension populaire est exploitée automatiquement par des robots quelques jours après sa publication, parfois quelques heures.
Mots de passe faibles ou réutilisés
Attaques par force brute sur wp-login.php ou xmlrpc.php, identifiants trouvés dans une fuite de données d'un autre service, compte « admin » avec un mot de passe simple.
Thèmes ou extensions piratés (nulled)
Les versions gratuites d'extensions payantes téléchargées sur des sites tiers contiennent très souvent une porte dérobée intégrée dès l'installation.
Hébergement partagé compromis
Sur un compte d'hébergement où plusieurs sites cohabitent sans isolation, l'infection d'un site se propage aux autres via le système de fichiers.
Permissions de fichiers trop larges
Des dossiers en 777, un wp-config.php lisible, l'édition de fichiers activée dans l'administration facilitent l'écriture de code malveillant.
Ancien nettoyage incomplet
Après une première infection, une porte dérobée oubliée dans un fichier, la base de données ou une tâche cron permet à l'attaquant de revenir dès que le site est remis en ligne.
Contrôles à effectuer
- 1
Vérifier Google Search Console
La section Sécurité et actions manuelles indique si Google a détecté du contenu piraté et sur quelles URL. Faites aussi une recherche site:votre-domaine.fr pour repérer des pages indexées que vous n'avez pas créées.
- 2
Scanner le site depuis l'extérieur
Un scanner en ligne comme Sucuri SiteCheck ou VirusTotal détecte les redirections et scripts injectés visibles. Testez aussi avec un user-agent mobile et via un résultat Google, car les redirections sont souvent conditionnelles.
- 3
Lister les fichiers modifiés récemment
En SSH : find . -type f -mtime -7 -name '*.php' affiche les fichiers PHP modifiés dans les sept derniers jours. Tout fichier PHP dans wp-content/uploads est suspect par définition.
- 4
Comparer avec les fichiers d'origine
WP-CLI permet de vérifier l'intégrité du cœur : wp core verify-checksums, puis wp plugin verify-checksums --all. Toute différence signalée mérite une lecture du fichier.
- 5
Contrôler les utilisateurs et la base de données
Passez en revue Utilisateurs > Tous, puis dans phpMyAdmin recherchez dans wp_posts et wp_options des chaînes comme eval(, base64_decode, <script ou des URL inconnues.
- 6
Lire les journaux d'accès
Les logs Apache ou Nginx (access.log) montrent les requêtes POST vers des fichiers inhabituels et les adresses IP à l'origine des accès. Cherchez les requêtes vers wp-login.php, xmlrpc.php et vers tout fichier que vous n'avez pas installé.
- 7
Vérifier les tâches planifiées
Contrôlez les crons WordPress avec l'extension WP Crontrol et les crontab système (crontab -l) : les attaquants y placent souvent la commande qui réinstalle leur code.
Solutions
Limiter les dégâts immédiatement
Mettez le site en maintenance ou coupez-le si des visiteurs sont exposés, changez tous les mots de passe (WordPress, FTP/SSH, base de données, hébergeur), révoquez les sessions actives et sauvegardez l'état actuel pour analyse.
Nettoyer les fichiers
Remplacez le cœur de WordPress, les thèmes et les extensions par des copies fraîches téléchargées depuis les sources officielles, puis inspectez à la main ce qui ne peut pas être remplacé : wp-config.php, .htaccess, uploads, code sur mesure.
Nettoyer la base de données
Supprimez les comptes inconnus, le code injecté dans les articles et les options, les redirections ajoutées dans siteurl/home, et les tâches cron malveillantes.
Fermer la porte d'entrée
Identifiez la faille exploitée (extension vulnérable, mot de passe faible, hébergement voisin), corrigez-la et mettez à jour tout ce qui doit l'être. Sans cette étape, la réinfection est quasi certaine.
Durcir la configuration
Authentification à deux facteurs, limitation des tentatives de connexion, désactivation de xmlrpc.php si inutile, DISALLOW_FILE_EDIT dans wp-config.php, permissions de fichiers correctes, pare-feu applicatif (WAF).
Demander la réévaluation
Une fois le site propre, demandez un réexamen dans Google Search Console et, si nécessaire, auprès des listes noires qui bloquent le domaine (navigateurs, antivirus, filtres anti-spam).
Quand contacter un professionnel ?
- Google affiche un avertissement ou l'hébergeur a suspendu votre compte : chaque heure compte pour le trafic et la réputation.
- Le site se réinfecte après un nettoyage, signe qu'une porte dérobée subsiste.
- Le site collecte des données clients ou traite des paiements et vous devez évaluer l'étendue de la fuite.
- Vous n'avez pas d'accès SSH, pas de sauvegarde saine connue ou pas les compétences pour lire du code PHP obscurci.
- Plusieurs sites sont hébergés sur le même compte et vous ne savez pas lesquels sont touchés.
L'intervention proposée par Agencei
- 1
Mise en sécurité
Isolation du site, sauvegarde forensique, changement des accès, blocage des adresses IP et requêtes malveillantes en cours.
- 2
Analyse
Recherche de tous les fichiers et entrées de base de données compromis, lecture des journaux pour dater l'intrusion et identifier le vecteur d'attaque.
- 3
Nettoyage complet
Réinstallation propre du cœur, des thèmes et des extensions, nettoyage manuel du code sur mesure et de la base de données, suppression des portes dérobées et des tâches planifiées malveillantes.
- 4
Correction de la faille et durcissement
Mise à jour ou remplacement du composant vulnérable, durcissement de WordPress et du serveur, WAF, surveillance de l'intégrité des fichiers.
- 5
Levée des blocages
Demande de réexamen auprès de Google et des listes noires, vérification de la réputation d'envoi des e-mails.
- 6
Rapport et prévention
Compte rendu de l'incident, recommandations et, si vous le souhaitez, maintenance WordPress avec mises à jour et surveillance continues.
Questions fréquentes
Une extension de sécurité peut-elle nettoyer le site seule ?
Elle détecte une partie des fichiers infectés et supprime les signatures connues, mais elle passe régulièrement à côté des portes dérobées personnalisées et du code injecté en base de données. Elle est utile pour la prévention, insuffisante pour un nettoyage fiable.
Faut-il restaurer une sauvegarde ?
Seulement si vous êtes certain qu'elle date d'avant l'intrusion, ce qui est rarement le cas car les infections restent souvent silencieuses pendant des semaines. Et restaurer sans corriger la faille ramène le site dans l'état qui a permis l'attaque.
Combien de temps prend un nettoyage ?
Souvent quelques heures pour un site standard, plus longtemps si le site comporte beaucoup de code sur mesure, si plusieurs sites sont touchés ou si le vecteur d'attaque est difficile à identifier.
Les données de mes clients ont-elles été volées ?
Cela dépend de l'accès obtenu par l'attaquant. L'analyse des journaux et des fichiers permet d'estimer ce qui a été consulté. Si des données personnelles ont pu fuiter, une notification à la CNIL peut être obligatoire.
Comment éviter que cela se reproduise ?
Mises à jour régulières et testées, mots de passe forts avec double authentification, suppression des extensions inutiles, sauvegardes hors site, pare-feu applicatif et surveillance de l'intégrité des fichiers.
Services associés
Dépannage WordPress
Écran blanc, erreur 500, piratage, panne après mise à jour : diagnostic et remise en service rapides.
Voir ce serviceSécurité
Nettoyage de site piraté, durcissement, analyse de vulnérabilités, WAF, sauvegardes et accès.
Voir ce serviceMaintenance WordPress
Mises à jour testées, sauvegardes, surveillance et sécurité pour un site WordPress toujours disponible.
Voir ce serviceAudit technique
Revue indépendante du code, de l'architecture et de l'infrastructure, avec un rapport priorisé.
Voir ce serviceParlez-nous de votre projet
Décrivez votre besoin en quelques lignes : nous revenons vers vous avec une première analyse et les prochaines étapes.