wp clinique image depannage

Dépannage WordPress

Site piraté WordPress : comment réagir et nettoyer efficacement

Un site WordPress piraté, c’est une situation de crise : chaque heure compte. Redirections vers des sites douteux, pages injectées de spam, alertes Google Safe Browsing… Les conséquences impactent directement votre chiffre d’affaires, votre référencement et la confiance de vos clients.

Ce guide vous accompagne étape par étape pour identifier un piratage, nettoyer votre WordPress infecté et sécuriser durablement votre site contre les futures attaques. Nous partageons les commandes WP-CLI et les méthodes que nous utilisons quotidiennement chez WP Clinique, depuis plus de 13 ans d’interventions sur des sites WordPress compromis.

Site WordPress piraté en cours de nettoyage - Illustration sécurité et protection contre malware avec bouclier numérique


Un site WordPress piraté se reconnaît à plusieurs signaux : redirections non voulues vers des sites tiers, pages fantômes indexées dans Google, alertes Google Safe Browsing ou comptes administrateurs inconnus dans le back-office. Selon le rapport Sucuri 2023, WordPress représente 95,5 % des infections CMS traitées dans le monde — sa popularité en fait une cible privilégiée.

Avant de pouvoir nettoyer un site WordPress hacké, il faut confirmer le diagnostic. Voici les symptômes les plus courants que nous rencontrons lors de nos interventions.

Redirections suspectes et pages injectées

Le signe le plus visible d’un WordPress infecté : votre site redirige vos visiteurs vers des pages que vous n’avez jamais créées. Il peut s’agir de sites de jeux en ligne, de pharmacies douteuses ou de pages de phishing.

Ces redirections peuvent être :

  • Conditionnelles : elles ne se déclenchent que sur mobile, ou uniquement pour les visiteurs provenant de Google (ce qui les rend difficiles à détecter quand vous naviguez directement sur votre site).
  • Intermittentes : elles apparaissent une fois sur trois, rendant le diagnostic complexe.
  • Ciblées par user-agent : les robots de Google voient un contenu différent de celui affiché aux humains (technique de cloaking).

Autre signe révélateur : l’apparition de centaines de pages fantômes dans l’index Google. Tapez site:votredomaine.fr dans Google — si vous voyez des pages en japonais, en chinois ou des URLs contenant /casino/, /viagra/ ou des chaînes aléatoires, votre site est compromis.

Alertes Google Safe Browsing

Google dispose d’un système de détection automatique des sites dangereux. Si votre WordPress est infecté par un malware, vos visiteurs verront un écran rouge d’avertissement : « Ce site risque d’endommager votre ordinateur » ou « Site trompeur ».

Messages typiques affichés par Google :

« Ce site risque d’endommager votre ordinateur »« Site trompeur »

Cette alerte a des conséquences immédiates et sévères :

  • Chute brutale du trafic organique (les visiteurs n’osent plus cliquer).
  • Perte de positions dans les résultats de recherche.
  • Signalement dans Google Search Console (onglet « Problèmes de sécurité »).
  • Perte de confiance durable de vos clients et partenaires.

Vérifiez l’état de votre site à tout moment via Google Transparency Report ou en consultant la section Sécurité de votre Search Console.

Fichiers modifiés et accès suspects

Au niveau technique, plusieurs indices trahissent une compromission :

  • Fichiers récemment modifiés que vous n’avez pas touchés (vérifiable via FTP/SFTP en triant par date de modification).
  • Fichiers PHP inconnus à la racine du site ou dans /wp-content/uploads/ (un dossier qui ne devrait contenir que des médias).
  • Comptes administrateurs inconnus dans le back-office WordPress.
  • Tâches cron suspectes (wp_options → entrée cron) qui rechargent du code malveillant à intervalles réguliers.
  • Consommation anormale de ressources signalée par votre hébergeur (envoi massif d’emails de spam, utilisation CPU excessive).

Pour vérifier rapidement l’intégrité de votre installation WordPress via WP-CLI :

# Vérifier que les fichiers core n'ont pas été modifiés
wp core verify-checksums

# Lister les comptes administrateurs (repérer les intrus)
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered

Si verify-checksums signale des fichiers modifiés ou inconnus, c’est un indicateur fort de compromission.



Face à un WordPress compromis, trois actions s’imposent dans les premières minutes : activer le mode maintenance, changer tous les mots de passe (WordPress, FTP, base de données) et régénérer les clés de sécurité via wp config shuffle-salts. « La première heure est décisive : chaque minute laisse le malware se propager et le pirate consolider son accès », rappelle Steve Eraville, fondateur de WP Clinique depuis 2012.

Dès que le piratage est confirmé, chaque minute compte. Voici les trois premiers réflexes à adopter, dans cet ordre.

Mettre le site en maintenance

Première priorité : empêcher vos visiteurs d’accéder au site infecté. Cela limite la propagation du malware, protège vos utilisateurs et évite que Google continue d’indexer du contenu compromis.

Depuis WP-CLI, vous pouvez activer rapidement le mode maintenance :

# Activer le mode maintenance WordPress natif
wp maintenance-mode activate

Si WP-CLI n’est pas disponible ou si le site est trop compromis pour fonctionner, créez manuellement un fichier .maintenance à la racine du site via FTP, ou demandez à votre hébergeur de suspendre temporairement l’accès HTTP.

Changer tous les mots de passe

Avant même de commencer le nettoyage, changez immédiatement tous les accès :

  • Mots de passe de tous les comptes WordPress (en priorité les administrateurs).
  • Mot de passe FTP/SFTP.
  • Mot de passe de la base de données MySQL (puis mettez à jour wp-config.php).
  • Mots de passe des comptes email liés au domaine.
  • Clés de sécurité WordPress (salts) dans wp-config.php.

Pour régénérer les clés de sécurité et forcer la déconnexion de toutes les sessions actives (y compris celles du pirate) :

# Régénérer les clés de sécurité WordPress
wp config shuffle-salts

Cette commande invalide instantanément tous les cookies de session. Le pirate qui aurait conservé une session ouverte sera immédiatement déconnecté.

Contacter votre hébergeur

Votre hébergeur est un allié précieux dans cette situation :

  • Il peut vous fournir les logs d’accès serveur qui révèlent le point d’entrée de l’attaque.
  • Il peut vérifier si d’autres sites sur le même serveur sont compromis (en hébergement mutualisé).
  • Il dispose souvent de sauvegardes automatiques antérieures au piratage.
  • Il peut temporairement bloquer les IP suspectes au niveau du firewall serveur.

Chez O2Switch par exemple, les logs sont accessibles via cPanel et les sauvegardes JetBackup remontent jusqu’à 30 jours.



Avant de nettoyer, il faut comprendre l’étendue de l’infection et le vecteur d’attaque. Un nettoyage sans diagnostic mène presque systématiquement à une réinfection.

L’ampleur du problème est documentée : selon Patchstack, 96 % des vulnérabilités WordPress découvertes en 2024 concernaient des plugins tiers (7 633 failles sur 7 966 recensées). Parallèlement, le rapport Sucuri 2023 révèle que 49,21 % des sites compromis contenaient au moins une backdoor active au moment du nettoyage. Ce chiffre explique pourquoi les réinfections sont si fréquentes : un nettoyage incomplet qui manque une backdoor garantit une nouvelle compromission dans les jours suivants. Le diagnostic doit donc couvrir l’intégralité des fichiers, de la base de données et des accès — pas seulement les symptômes visibles.

Scanner avec WP-CLI et outils en ligne

WP-CLI est votre meilleur allié pour un diagnostic rapide et fiable :

# Vérifier l'intégrité des fichiers core WordPress
wp core verify-checksums

# Vérifier l'intégrité de tous les plugins officiels
wp plugin verify-checksums --all

# Lister les plugins avec leur statut et version
wp plugin list --fields=name,status,version,update

# Lister les thèmes installés
wp theme list --fields=name,status,version,update

Complétez avec des outils en ligne pour une analyse externe :

  • Sucuri SiteCheck : scan gratuit de malware, blacklisting et anomalies.
  • VirusTotal : analyse de l’URL par des dizaines de moteurs antivirus.
  • Google Search Console → Problèmes de sécurité : détection officielle Google.
  • Unmask Parasites : détection de liens et contenus injectés.

Identifier les fichiers compromis

Les fichiers malveillants se cachent souvent aux mêmes endroits :

  • /wp-content/uploads/ : fichiers .php qui n’ont rien à faire dans un dossier de médias.
  • /wp-includes/ : fichiers modifiés ou ajoutés (le core ne devrait jamais être modifié).
  • Racine du site : fichiers PHP inconnus (db-config.php, wp-tmp.php, about.php…).
  • Fichiers .htaccess ou wp-config.php modifiés avec du code injecté.

Commande utile pour repérer les fichiers PHP dans les uploads (ils ne devraient pas s’y trouver) :

# Trouver les fichiers PHP dans le dossier uploads (suspect)
find wp-content/uploads -name "*.php" -type f

# Chercher les fichiers modifiés dans les dernières 48h
find . -name "*.php" -mtime -2 -type f

Vérifier la base de données

Les pirates n’injectent pas seulement du code dans les fichiers — la base de données est une cible fréquente. Du JavaScript malveillant peut être injecté dans les articles, les widgets, les options du thème ou les champs personnalisés.

# Chercher des appels eval() dans toutes les tables (signature de malware courante)
wp db search "eval(" --all-tables

# Chercher des balises script suspectes
wp db search "<script" --all-tables

# Chercher des iframes injectées
wp db search "<iframe" --all-tables

# Chercher des encodages base64 suspects (technique d'obfuscation)
wp db search "base64_decode" --all-tables

Si ces commandes retournent des résultats dans des tables comme wp_posts, wp_options ou wp_postmeta, du code malveillant est probablement injecté dans votre contenu.



Le diagnostic est posé, vous savez où se cache l’infection. Place au nettoyage méthodique.

Conseil — Avant d’entamer toute opération de nettoyage, réalisez une sauvegarde complète des fichiers et de la base de données. Même infectée, cette sauvegarde peut servir de référence forensique pour identifier le vecteur d’attaque.

Nettoyer les fichiers core WordPress (WP-CLI)

La méthode la plus sûre pour nettoyer le core WordPress : le réinstaller entièrement depuis les sources officielles. Cela écrase tous les fichiers core modifiés par le pirate sans toucher à votre contenu (/wp-content/) ni à votre configuration (wp-config.php).

# Télécharger et réinstaller le core WordPress propre
# --skip-content préserve votre dossier wp-content
wp core download --force --skip-content

# Vérifier que l'installation est désormais propre
wp core verify-checksums

Vérifiez également les fichiers à la racine : index.php, .htaccess et wp-config.php doivent être inspectés manuellement. Comparez-les avec des versions saines si possible.

Supprimer les plugins et thèmes infectés

Chaque plugin et thème est un vecteur d’attaque potentiel. La procédure recommandée :

# Vérifier l'intégrité des plugins du répertoire officiel
wp plugin verify-checksums --all

# Pour chaque plugin signalé comme modifié : le supprimer et le réinstaller
wp plugin deactivate plugin-infecte
wp plugin delete plugin-infecte
wp plugin install plugin-infecte --activate

# Supprimer les thèmes non utilisés (ne garder que le thème actif et un thème par défaut)
wp theme delete theme-inutilise

Règles importantes pendant le nettoyage :

  • Supprimez tout plugin ou thème que vous n’utilisez pas activement, même s’il est désactivé. Un plugin désactivé mais vulnérable reste exploitable.
  • Ne réinstallez jamais un plugin ou thème depuis une source non officielle (sites de téléchargement « gratuit » de plugins premium = vecteur d’infection majeur).
  • Vérifiez les plugins premium manuellement — verify-checksums ne fonctionne que pour les plugins du répertoire officiel WordPress.org.

Nettoyer la base de données (WP-CLI)

Si le diagnostic a révélé du code injecté en base de données, voici comment le nettoyer :

DANGER — Sauvegardez impérativement la base de données avant toute commande search-replace. Une mauvaise expression peut corrompre le contenu de manière irréversible. Utilisez systématiquement --dry-run pour valider avant l’exécution réelle.

# IMPORTANT : sauvegardez la base AVANT toute modification
wp db export backup-avant-nettoyage.sql

# Exemple : supprimer des URLs malveillantes injectées dans les articles
# Remplacez l'URL malveillante par une chaîne vide
wp search-replace 'https://site-malveillant.example.com' '' --all-tables --dry-run

# Si le dry-run confirme les remplacements attendus, exécuter pour de vrai
wp search-replace 'https://site-malveillant.example.com' '' --all-tables

# Nettoyer les révisions (qui peuvent contenir d'anciennes versions infectées)
wp post delete $(wp post list --post_type=revision --format=ids) --force

# Optimiser les tables après nettoyage
wp db optimize

Vérifiez également la table wp_options : les pirates y stockent souvent des tâches cron malveillantes ou des options qui rechargent du code à chaque visite.

# Lister les tâches cron programmées (repérer les entrées suspectes)
wp cron event list

Vérifier les utilisateurs et permissions

Dernière étape critique du nettoyage : l’audit des accès.

# Lister tous les administrateurs
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered

# Supprimer un compte administrateur créé par le pirate
wp user delete ID_SUSPECT --reassign=VOTRE_ID

# Réinitialiser le mot de passe d'un admin légitime
wp user update VOTRE_ID --user_pass="NouveauMotDePasseRobuste"

Vérifiez aussi les permissions de fichiers sur le serveur :

  • Dossiers : 755 (jamais 777).
  • Fichiers : 644.
  • wp-config.php : 640 ou 600 pour une protection maximale.
# Corriger les permissions des dossiers
find /chemin/vers/wordpress -type d -exec chmod 755 {} ;

# Corriger les permissions des fichiers
find /chemin/vers/wordpress -type f -exec chmod 644 {} ;

# Restreindre wp-config.php
chmod 640 wp-config.php


Le nettoyage est terminé, mais le travail n’est pas fini. Sans sécurisation, une réinfection est quasi garantie — souvent dans les jours qui suivent.

Mettre à jour core, plugins et thèmes

Les failles dans les extensions obsolètes représentent le premier vecteur d’attaque sur WordPress. Après un nettoyage, tout doit être à jour :

Les chiffres confirment l’urgence des mises à jour : d’après le rapport Sucuri 2023, 39,1 % des CMS infectés n’avaient pas été mis à jour au moment du piratage. En 2024, Patchstack a recensé 7 966 nouvelles vulnérabilités dans l’écosystème WordPress — soit une augmentation de 34 % en un an. Sans politique de mise à jour systématique, votre site reste exposé à des failles connues et publiquement documentées.

# Mettre à jour le core WordPress
wp core update

# Mettre à jour tous les plugins
wp plugin update --all

# Mettre à jour tous les thèmes
wp theme update --all

# Vérifier qu'il ne reste aucune mise à jour en attente
wp core check-update
wp plugin list --update=available
wp theme list --update=available

Mettez en place une routine de mises à jour régulières. C’est exactement ce que couvrent nos forfaits de maintenance WordPress, qui incluent la surveillance sécurité, les mises à jour hebdomadaires et les sauvegardes automatisées.

Renforcer wp-config.php et .htaccess

wp-config.php est le fichier le plus sensible de votre installation. Renforcez-le :

// Désactiver l'éditeur de fichiers dans le back-office
// (empêche un pirate ayant accès admin de modifier les fichiers)
define('DISALLOW_FILE_EDIT', true);

// Forcer SSL pour l'administration
define('FORCE_SSL_ADMIN', true);

// Limiter les révisions (réduit la surface d'attaque en base)
define('WP_POST_REVISIONS', 5);

// Désactiver les mises à jour automatiques de fichiers
// (si vous gérez les mises à jour manuellement ou via un contrat de maintenance)
define('DISALLOW_FILE_MODS', true);

Dans votre .htaccess (serveur Apache) ou votre configuration nginx, protégez les fichiers sensibles :

# Protéger wp-config.php
<Files wp-config.php>
    Order Allow,Deny
    Deny from all
</Files>

# Protéger .htaccess lui-même
<Files .htaccess>
    Order Allow,Deny
    Deny from all
</Files>

# Désactiver l'exécution PHP dans uploads
<Directory "/wp-content/uploads">
    <Files "*.php">
        Order Allow,Deny
        Deny from all
    </Files>
</Directory>

Mettre en place un firewall et monitoring

La sécurisation active repose sur trois piliers :

La menace est massive et automatisée. Le rapport annuel 2024 de Wordfence, l’un des principaux acteurs de la sécurité WordPress, fait état de plus de 54 milliards de requêtes malveillantes bloquées en un an — dont 55 milliards d’attaques par force brute sur les pages de connexion. Mark Maunder, fondateur de Wordfence, recommande systématiquement la combinaison WAF + authentification à deux facteurs comme minimum non négociable pour tout site WordPress en production.

  • Firewall applicatif (WAF) : bloque les requêtes malveillantes avant qu’elles n’atteignent WordPress. Des solutions comme Wordfence, Sucuri ou un WAF au niveau du serveur (ModSecurity) filtrent les tentatives d’injection SQL, XSS et brute force.
  • Monitoring de fichiers : un système d’alerte qui vous prévient dès qu’un fichier est modifié de manière inattendue. Certains plugins de sécurité proposent cette fonctionnalité. C’est votre alarme anti-intrusion.
  • Limitation des tentatives de connexion : bloquez automatiquement les IP après un nombre défini de tentatives de connexion échouées. Combiné avec l’authentification à deux facteurs (2FA), cela rend les attaques par brute force quasi impossibles.

À retenir — La sécurité WordPress repose sur la défense en profondeur : mises à jour, hardening, WAF et monitoring fonctionnent ensemble. Aucune mesure isolée ne suffit à elle seule.

Pour aller plus loin, consultez notre guide complet : 7 mesures essentielles pour sécuriser durablement votre WordPress.



Les limites du nettoyage DIY

Le nettoyage d’un site WordPress piraté est une opération délicate. Plusieurs situations dépassent le cadre d’une intervention DIY :

  • Réinfections récurrentes : vous nettoyez, mais le malware revient en quelques jours. Cela signifie que la backdoor n’a pas été identifiée — elle est souvent bien cachée (encodée en base64, stockée dans la base de données ou dans un fichier apparemment légitime).
  • Compromission profonde : le pirate a modifié le core WordPress, la base de données, et installé plusieurs backdoors. Le nettoyage partiel ne suffit pas.
  • Blacklisting Google : la levée d’un blacklisting nécessite un rapport de nettoyage complet et une demande de réévaluation argumentée. Une erreur dans le processus allonge la période de pénalité.
  • Données sensibles compromises : si votre site gère des données clients (e-commerce, formulaires, espace membres), des obligations légales (RGPD) s’ajoutent au nettoyage technique.

Intervention professionnelle WP Clinique

Depuis 2012, WP Clinique intervient en urgence sur les sites WordPress compromis. Notre processus de désinfection comprend :

  • Diagnostic complet : analyse des logs serveur, scan de tous les fichiers, audit de la base de données, identification du vecteur d’attaque.
  • Nettoyage intégral : suppression de tout code malveillant, éradication des backdoors, réinstallation des composants depuis les sources officielles.
  • Sécurisation post-nettoyage : durcissement de la configuration, mise en place de protections, changement de tous les accès.
  • Rapport détaillé : documentation complète des actions menées, recommandations de prévention, accompagnement pour la demande de réévaluation Google si nécessaire.

Notre expertise, certifiée Opquast, garantit une intervention méthodique et des résultats durables.

Combien coûte un nettoyage de site WordPress piraté

Le coût d’une intervention de nettoyage varie selon la complexité de l’infection :

  • Infection simple (malware standard, une seule backdoor) : à partir de quelques centaines d’euros.
  • Infection complexe (multiples backdoors, base de données compromise, blacklisting Google) : le tarif augmente avec le temps d’intervention nécessaire.
  • Urgence : une intervention sous 24h est possible avec une priorité de traitement.

Chaque situation est unique — nous réalisons un diagnostic initial pour vous fournir un devis précis et transparent avant toute intervention. Le nettoyage inclut systématiquement la sécurisation post-intervention pour éviter une rechute. On a rédigé 15 mesures concrètes à mettre en place immédiatement →



Comment savoir si mon site WordPress est piraté ?
Mon site WordPress est piraté, que faire en urgence ?
Comment nettoyer un site WordPress infecté par un malware ?

Le nettoyage suit un processus méthodique : réinstaller le core WordPress propre (wp core download --force --skip-content), vérifier et réinstaller les plugins depuis les sources officielles, scanner et nettoyer la base de données (wp db search "eval(" --all-tables), supprimer les comptes utilisateurs suspects et corriger les permissions de fichiers. Une sauvegarde complète doit être réalisée avant toute intervention.

Combien coûte le nettoyage d’un site WordPress piraté ?

Le coût varie selon la gravité de l’infection. Une désinfection standard démarre à quelques centaines d’euros. Les cas complexes (multiples backdoors, base de données compromise, blacklisting Google) demandent plus de temps d’intervention. Chez WP Clinique, nous réalisons un diagnostic initial gratuit pour vous fournir un devis précis avant toute intervention.

Combien de temps prend un nettoyage de site WordPress ?

Un nettoyage standard prend entre 4 et 8 heures. Les cas complexes avec infection profonde de la base de données, multiples backdoors ou blacklisting Google peuvent nécessiter 1 à 3 jours de travail. WP Clinique propose des interventions en urgence sous 24h pour les situations critiques.

Comment éviter un nouveau piratage WordPress ?

La prévention repose sur cinq piliers : maintenir WordPress, les plugins et les thèmes à jour en permanence, utiliser des mots de passe robustes avec authentification 2FA, mettre en place un firewall applicatif et un monitoring de fichiers, effectuer des sauvegardes régulières, et supprimer les plugins et thèmes non utilisés. Un contrat de maintenance professionnelle couvre l’ensemble de ces points.

Pouvez-vous intervenir en urgence sur un site WordPress piraté ?

Oui. WP Clinique intervient en urgence sur les sites WordPress piratés, y compris le week-end pour les situations critiques. Notre processus inclut le diagnostic complet, le nettoyage, la sécurisation et l’accompagnement pour la levée d’un éventuel blacklisting Google. Contactez-nous pour une prise en charge immédiate.

Face à un site WordPress piraté, la réactivité et la méthode font toute la différence. Diagnostiquez rapidement, nettoyez méthodiquement avec les bons outils (WP-CLI est votre allié), et surtout sécurisez durablement pour éviter la rechute.

La prévention reste votre meilleure arme : mises à jour régulières, surveillance active, sauvegardes fiables et configuration durcie transforment votre WordPress en forteresse.

À propos de l’auteur

Avatar de Steve Eraville