Supprimer malware WordPress : retirer les plugins compromis et réinstaller
Quand un site WordPress est infecté, la panne se présente rarement avec un message clair du type “vous avez un malware”. Souvent, c’est plus sourno. Une page qui redirige vers une publicité. Un utilisateur administrateur qui se retrouve déconnecté en boucle. Des fichiers qui grossissent sans raison. Un trafic qui s’emballe alors que le contenu n’a pas changé. Et surtout, un sentiment désagréable: on peut désinfecter un bout du problème, mais si le vecteur d’infection reste en place, tout revient.

Dans ce scénario, retirer les plugins compromis puis réinstaller proprement est une démarche qui marche bien, à condition de ne pas se contenter de “supprimer https://gardewp.fr/ le plugin et espérer”. Le point clé, c’est que le malware dans WordPress s’appuie souvent sur trois leviers: l’exécution de code au chargement (fichiers modifiés dans le plugin ou le thème), l’abus de comptes (mots de passe changés, comptes créés), et la persistance (une backdoor qui réinvoque l’infection même après suppression apparente). Un nettoyage sérieux doit donc être à la fois technique et méthodique, avec une vérification réelle de ce qui a été modifié.
Les signes qui orientent vers un plugin compromis
Tout le monde commence par regarder l’écran. Puis viennent les logs, le gestionnaire de fichiers, et les résultats d’un scan. Mais avant même de “faire quelque chose”, j’ai appris à distinguer les infections qui s’installent par un plugin de celles qui touchent plutôt le noyau ou la configuration.
Sur des sites que j’ai eu à traiter, les indices typiques d’un plugin compromis ressemblent à ceci:
- L’apparition de code PHP “inexpliqué” dans un fichier de plugin, parfois dans des noms de fonctions banals, ou au milieu de blocs censés ne rien faire. Le code peut être obfusqué, ou se cacher dans une condition qui ne s’exécute que dans certains cas.
- Des modifications à l’activation du plugin: le fichier a l’air propre, puis après un certain événement, une redirection ou un script externe apparaît.
- Des pages qui se comportent différemment selon l’utilisateur, le pays, ou l’agent navigateur. Ce ciblage est courant quand l’attaquant veut éviter la détection.
- Des nouveaux fichiers ou des fichiers modifiés en dehors des mises à jour normales. Par exemple, un plugin mis à jour il y a deux mois, puis “touché” hier, sans explication.
- Des tentatives de création de backdoor dans des emplacements inattendus, comme des dossiers temporaires ou des scripts “vendor” dans le plugin.
Un détail qui trompe souvent: le plugin “compromis” peut aussi être la victime d’une chaîne d’injection. Par exemple, un plugin légitime a été compromis via une dépendance, ou bien quelqu’un a modifié le plugin via FTP ou via un accès à votre compte. Dans ce cas, la suppression du plugin enlève le code malveillant, mais si l’accès n’est pas fermé, l’attaquant réintroduira le problème.
C’est là que la partie “retirer les plugins compromis et réinstaller” prend tout son sens. Retirer ne suffit pas si vous laissez les portes ouvertes. Réinstaller est utile pour repartir avec des fichiers de référence, propres, et pour resserrer le contrôle.
Avant de supprimer: sécuriser, figer, et éviter de détruire des preuves
La première erreur que j’ai vue (et que j’ai commise une fois, au début) est de supprimer https://gardewp.fr/nettoyage-malware-wordpress/ immédiatement les fichiers suspects, puis de découvrir que personne n’a gardé de traces. Or, comprendre comment l’infection est revenue la dernière fois aide à éviter de refaire la même réparation.
Avant de toucher à la base de données ou de remplacer des plugins, faites trois actions simples, en gardant votre site le plus stable possible:
1) Mettez le site en mode maintenance si vous pouvez le faire sans casser votre accès. L’objectif est double: limiter l’exposition et donner le temps de travailler sans que les visiteurs subissent des redirections.
2) Prenez des copies. Une sauvegarde complète du répertoire WordPress (ou au minimum des dossiers concernés) et un export SQL de la base. Si vous devez réinstaller après, vous gagnerez énormément de temps et vous éviterez des “on a supprimé trop vite”.
3) Vérifiez l’accès admin. Déconnectez les sessions, changez les mots de passe, et si possible, vérifiez les comptes utilisateurs existants. Sur une infection persistante, l’attaquant crée souvent un compte, puis disparaît en apparence après quelques heures.
Si vous appliquez ces gestes, vous réduisez le risque de “nettoyage” qui devient en réalité une destruction de contexte. Et surtout, vous obtenez un point d’appui pour comparer les fichiers avant et après.
Repérer les plugins qui ont le plus de chances d’être à l’origine
Le “repérage” ne doit pas être un tir au hasard, sinon vous perdez du temps. L’idée n’est pas de scoper tous les plugins, mais de prioriser ceux qui présentent des anomalies.
Une approche réaliste consiste à combiner plusieurs signaux:
- Date de modification des fichiers de plugin, comparée à vos mises à jour récentes.
- Présence de code PHP obfusqué, ou de fonctions étranges ajoutées récemment.
- Références à des URLs externes, surtout si le plugin est un simple outil de SEO ou de cache.
- Changements dans les fichiers d’activation, comme les hooks “registeractivationhook” ou le code exécuté en premier chargement.
- Dossiers ou fichiers ajoutés dans votre installation WordPress, par exemple dans des emplacements où le plugin ne devrait pas écrire.
Si vous avez un plugin de sécurité, ou un scanner, utilisez-le comme indicateur, pas comme vérité absolue. Sur certains nettoyages, j’ai vu des scans pointer des faux positifs parce que le code était minifié ou compressé. À l’inverse, certains malwares sont très discrets et échappent à une détection standard. C’est pour ça que la comparaison “avant / après” et l’analyse des fichiers modifiés restent centrales.
Mini check-list avant de passer à la suppression
- Mettez le site en maintenance ou limitez l’accès le temps du nettoyage.
- Faites une sauvegarde complète (fichiers + base).
- Changez les mots de passe admin, puis vérifiez les comptes utilisateurs.
- Identifiez les fichiers de plugins modifiés récemment, et repérez le code PHP “anormal”.
- Notez l’emplacement exact des modifications (fichier, ligne ou bloc), pour pouvoir comparer après réinstallation.
Cette check-list n’a l’air de rien, mais elle change la qualité du travail. Quand vous devez recommencer, vous le faites sur une base solide.
Supprimer le malware WordPress: retirer les plugins compromis proprement
Quand on parle de “supprimer malware WordPress”, la formulation peut être trompeuse. Techniquement, vous ne supprimez pas “le malware” comme une entité unique. Vous supprimez des vecteurs: des fichiers malveillants, des options injectées dans la base, des redirections ajoutées, parfois des fichiers de scripts externes. Dans votre cas, la cible principale est “les plugins compromis”.
La méthode que je recommande est pragmatique, avec un niveau de prudence adapté au niveau d’incertitude.
Étape 1: désactiver et isoler
Commencez par désactiver les plugins, mais pas “à la va-vite”. Si le site plante quand vous désactivez un plugin précis, c’est déjà une information. Si vous pouvez accéder au panneau d’administration, commencez par désactiver tous les plugins non indispensables, puis réactiver par lots en surveillant.
Si l’admin est inutilisable, passez par le gestionnaire de fichiers: renommez le dossier des plugins, ou désactivez via les options prévues par WordPress. Le but est d’arrêter l’exécution du code malveillant le plus vite possible, sans encore réécrire la structure.
Étape 2: supprimer les plugins compromis en distinguant “suppression” et “remplacement”
Ici, j’insiste sur une nuance. Supprimer un plugin ne garantit pas que votre site retrouve un état sain si la base de données conserve des options injectées, ou si des fichiers modifiés restent ailleurs.
Ce que vous voulez, c’est:
- Supprimer les fichiers corrompus dans les dossiers plugin concernés.
- Replacer ensuite avec des versions officielles, propres, ou réinstaller depuis la source validée.
- Vérifier que les thèmes et les fichiers de votre installation WordPress n’ont pas aussi été modifiés. Un plugin compromis n’est pas toujours le seul acteur.
Concrètement, pour les plugins compromis, faites un remplacement “fichiers propres”. Téléchargez la version depuis le site officiel du plugin (ou depuis votre dépôt contrôlé), puis réinstallez. Évitez les récupérations au hasard, surtout si vous suspectez une compromission de votre environnement.
Étape 3: contrôler les traces en base
Un plugin peut injecter des données dans des options WordPress, dans des métadonnées, ou même dans des fichiers via le filesystem. Après la suppression et le remplacement, regardez ce qui a été écrit.
Sans entrer dans une liste d’actions, gardez en tête les points suivants:
- options et configurations liées à des redirections ou à des scripts externes;
- comptes utilisateurs ajoutés, y compris ceux qui ont un rôle admin ou super admin;
- modifications dans les paramètres de thème (selon votre configuration);
- fichiers uploadés qui contiennent peut-être des charges utiles.
Le danger classique est de “nettoyer les fichiers” tout en laissant une persistance dans la base. Résultat: le malware revient, souvent déclenché par un hook, une page ou un paramètre.
Réinstaller WordPress et réinstaller les plugins: quand c’est le bon choix
Le terme “réinstaller” peut sonner lourd, mais dans une infection sérieuse, c’est souvent le meilleur rapport effort / sécurité. Réinstaller ne signifie pas forcément réécrire votre site, ça signifie remettre les fichiers de référence à plat, avec une base de données contrôlée.
Ce que je fais souvent dans les cas “moyennement à fortement suspects”, c’est:
- Remettre les fichiers du noyau WordPress à une version saine.
- Remplacer les plugins suspects par des versions officielles.
- Remplacer les thèmes modifiés, ou repartir sur un thème propre si vous n’êtes pas certain de ce qui a été modifié.
- Ne réutiliser que ce qui est manifestement légitime: uploads, contenus, médias, et configuration si elle semble intacte.
Le point de bascule, c’est l’incertitude. Si vous ne savez pas si le malware a touché le noyau, un réinstall complet des fichiers est plus rapide que de “chasser” toutes les modifications une par une. Et même quand vous trouvez des traces, vous ne pouvez pas être sûr qu’il n’en reste pas.
Une décision pragmatique
Si vous avez trois scénarios:
- Infection limitée à quelques plugins, et fichiers modifiés clairement identifiés.
- Infection plus large, avec plusieurs fichiers touchés et des anomalies dans le chargement.
- Infection persistante, qui revient après désactivation de plugins et nettoyage partiel.
Dans le premier cas, un remplacement des plugins et une vérification de la base peuvent suffire. Dans le second et troisième, je recommande d’aller plus loin, réinstaller les composants de base, puis seulement après réactiver progressivement.
L’après: fermer les portes pour que le malware WordPress ne revienne pas
Une suppression réussie se mesure après deux choses, pas uniquement le jour du nettoyage: aucun redirection anormale, et aucune régénération de fichiers suspects.
Pour ça, vous devez corriger les causes. Et en WordPress, les causes reviennent souvent au même endroit: identifiants, mises à jour manquées, et surfaces d’attaque via des plugins obsolètes.
Contrôler les comptes et les accès
Regardez les comptes existants, supprimez tout utilisateur inattendu, et changez tous les mots de passe. Si votre site est administré par plusieurs personnes, c’est l’occasion de faire une rotation complète.
Ensuite, activez l’authentification forte si elle est compatible avec votre configuration. Je sais que certains environnements sont réticents à la MFA, mais sur un site infecté, le coût de l’ajout est souvent inférieur au coût d’un nouveau nettoyage.
Mettre à jour et réduire la surface
Un plugin compromis laisse parfois des “cadavres” de code, mais il laisse surtout une dépendance à risque. Si vous aviez un plugin non maintenu, ou un plugin en version ancienne, le malware profite du moment où il y a une vulnérabilité ou une faiblesse.
Dans la pratique, la logique est simple: vous ne cherchez pas à tout maintenir à jour à la seconde près, vous cherchez à éliminer les évidences. Mettez à jour ce qui est essentiel, retirez ce qui n’est pas utilisé, et remplacez les plugins abandonnés.
Vérifier les fichiers uploadés et les persistances
Un malware peut aussi passer par des fichiers uploads (images, PDF, archives) qui déclenchent ensuite un chargement. Même si votre priorité est “plugins compromis”, vérifiez les fichiers récents ajoutés, et soyez particulièrement attentif aux fichiers dont les extensions semblent trompeuses.
Comment distinguer un nettoyage “propre” d’un nettoyage “qui fera revenir le problème”
C’est la partie qui fait gagner du temps, parce qu’elle vous évite de refaire deux fois le même travail.
Un nettoyage est réellement propre quand:
- vous n’avez plus de fichiers modifiés qui reviennent;
- les plugins réinstallés ne contiennent pas de code inattendu;
- la base ne conserve pas d’options liées à des redirections ou à l’exécution de scripts;
- les comptes utilisateurs correspondent à votre gestion légitime;
- et, surtout, le site n’affiche pas de comportement étrange après quelques heures, pas seulement pendant votre fenêtre de test.
J’ai déjà vu des infections qui semblaient “saines” immédiatement après suppression, mais qui revenaient au bout de 6 à 24 heures. Parfois, l’attaquant ré-injecte à intervalles réguliers, ou bien déclenche en fonction des visites. C’est pour ça qu’un contrôle après la première heure est utile, puis un second contrôle le lendemain est rassurant.
Exemple concret de scénario: plugin compromis, redirection et réinstallation
Sur un site e-commerce, le signal principal était une redirection vers une page externe sur certaines URL produit. Le panneau d’administration semblait fonctionner, mais dès qu’on consultait une fiche produit, la page partait ailleurs. Les logs serveurs montraient des requêtes répétées depuis le même pattern.
Ce que nous avons trouvé a été instructif, parce que le plugin le plus “suspect” n’était pas forcément celui qui semblait le plus mal. Un plugin de gestion d’optimisation s’était chargé de paramètres en base, et ses fichiers avaient une partie obfusquée ajoutée récemment. Dans le dossier plugin, quelques fichiers avaient des dates de modification incohérentes avec les mises à jour prévues.
La démarche a été:
- désactivation globale des plugins, puis remise en ligne en mode maintenance;
- remplacement des plugins suspects par versions officielles;
- vérification de la base sur les options liées à la redirection et aux scripts;
- réinstallation du thème par prudence, car certains templates avaient été modifiés pour déclencher le code au chargement.
Après remise en service, la redirection a cessé. Mais on a ensuite observé des modifications locales dans le répertoire d’un plugin désactivé. Cela signifiait que la persistance venait peut-être d’un autre vecteur. Dans ce cas, la rotation totale des mots de passe et la suppression des comptes non reconnus a complètement fini le travail. Sans cette étape, on aurait eu une reprise du malware.
Ce genre de scénario illustre bien pourquoi “supprimer malware WordPress” est rarement un geste unique. C’est un enchaînement.
Rester réaliste sur les limites: quand la réinstallation ne suffit pas
Il y a des cas où même une réinstallation méticuleuse ne règle pas tout, parce que le problème vient de l’environnement plutôt que du contenu WordPress.
Par exemple:
- Le serveur est compromis ailleurs (mauvaise configuration, autre application infectée, accès FTP partagé).
- Vos sauvegardes sont elles-mêmes polluées (sauvegarde d’un état déjà compromis, puis restauration qui réintroduit le malware).
- Il existe une tâche planifiée ou un script côté serveur qui recharge de code dans vos dossiers.
Si vous suspectez une compromission serveur, vous devez travailler avec votre hébergeur. Dans ce contexte, remplacer uniquement plugins et thème peut être un pansement.
Je conseille de valider au moins deux choses: la cohérence des fichiers de WordPress, et l’absence de réintroduction des mêmes anomalies après nettoyage. Si ça se répète, ce n’est plus “un plugin compromis” isolé.
Petite check-list de validation après nettoyage
Une fois que vous avez retiré les plugins compromis et réinstallé, prenez le temps de valider. Pas besoin de tout automatiser, mais il faut des tests concrets.
Voici ce que je fais systématiquement, en gardant le nombre de vérifications raisonnable:
- parcourir les pages clés (accueil, pages produit ou articles, pages de connexion);
- vérifier qu’aucune redirection externe n’apparaît, même sur des URL spécifiques;
- contrôler les fichiers récemment modifiés dans les plugins, et comparer avec une installation de référence;
- tester la connexion admin et vérifier qu’aucun nouvel utilisateur ne réapparaît;
- vérifier la base pour s’assurer que les options suspectes n’y existent plus.
Si vous voulez une preuve “visible”, faites aussi un test de consultation avec un autre navigateur, ou avec navigation privée. Certains malwares se déclenchent sur un profil de session ou sur la présence de cookies. Un simple test “sur mon poste” peut rater le déclenchement.
Bonnes pratiques pour éviter la récidive
Une infection WordPress laisse souvent des habitudes à revoir. Ce n’est pas seulement une question de sécurité technique, c’est aussi une question de discipline opérationnelle.
Je recommande trois gestes qui réduisent fortement la probabilité de retour, sans transformer votre site en laboratoire:
- Mettre à jour régulièrement WordPress, thèmes et plugins. Pas forcément toutes les 24 heures, mais avec une cadence claire.
- Utiliser uniquement des plugins nécessaires, et supprimer ceux qui ne servent plus.
- Mettre en place une surveillance simple: alertes sur modifications de fichiers, contrôle des comptes utilisateurs, et logs d’erreurs.
Quand un site a déjà été infecté, vous n’avez plus le droit à l’ambiguïté. Si quelque chose change sans raison, il faut le considérer comme un signal.
Ce que j’écrirais comme plan d’action si vous êtes déjà infecté
Si vous devez passer à l’action dès maintenant, la logique la plus robuste ressemble à ceci, sans vous enfermer dans une procédure rigide:
1) Bloquer l’exposition (maintenance), sécuriser l’accès (mots de passe, comptes). 2) Désactiver et retirer les plugins compromis, puis réinstaller uniquement des versions propres. 3) Contrôler la base, notamment les options et les comptes. 4) Réinstaller le noyau et, si besoin, le thème, quand vous n’êtes pas sûr de l’intégrité. 5) Valider après plusieurs heures, puis le lendemain, pour vérifier l’absence de persistance.
C’est cette approche, centrée sur le retrait des plugins compromis et la réinstallation, qui a le meilleur taux de réussite quand on traite un cas réel de supprimer malware WordPress.
Si vous me décrivez votre situation (type de redirection, message d’erreur, comportement du site, nombre de plugins touchés, possibilité d’accès à l’admin), je peux aussi vous aider à choisir le niveau de réinstallation le plus adapté, entre remplacement ciblé des plugins et remise à plat plus large.
Public Last updated: 2026-07-31 08:48:08 PM
