Site WordPress piraté : que faire tout de suite ?
Par José Perez, fondateur de Webmint · mis à jour le 22 octobre 2026Faites d'abord une copie de l'état actuel du site, puis changez tous les mots de passe depuis un ordinateur sain. Le nettoyage consiste ensuite à remplacer le cœur et les extensions par des copies officielles, à chercher les fichiers ajoutés et à fermer la faille par laquelle l'attaque est entrée.
Pas le temps de vous en occuper ? Dépannage WordPress · diagnostic 90 € HT, sans vous déplacer : tout se fait à distance.
Étape par étape
- Copiez fichiers et base de données dans leur état actuel avant de toucher à quoi que ce soit : cette copie sert à comprendre par où l'attaque est passée.
- Changez les mots de passe de l'hébergement, des comptes SFTP, de la base de données et de chaque administrateur WordPress, depuis un ordinateur que vous savez sain.
- Supprimez les administrateurs inconnus et remplacez les clés de sécurité de wp-config.php pour couper toutes les sessions ouvertes.
- Remplacez wp-admin et wp-includes par une copie officielle de la même version, puis réinstallez extensions et thème depuis leurs sources d'origine.
- Cherchez les fichiers PHP dans wp-content/uploads et inspectez wp-content/mu-plugins, les fichiers .htaccess et les tâches planifiées de l'hébergement.
- Mettez tout à jour, supprimez extensions et thèmes inutilisés, activez la double authentification pour les administrateurs.
- Ouvrez le rapport Problèmes de sécurité de Search Console et demandez un examen une fois le site propre.
Comment savoir si votre site WordPress est piraté ?
Un site est piraté quand il fait ce que personne ne lui a demandé, par exemple rediriger vos visiteurs vers un autre site ou publier des pages inconnues dans Google. Ces symptômes ne se voient pas toujours depuis votre ordinateur. Beaucoup d'infections redirigent seulement les visiteurs qui arrivent depuis Google, ou seulement ceux qui sont sur mobile, et laissent l'administrateur connecté voir un site normal. Ce sont souvent les clients qui préviennent : en cliquant sur votre nom dans les résultats, ils ont atterri sur un site de jeux ou de faux médicaments.
Un ralentissement soudain n'est pas forcément un piratage. Sans autre signe, commencez par les causes habituelles d'un site WordPress lent.
Les signes qu'on rencontre régulièrement :
- des pages en japonais ou en caractères inconnus quand on tape site:votredomaine.fr dans Google
- un écran d'avertissement rouge de Chrome avant l'ouverture du site
- une alerte dans le rapport Problèmes de sécurité de Search Console
- un compte administrateur que personne n'a créé
- un compte d'hébergement suspendu parce que le serveur envoie des e-mails indésirables en masse
- un site qui ralentit brutalement, parce que des scripts tournent en tâche de fond
Quel symptôme renvoie à quelle cause ?
Chaque symptôme d'un piratage oriente vers un endroit précis du site ou de l'hébergement. Le tableau associe les signes qu'on rencontre le plus souvent à leur cause probable et au premier geste à faire, avant tout nettoyage.
| Symptôme | Cause probable | Première action |
|---|---|---|
| Visiteurs venus de Google redirigés | Code injecté, souvent dans .htaccess ou index.php | Copier le site, puis le mettre hors ligne |
| Pages en japonais dans site:votredomaine.fr | Pages de spam créées par l'attaquant | Les faire répondre en 404 ou 410 après nettoyage |
| Avertissement rouge de Chrome | Site signalé comme dangereux par Google | Nettoyer, puis demander un examen dans Search Console |
| Administrateur que personne n'a créé | Compte ajouté par l'attaquant | Le supprimer, vérifier wp_users et wp_usermeta |
| Hébergement suspendu pour spam | Script qui envoie des e-mails en masse | Prévenir l'hébergeur et demander ses journaux |
| Code qui revient chaque nuit | Tâche planifiée qui le réinstalle | Inspecter les tâches cron du panneau de l'hébergeur |
| Réinfection après un nettoyage | Faille restée ouverte, ou autre site du même compte | Chercher la porte d'entrée, contrôler tous les sites |
| Ralentissement brutal, sans autre signe | Scripts en tâche de fond, ou simple lenteur | Écarter d'abord les causes habituelles de lenteur |
Pourquoi le site piraté redirige-t-il seulement certains visiteurs ?
Parce que le code injecté trie les visiteurs : il redirige ceux qui arrivent de Google ou depuis un téléphone, et laisse passer l'administrateur connecté. Vous ouvrez le site, tout semble normal, pendant que vos clients atterrissent sur un site de jeux ou de faux produits.
Pour le vérifier, ouvrez une fenêtre de navigation privée sur votre téléphone, cherchez votre nom dans Google et cliquez sur le résultat. Le code se cache le plus souvent dans le fichier .htaccess, dans index.php ou wp-config.php, ou dans une option de la base de données. Le remplacer par une copie saine ne suffit pas tant que la faille reste ouverte : la redirection revient dans la nuit.
Que faire dans les premières heures ?
Copiez le site dans son état actuel, prévenez l'hébergeur, puis coupez l'accès aux visiteurs si le site les redirige. La tentation est de tout effacer. C'est l'inverse qu'il faut faire.
Pour la copie, téléchargez l'ensemble des fichiers par SFTP ou avec l'outil de sauvegarde de l'hébergeur, et exportez la base depuis phpMyAdmin, onglet Exporter. Rangez cette copie à part et nommez-la clairement : elle est infectée et ne doit jamais être restaurée telle quelle. Elle permet de retrouver la date des premiers fichiers modifiés et la porte d'entrée.
Prévenez l'hébergeur. Il dispose de journaux que vous ne voyez pas, connexions FTP et requêtes suspectes, et sait si d'autres sites du même compte sont touchés. Si plusieurs sites partagent un même hébergement, considérez-les tous comme infectés : un script malveillant passe facilement d'un dossier à l'autre, et nettoyer un seul site ne sert à rien.
Si les visiteurs sont redirigés vers des sites dangereux, mettez le site hors ligne le temps du nettoyage, par exemple en protégeant son dossier par mot de passe depuis le panneau de l'hébergeur. Une extension de mode maintenance ne suffit pas toujours, car le code malveillant peut s'exécuter avant elle.
Si c'est un ancien prestataire qui détient les accès à l'hébergement et qu'il ne répond pas, récupérer ces accès devient la première urgence : voyez comment reprendre la main quand le prestataire est injoignable.
Couper les accès de l'attaquant
Changez les mots de passe depuis un poste sain : un ordinateur infecté par un enregistreur de frappe transmettrait aussi les nouveaux. Supprimez les comptes FTP que vous ne connaissez pas. Le mot de passe de la base se change dans le panneau de l'hébergeur et dans la ligne DB_PASSWORD de wp-config.php au même moment, sinon le site affiche une erreur de connexion à la base de données.
Générez de nouvelles clés sur api.wordpress.org/secret-key/1.1/salt/ et remplacez les huit lignes de AUTH_KEY à NONCE_SALT dans wp-config.php. Toutes les sessions ouvertes sont coupées, celles de l'attaquant comprises.
Dans Comptes > Tous les comptes, filtrez sur le rôle Administrateur et supprimez les comptes inconnus en attribuant leurs contenus à un compte légitime. Certains codes malveillants masquent leur compte dans cette liste : en cas de doute, vérifiez la table wp_users dans phpMyAdmin (le préfixe wp_ peut être différent sur votre site).
Nettoyer les fichiers du cœur, des extensions et du thème
Pour le cœur de WordPress, le plus sûr est de remplacer les fichiers. Téléchargez sur wordpress.org la version installée, supprimez les dossiers wp-admin et wp-includes, puis copiez ceux de l'archive, ainsi que les fichiers PHP de la racine. Ne touchez ni à wp-config.php ni au dossier wp-content. Avec WP-CLI, wp core verify-checksums liste les fichiers du cœur modifiés ou ajoutés, et wp plugin verify-checksums –all fait de même pour les extensions publiées sur wordpress.org.
Réinstallez les extensions et le thème depuis leurs sources d'origine. Pour une extension payante, retéléchargez l'archive depuis votre compte chez l'éditeur. Une extension payante obtenue gratuitement sur un site de téléchargement, dite nulled, est une porte d'entrée classique : supprimez-la.
Si une erreur critique apparaît après ces réinstallations, une extension remise à neuf n'est sans doute pas compatible avec le reste : le guide sur l'erreur critique explique comment la retrouver.
Reste à inspecter ce que les réinstallations ne remplacent pas. Les dates de modification aident, mais les attaquants les falsifient souvent. Les fonctions eval, base64_decode ou gzinflate dans un code illisible sont suspectes, sans être toujours malveillantes : ne supprimez pas à l'aveugle. Les endroits à passer en revue :
- wp-content/uploads : aucun fichier .php ne devrait s'y trouver (find wp-content/uploads -name '*.php')
- wp-content/mu-plugins : ces extensions se chargent toujours et ne se désactivent pas depuis l'administration
- les fichiers .htaccess de la racine et des sous-dossiers : règles de redirection ajoutées
- index.php et wp-config.php : code inséré tout en haut ou tout en bas du fichier
- des fichiers aux noms proches de ceux de WordPress, ou posés à la racine sans raison
- les tâches planifiées (cron) du panneau de l'hébergeur, capables de réinstaller le code chaque nuit
Contrôler la base de données
Une partie des infections vit dans la base. Dans la table wp_options, vérifiez que siteurl et home contiennent bien votre adresse. Cherchez des balises script inattendues dans le contenu des articles (table wp_posts) et dans les widgets, stockés eux aussi dans wp_options. Avec WP-CLI, la commande wp db search permet de chercher une chaîne dans toutes les tables.
Vérifiez aussi la table wp_usermeta : un compte d'apparence anodine peut avoir reçu des droits d'administrateur. Faites une sauvegarde de la base avant chaque modification, même petite.
Faut-il restaurer une sauvegarde ou nettoyer le site ?
Restaurez seulement une sauvegarde dont vous êtes sûr qu'elle précède l'infection. Sinon, nettoyez le site en place. La date de l'infection est souvent bien antérieure aux premiers symptômes, et la faille qui a servi reste ouverte après une restauration : un site restauré sans autre mesure est souvent réinfecté peu après. La restauration écrase aussi les commandes, messages et inscriptions reçus depuis.
Après une restauration, on met à jour, on change les mots de passe et on contrôle les fichiers comme pour un nettoyage. Sur une boutique, une combinaison est fréquente : fichiers repris d'une copie saine ou réinstallés, base actuelle conservée après contrôle.
Que faire vis-à-vis de Google, de la CNIL et de vos clients ?
Côté Google, demandez un examen dans Search Console une fois le site propre. Côté données personnelles, vérifiez le jour même si une notification à la CNIL s'impose. Dans Search Console, le rapport Sécurité et actions manuelles > Problèmes de sécurité indique le type de problème détecté et des exemples d'adresses. Décrivez ce qui a été fait dans la demande d'examen, et comptez en général quelques jours, sans délai garanti.
Les pages de spam créées par l'attaquant doivent renvoyer une erreur 404 ou 410 ; l'outil Suppressions de Search Console les masque temporairement des résultats. Ces outils sont documentés dans la documentation Google Search Central.
Si le site stocke des données personnelles, comptes clients, commandes ou messages de formulaires, le piratage peut constituer une violation de données. Le RGPD prévoit alors, dans certains cas, une notification à la CNIL dans les 72 heures après en avoir pris connaissance, et parfois l'information des personnes concernées. Le site de la CNIL détaille la démarche. Pour savoir si votre situation est concernée, demandez à un juriste.
La plateforme cybermalveillance.gouv.fr oriente aussi les victimes, y compris pour un dépôt de plainte.
Par où l'attaque est-elle entrée ?
Le plus souvent par une extension pas à jour, un mot de passe faible ou une extension piratée. Un nettoyage sans recherche de la cause finit souvent par une seconde infection. Comparez les versions installées avec les bases de vulnérabilités publiques comme celles de WPScan, Patchstack ou Wordfence.
Supprimez les extensions et thèmes désactivés : leurs fichiers restent accessibles, et donc exploitables. Ajoutez define( 'DISALLOW_FILE_EDIT', true ); dans wp-config.php pour retirer l'éditeur de fichiers de l'administration. Limitez les tentatives de connexion, et gardez des sauvegardes quotidiennes stockées hors de l'hébergement.
Les portes d'entrée qu'on retrouve le plus souvent :
- une extension ou un thème pas à jour, avec une faille connue
- un mot de passe faible, sans double authentification
- une extension payante obtenue gratuitement sur un site de téléchargement (nulled)
- un accès FTP volé sur un poste infecté
- un autre site hébergé sur le même compte
Ce que nous ferions à votre place
Ne restaurez pas une sauvegarde le premier jour, même si c'est tentant. Copiez, coupez les accès, cherchez la porte d'entrée, et choisissez seulement ensuite entre restauration et nettoyage. Un site restauré trop vite, faille ouverte, se fait souvent réinfecter, et la copie qui aurait permis de comprendre a disparu entre-temps.
Sur une boutique ou un site qui stocke des comptes clients, mettez le site hors ligne dès la première redirection constatée. Posez la question de la CNIL le jour même : le délai court à partir du moment où vous savez.
Supprimez sans discuter toute extension nulled, et toute extension désactivée dont vous n'avez pas l'usage. Activez la double authentification sur chaque compte administrateur, celui de votre prestataire compris.
Si plusieurs sites partagent l'hébergement, ou si l'infection revient après un premier nettoyage, ne recommencez pas seul : passez par un dépannage WordPress. Le nettoyage d'un piratage démarre à 390 € HT, après un diagnostic à 90 € HT déduit de la réparation.
Le nettoyage est inclus pour les sites sous maintenance WordPress, qui gardent des sauvegardes quotidiennes stockées hors de l'hébergement.
Questions fréquentes
Site WordPress hacké, piraté ou infecté : est-ce la même chose ?
Oui, les trois mots décrivent le même problème : quelqu'un a pris la main sur une partie du site pour y ajouter du code ou des pages. « Infecté » insiste sur le code malveillant, « hacké » sur l'intrusion. La méthode de nettoyage est identique.
Mon antivirus ne détecte rien, le site est-il sain ?
L'antivirus de votre ordinateur n'analyse pas les fichiers du serveur. Les extensions de sécurité, elles, repèrent les codes malveillants connus, mais pas tous. Un site qui redirige certains visiteurs ou qui apparaît dans Google avec des pages inconnues est infecté, même quand un scan ne signale rien.
Une extension de sécurité peut-elle nettoyer le site seule ?
Elle aide à repérer des fichiers modifiés et à en remplacer certains. Elle ne trouve pas forcément les portes dérobées bien cachées, ni le code logé dans la base de données, et elle ne ferme pas la faille d'origine. Elle complète le nettoyage manuel sans le remplacer.
Combien de temps Google met-il à retirer l'avertissement ?
Après la demande d'examen dans Search Console, comptez en général quelques jours. Le délai n'est pas garanti. Si l'examen est refusé, Google indique des adresses encore problématiques : il faut reprendre le nettoyage avant une nouvelle demande.
Faut-il porter plainte ?
Vous pouvez porter plainte auprès de la police ou de la gendarmerie, en particulier si des données de clients sont en jeu ou si vous subissez un préjudice. Conservez la copie de l'état infecté et les journaux fournis par l'hébergeur. Le site cybermalveillance.gouv.fr explique les démarches selon votre situation.
Combien coûte un nettoyage ?
Le diagnostic coûte 90 € HT, déduit si vous nous confiez la réparation, et le nettoyage démarre à 390 € HT. Un piratage étendu demande plus de temps : le délai et le prix sont écrits dans le devis. Pour les sites sous maintenance, à partir de 49 € HT par mois, le nettoyage est inclus.
À lire aussi
« Il y a eu une erreur critique sur ce site » : que faire ?Site WordPress lent : trouver la cause et corrigerPrestataire web injoignable : comment récupérer son site ?Vous préférez qu'on s'en occupe ?
Site piraté, erreur critique, écran blanc après une mise à jour : on diagnostique sous 2 h ouvrées, on répare, puis on sécurise.
