Quand un site WordPress “tombe” tout seul, la première alarme n’est pas toujours la sécurité, c’est parfois le référencement. On reçoit un message dans la Search Console, on voit une chute de trafic sur certaines pages, puis, en ouvrant l’interface d’administration, on découvre des publications qui n’auraient jamais dû exister. Des titres pleins de mots-clés, des pages créées à la chaîne, des liens sortants qui n’ont aucun sens pour le projet, et parfois des redirections qui ne ressemblent à rien.
Le plus frustrant, c’est que ce spam SEO ressemble souvent à un contenu produit par le site lui même. Et, dans beaucoup de cas, il l’est. Pas forcément par “un humain” côté back-end, mais par un composant compromis qui pousse le contenu à l’intérieur de WordPress, depuis le système. Le résultat est clair: il faut nettoyer site WordPress infecté, et le faire sans empirer la situation, parce que c’est rarement un simple “supprimer quelques pages”.
Je vous décris une façon de procéder qui tient compte des réalités du terrain: distinguer ce qui est contaminé de ce qui est “juste” abîmé, éliminer la source du spam, puis verrouiller pour éviter le retour.
Le symptôme typique: des pages et articles qui apparaissent “tous seuls”
Le spam SEO généré par le back-end suit souvent une logique répétable. Un jour tout va bien, le lendemain vous voyez:
- des pages nouvellement créées, parfois avec des templates ou des structures identiques des blocs de texte remplis de variations de mots-clés, avec des liens vers des domaines externes des utilisateurs inconnus, des rôles administrateur ou éditeur assignés à des comptes fraîchement créés des tâches planifiées qui tournent en arrière-plan, ou des mises à jour “fantômes” sur certains types de contenu
La nuance importante, c’est que ce contenu n’est pas forcément le premier maillon. Il est parfois simplement la conséquence d’un accès acquis. Le vrai point de départ peut être un plugin, un thème, un fichier modifié, un cron, un schéma de redirection, ou même un identifiant stocké quelque part (cookie de session, token, ou clé API ajoutée).
J’ai vu des cas où le spam était d’abord “visible” dans l’admin, avant de toucher la vitrine. D’autres fois, c’était l’inverse, avec des pages indexées sur Google avant même de repérer quoi que ce soit dans WordPress. Dans tous les cas, l’approche la plus efficace consiste à agir comme si l’infection était active et à traiter le sujet en deux temps: arrêter la production du spam, puis éradiquer les causes.
Comprendre comment le back-end sert à générer du SEO spam
Sans transformer ça en cours, il faut une idée claire de la mécanique. Pour pousser du contenu dans WordPress, un acteur malveillant a besoin d’un levier. Ça peut être:
- un plugin modifié qui exécute du code au chargement ou via une action d’administration un script qui s’accroche à WordPress pour créer des posts et des pages automatiquement une porte dérobée (souvent discrète) dans les fichiers du thème ou du plugin, parfois appelée à des horaires précis des identifiants volés et une session admin récupérée, puis utilisée pour écrire dans la base
Dans les scénarios sérieux, le spam n’est pas juste “écrit une fois”. Il continue, ce qui veut dire que même si vous supprimez les pages, elles peuvent revenir. C’est pour ça que la tentation de faire uniquement un ménage dans la base est une erreur fréquente. Vous effacez la preuve, pas la source.
Première règle: stopper le flux avant de commencer à nettoyer
Avant même de chercher “où est le bouton de https://gardewp.fr/nettoyage-malware-wordpress/ suppression”, j’aime suivre une règle simple: tant que l’infection est active, tout nettoyage dynamique risque de se battre contre un robot.
Concrètement, vous pouvez:
- mettre le site en maintenance (le temps de prendre la main) bloquer temporairement les accès à l’administration depuis l’extérieur, le temps de valider l’état du système désactiver les plugins suspects si vous pouvez identifier rapidement lesquels surveiller les requêtes et les actions répétées si votre hébergeur fournit des logs
Je ne dis pas qu’il faut couper définitivement, mais il faut respirer. Une fois que l’activité malveillante est ralentie ou stoppée, vous pouvez analyser sans courir derrière.
Si vous n’avez pas d’accès direct aux logs, au moins vérifiez la présence de comptes, de tâches planifiées, et de modifications récentes côté fichiers. C’est souvent là que la situation se clarifie.
Vérifications rapides dans WordPress (sans tout casser)
Avant de toucher aux fichiers, il y a quelques contrôles qui permettent de cartographier la contamination avec un effort raisonnable.
1) Comptes utilisateurs Cherchez les utilisateurs créés récemment, surtout ceux avec des rôles élevés. Un spam SEO “via back-end” peut être alimenté par un compte admin compromis, ou un compte éditeur utilisé pour créer les contenus.
2) Tâches planifiées (cron) WordPress utilise wp-cron pour planifier des actions. Si un mécanisme est en place pour produire du contenu, il y a souvent une trace dans la logique planifiée. Même si wp-cron est parfois capricieux, vous repérerez des patterns: des événements répétitifs, des dates étranges, ou des déclenchements qui reviennent sans raison.
3) Contenu récent Filtrez par date, repérez les pages et articles “symétriques”. Quand vous voyez des titres qui tournent autour de la même thématique, des liens externes similaires, ou une structure identique, c’est un signe fort d’automatisation.
4) Thème et plugins modifiés Une contamination qui injecte du code dans le thème ou un plugin peut se manifester par des dates de modification incohérentes. Sur un site vivant, il y a toujours des changements, mais quand vous voyez des modifications en rafale, ça mérite une enquête.
Ces vérifications ne remplacent pas l’éradication technique, mais elles guident vos décisions: quoi isoler, quoi désactiver, quoi restaurer.
Nettoyer la source: fichiers, plugins, thèmes, et points d’exécution
À ce stade, vous avez probablement une idée du “comment” le spam est injecté. Maintenant, il faut éliminer le “d’où”.
1) Faire un tri dans les plugins
Les attaques qui passent par un plugin sont fréquentes. La méthode pragmatique: désactiver les plugins non essentiels (temporairement) et redémarrer en observant.
Attention au piège classique: certains plugins légitimes peuvent aussi être à l’origine de l’infection par vulnérabilité, ou être compromis tout en restant “présents”. Donc désactiver aide à stopper l’exécution, mais il faut aussi vérifier le contenu du plugin.
Ce que vous cherchez en pratique, ce sont des fichiers ou des morceaux de code qui ne ressemblent pas au plugin d’origine. Par exemple, un fichier ajoutant des base64_decode, des chaînes longues, des appels à eval, ou des inclusions obscures. Je ne liste pas une “formule magique”, parce que les variantes sont nombreuses, mais le ressenti compte: quand un plugin a soudainement des lignes de code sans rapport avec sa mission, ça sent la compromission.
2) Vérifier le thème
Le thème peut aussi servir de pivot. Même si la majorité des sites utilisent le thème standard pour l’affichage, un code malveillant peut y être caché dans des fichiers qui s’exécutent à chaque chargement ou lors d’actions spécifiques.
Une erreur courante consiste à modifier ou “nettoyer” à la main. Si vous n’êtes pas sûr à 100 pour cent de ce qui est modifié, mieux vaut restaurer le thème depuis une version saine (souvent via une copie de référence) et repartir propre.
3) Examiner les fichiers “pas censés exister”
Les infections laissent parfois des fichiers dans des dossiers inattendus, ou créent des répertoires à l’écart. Les chemins importent moins que le principe: comparez l’arborescence de votre site à une version attendue. Sur un WordPress standard, il y a des invariants.
Si vous avez un accès à la sauvegarde d’avant incident, c’est votre meilleure référence. Sinon, une comparaison avec une installation WordPress saine de la même version aide à repérer les anomalies.
4) Ne négligez pas les scripts côté serveur
Selon l’hébergement, vous pouvez avoir un cron système, des outils ou des règles de redirection. Le “spam SEO par back-end” peut s’accompagner d’une couche côté serveur. Quand c’est le cas, WordPress peut ne faire que “l’écriture finale”, tandis que le déclencheur vient ailleurs.
Le fait de ne nettoyer que WordPress sans regarder côté serveur explique souvent pourquoi le spam revient.
Nettoyer la base de données: ce que la suppression de pages ne règle pas
Le spam SEO injecte du contenu dans WordPress. Si vous supprimez les articles ou pages, vous diminuez l’impact, mais vous ne supprimez pas forcément la cause.
Dans WordPress, plusieurs tables peuvent être concernées, par exemple:
- wp_users et tables associées aux rôles wp_posts (contenu) wp_postmeta (métadonnées associées) des tables liées à la planification et aux options
Je recommande une approche conservatrice. Ce n’est pas le moment de lancer des requêtes au hasard.
Le bon réflexe: comparez ce qui a été ajouté récemment. Si vous avez une sauvegarde, comparez la base avant/après incident. Si vous n’en avez pas, essayez de reconstruire une chronologie via dates de modification, utilisateurs créés, et contenu apparu d’un coup.

Et surtout, gardez un plan de retour. Un nettoyage de base peut casser des relations si vous supprimez des entrées “propres” en pensant qu’elles sont liées au spam. Sur un site réel, les dégâts collatéraux arrivent vite.
Une stratégie de réparation réaliste en quatre étapes
Voici la méthode que j’utilise le plus souvent, parce qu’elle évite les décisions irréfléchies. Je la donne volontairement en étapes, mais sans surpromettre: selon la gravité, certaines étapes s’étalent sur plusieurs heures.
Étape 1: isoler et figer l’état
- mettez le site en maintenance désactivez temporairement les plugins non indispensables si vous suspectez une exécution active
Le but est de couper la production. Sur un site qui génère du spam toutes les minutes, c’est décisif.
Étape 2: prendre une sauvegarde “propre” avant modification
Même si vous êtes pressé, une copie de fichiers et une export de base avant nettoyage change tout. Si vous devez revenir en arrière, vous récupérez des heures.
Si votre hébergeur le permet, exportez aussi les logs ou au moins récupérez l’historique de modifications.
Étape 3: restaurer les composants WordPress depuis une version saine
Quand la suspicion porte sur un thème ou un plugin, restaurer depuis une source fiable est souvent plus sûr que de “corriger au feeling”.
Si vous ne pouvez pas restaurer un plugin premium, l’option la plus saine est de le remplacer par une version téléchargée depuis le vendeur, puis de valider qu’il n’y a plus de modifications suspectes.
Étape 4: nettoyer la base en ciblant ce qui est évident
Supprimez les contenus et utilisateurs liés au spam, mais en respectant le contexte. Et vérifiez les options et triggers qui peuvent relancer l’automatisation.
Si vous n’êtes pas à l’aise avec le SQL, faites ça via des outils d’administration ou un script contrôlé, en gardant la trace de chaque action.
Les pièges qui font revenir le spam
Vous pouvez “nettoyer” et voir le spam réapparaître dès le lendemain. La raison la plus fréquente n’est pas mystérieuse: il reste un déclencheur.
Voici les pièges que je vois le plus souvent:
- un fichier malveillant toujours présent mais non exécuté immédiatement, puis activé par un cron un plugin réinstallé sans version saine, ou un thème restauré puis recollecté via cache un utilisateur compromis dont le mot de passe n’a jamais été changé après l’accès initial une règle de redirection externe, ou un script serveur, qui recrée le contenu en utilisant l’API WordPress un token persistant (par exemple lié à un service) qui permet au spam de se réinjecter une restauration partielle de la sauvegarde, où certains répertoires ont été oubliés
Le spam SEO est rarement “gratuit”. Il est produit par un mécanisme, donc il suffit souvent d’un petit reste pour relancer la machine.
Checklist de remise à plat (simple, mais efficace)
Voici une checklist courte, adaptée à la réalité d’un site qui souffre. Elle n’est pas là pour remplacer un diagnostic, mais elle évite les oublis.
- Récupérer une sauvegarde de fichiers et exporter la base avant toute suppression Désactiver temporairement les plugins non essentiels pour arrêter l’exécution Chercher les utilisateurs créés récemment et réinitialiser tous les mots de passe Restaurer thème et plugins depuis des versions saines si une modification est suspecte
Si vous faites déjà ça, vous êtes souvent devant 80 pour cent des interventions “trop rapides”.
Verrouiller WordPress pour que ça ne revienne pas
L’éradication, c’est une première victoire. La prévention, c’est ce qui fait durer la seconde.
La partie “sécurité WordPress” mérite une gestion pragmatique, pas des promesses vagues. Je me concentre sur des actions qui ont un impact réel, avec des compromis acceptables.
Mots de passe et sessions
Après un incident, changez tous les mots de passe des comptes ayant accès à l’administration, y compris les comptes rarement utilisés. Si vous travaillez avec plusieurs personnes, révoquez les sessions en cours quand c’est possible.
Même si l’accès a semblé “ponctuel”, garder un ancien mot de passe revient à laisser une clé sous le paillasson.
Limiter les chemins d’attaque
Si votre hébergeur propose des protections (limitation de tentatives, filtrage par pays, WAF, blocage d’URL), activez celles que vous comprenez et pouvez maintenir.
Le bon compromis est celui que vous gardez sur la durée. Un filtre trop agressif peut casser des appels légitimes, donc testez.
Réduire la surface logicielle
Un site WordPress n’a pas besoin de vingt plugins “juste au cas où”. Chaque plugin augmente le risque de vulnérabilité et complique le diagnostic.
Après nettoyage, faites un inventaire. Si un plugin n’est pas utilisé, désinstallez-le. Et si vous devez en garder un, mettez-le à jour.
Mettre à jour sans aveuglement
Mettre à jour après incident est important, mais le faire en mode panique peut semer la confusion. Si vous restaurez des versions saines, puis que vous mettez à jour ensuite, vous gardez une logique claire.
Contrôler la création de contenu
Quand le spam passe par le back-end, il peut utiliser des capacités d’écriture. Vérifiez les rôles, les permissions, et évitez de laisser des droits trop larges à des comptes qui n’en ont pas besoin.
Dans les équipes, un compte “éditeur” n’a pas besoin d’accéder à tous les réglages. En réduisant les permissions, vous réduisez aussi la gravité d’un prochain incident.
Agir côté SEO: que faire après le nettoyage
Le nettoyage technique ne rétablit pas automatiquement le référencement. Les pages spam ont probablement été indexées, et les liens toxiques peuvent laisser des traces.
Les actions utiles dépendent de votre situation: taille du site, volume de contenu spam, et vitesse de remédiation.
Ce que vous pouvez faire, généralement, c’est:
- demander la réindexation de pages importantes après stabilisation surveiller la Search Console pour de nouveaux signaux d’alerte retirer ou bloquer l’accès aux pages spam encore visibles (selon l’état, vous pouvez combiner suppression et mesures de blocage) éviter de republier trop vite du contenu similaire, surtout si vous avez des contenus “à risque” qui ressemblent au spam
Je reste prudent sur les délais et les effets. Les moteurs recalcultent au fil du temps, parfois sur des cycles plus longs que ce qu’on aimerait. Ce n’est pas une raison pour attendre, mais une raison pour viser la stabilité d’abord.
Une petite anecdote de terrain: j’ai déjà vu un site nettoyer correctement, puis continuer à perdre du trafic quelques jours parce que Google recrawle plus lentement que la “perception” humaine. Tant que le spam ne revient pas, c’est un bon signe, même si le redressement n’est pas immédiat.
Diagnostiquer quand vous ne savez pas d’où ça vient
Parfois, vous n’avez aucun plugin évident, pas de modifications flagrantes, et pourtant le spam continue. C’est là que les choses deviennent frustrantes.
Dans ces cas, mon approche consiste à:
- isoler les exécutions possibles (plugins, thème, tâches planifiées) surveiller les changements en temps réel si votre hébergeur le permet vérifier les fichiers nouvellement ajoutés et leurs dates contrôler les accès admin, surtout après changement de mots de passe (si des connexions reviennent, il y a une persistance)
Souvent, il finit par apparaître un “petit détail” qui confirme l’attaque: un fichier ajouté dans un répertoire inattendu, un plugin récemment mis à jour qui ne ressemble plus au comportement normal, ou un événement wp-cron qui déclenche des créations.
Mini-plan de détection en trois étapes
- Couper l’exécution (maintenance + désactivation ciblée) pour arrêter la génération Rebrancher progressivement (thème puis plugins) en observant l’apparition ou non de nouveaux contenus Comparer arborescences et dates de modification avec une version saine ou une sauvegarde antérieure
C’est moins “spectaculaire” qu’une chasse au code, mais c’est souvent ce qui marche quand tout est flou.
Temps et effort: ce qui détermine la difficulté
La difficulté dépend surtout de deux variables: la vitesse de propagation et la qualité des sauvegardes.
Un site qui produit du spam toutes les heures et qui n’a pas de sauvegarde avant incident peut demander plus de travail sur la base de données, le ciblage, et les restaurations. Un site avec un backup d’avant le jour de l’attaque permet de restaurer plus proprement, et de limiter les risques.
En pratique, sur un site WordPress standard, un nettoyage sérieux peut prendre de quelques heures à un ou deux jours, selon la taille et le niveau d’accès. Si des composants serveurs externes sont impliqués, ça peut encore s’étendre.
Le point clé, c’est de ne pas confondre rapidité et précipitation. Quelques heures “réglées au millimètre” valent mieux que trois jours de modifications partielles.
Ce que je conseille après la remise en état
Une fois le spam éradiqué, j’aime créer une routine minimale de suivi, parce que la mémoire de l’incident s’efface vite.
Quelques bonnes pratiques, très concrètes:
- garder une trace écrite de la chronologie (quand le spam apparaît, quelles actions sont faites) documenter les versions des plugins et du thème après restauration vérifier que les comptes admin sont propres et que les rôles sont cohérents surveiller pendant une courte période, sans paniquer: c’est souvent là qu’on confirme que le déclencheur a disparu
Si vous gérez plusieurs sites, vous pouvez aussi standardiser le processus, avec des sauvegardes régulières et un accès rapide à une copie saine.
Un WordPress infecté qui génère du spam SEO par le back-end n’est pas un “petit souci de contenu”. C’est presque toujours une compromission active ou une persistance suffisamment discrète pour passer sous le radar. La bonne approche, c’est d’abord stopper le flux, puis supprimer la source, ensuite nettoyer ce qui a été écrit, et enfin verrouiller pour que le site ne rejoue pas la même histoire.
Si vous voulez, décrivez-moi votre cas (volume de pages spam, présence d’utilisateurs inconnus, plugins récemment mis à jour, et si le spam revient après suppression). Je pourrai vous proposer un plan plus ciblé, adapté à votre configuration.