Un site WordPress piraté, qui redirige vers une page louche, ce n’est pas un simple “problème technique”. C’est souvent le signe que quelqu’un a pris la main, a modifié des fichiers, parfois a réinjecté du code à chaque nouvelle mise à jour, et surtout a installé une logique de redirection qui s’exécute avant même que vous voyiez le contenu habituel.
Quand vous arrivez sur la page et que vous tombez sur une redirection, deux scénarios se mélangent très vite. Soit le navigateur est envoyé ailleurs par du code injecté (souvent côté serveur), soit le site charge un script malveillant qui exécute la redirection côté client. Dans les deux cas, l’objectif est le même: nettoyer proprement, puis empêcher la récidive. Et si vous cherchez “enlever virus WordPress”, vous allez vite découvrir une vérité moins confortable: supprimer ce qui est visible ne suffit pas toujours. Il faut aussi comprendre comment l’attaque est arrivée.
Je vais vous guider dans une méthode pragmatique, celle que j’utilise quand je traite un site piraté redirigé, avec des choix concrets selon le niveau de risque et les contraintes d’un vrai hébergement.
Les signes qui comptent vraiment (et ceux qui font perdre du temps)
Avant de toucher à quoi que ce soit, prenez 20 minutes pour observer le comportement. Pas dans le sens “faire du diagnostic sur le blog”, mais pour gagner du temps ensuite.
La redirection peut être immédiate, au chargement de n’importe quelle page, ou seulement sur certaines URL. Parfois, elle se produit uniquement en mode navigation privée, parfois uniquement avec certains pays, ou uniquement pour des robots. Il peut aussi y avoir un décalage entre ce que vous voyez depuis votre ordinateur et ce que vos utilisateurs voient, surtout si la configuration du cache ou du CDN modifie la réponse.
Quelques indices utiles, sans vous noyer:
- Si le site redirige en boucle, c’est souvent que la redirection est déclenchée tôt, au niveau du serveur ou d’un fichier chargé en premier. Si seules certaines pages sont touchées, l’attaque a peut-être ciblé des modèles, des templates, ou une fonction spécifique dans WordPress. Si vous voyez des tentatives de chargement d’URL bizarres dans la console du navigateur, le code injecté peut être dans un plugin, un thème, ou un champ “custom” exploité par un attaquant.
Ce que je déconseille, c’est de courir réinstaller WordPress “par-dessus” en espérant que ça nettoie tout. Si le code malveillant a été déposé quelque part qui n’est pas écrasé par une réinstallation classique, vous allez simplement remettre la porte ouverte.

Commencer par sécuriser: arrêter l’hémorragie
Quand un site redirige, tant que l’attaque continue, vous aggrave la situation. Les robots peuvent continuer à aspirer les pages, vos visiteurs peuvent être exposés, et l’attaque peut s’adapter à votre réaction.
La première décision, c’est le compromis entre disponibilité et nettoyage. Si vous avez du trafic important, arrêter complètement le site peut faire peur. Mais laisser un site piraté accessible, c’est aussi accepter un risque.
Concrètement, je fais presque toujours deux choses avant de “nettoyer”:
Mettre le site en mode maintenance ou le mettre derrière une page statique “bientôt de retour”, le temps de l’assainissement. Couper temporairement le vecteur le plus probable, souvent côté plugin ou thème, si vous avez un accès.Sur certains hébergements, vous pouvez aussi bloquer l’accès au site au niveau serveur pour vos comptes administrateurs, et laisser le reste hors service. L’idée n’est pas de ruiner votre SEO, c’est de stabiliser l’incident pendant que vous cherchez la cause.
Vérifier l’accès: comment l’attaquant a pu entrer
Avant de supprimer des fichiers, vérifiez ce que l’attaquant a laissé derrière lui. Un site redirigé est souvent le résultat d’un compromis de compte, d’un plugin vulnérable, ou d’une injection via un fichier modifié.
Les vecteurs typiques que je rencontre en audit:
- Un utilisateur admin créé sans que vous le sachiez, parfois avec un nom générique. Des comptes “Editor” ou “Author” qui ont été mis en place, puis utilisés pour injecter du code via des mécanismes WordPress. Un plugin installé récemment qui contient des fonctions de redirection ou des inclusions de fichiers. Un thème modifié, surtout si vous voyez un fichier pas attendu dans le thème actif. Un fichier PHP ajouté dans des emplacements inattendus, ou une modification du core via une tâche qui se réplique.
À ce stade, ne confondez pas “WordPress a été hacké” avec “WordPress est infecté dans son intégralité”. Souvent, une partie suffit. Parfois, l’attaque est localisée, et vous pouvez retrouver une signature claire dans les fichiers modifiés. D’autres fois, c’est plus diffus.
Le diagnostic sans panique: regarder ce qui a changé
Vous avez besoin de réponses qui se défendent. Les plus utiles, ce sont les différences entre ce qui est sur le serveur et ce qui devrait y être.
Si vous avez accès à un historique de déploiement (Git, CI, sauvegardes manuelles, “staging” synchronisé), vous allez gagner énormément de temps. Sinon, vous pouvez quand même faire un travail rigoureux, sans vous inventer des conclusions.
Je commence généralement par:
- Comparer les plugins et thèmes installés à ceux que vous utilisez réellement. Rechercher les modifications récentes dans les fichiers, souvent via l’interface de l’hébergeur ou un listing avec dates. Vérifier les fichiers PHP modifiés dans le répertoire du thème et dans certains emplacements sensibles. Contrôler les paramètres de redirection côté serveur si votre hébergement utilise des règles personnalisées.
Le point important: cherchez ce qui ne ressemble pas à votre code et ce qui a une date de modification “trop récente” par rapport à votre rythme habituel.
Assainir en profondeur: retirer le code malveillant et nettoyer la configuration
C’est la partie qui ressemble le plus à “enlever virus WordPress”, mais le mot “virus” est un raccourci. En pratique, il s’agit de code injecté et de portes laissées ouvertes.
Une règle d’or: ne pas supprimer à l’aveugle
Supprimer des fichiers au hasard peut casser le site, et surtout peut masquer la trace du vecteur d’entrée. Si vous voulez empêcher la récidive, il faut comprendre ce que l’attaquant a fait, même si vous finissez par effacer tout ce qui est suspect.
Quand c’est un site piraté redirigé, je privilégie une approche en deux couches:
- Couche “contenu” et “logique” (thème, plugins, fichiers PHP, fonctions de redirection). Couche “accès” (utilisateurs, rôles, clés API, configuration, crédentiels).
Vous pouvez retirer le code malveillant et rester vulnérable si le compte a été compromis ou si une faille de plugin existe toujours.
Stratégie de remplacement: écraser ce qui doit être “propre”
WordPress est fourni avec un core standard. Si vous avez un accès FTP ou SSH, la stratégie la plus sûre, quand le doute est grand, consiste à réinstaller le core et à remplacer les dossiers “wp-admin”, “wp-includes” et les fichiers racine par des versions propres.
En revanche, si vous remplacez trop tôt, vous risquez de perdre des indices. Donc je fais souvent d’abord une copie des fichiers potentiellement modifiés, puis je réinstalle proprement.
Les thèmes et plugins sont plus délicats: vous voulez conserver votre design et votre logique, mais supprimer les ajouts malveillants.
Ici, il faut faire un choix. Soit vous identifiez précisément le fichier infecté et vous le corrigez, soit vous supprimez et réinstallez un thème ou un plugin suspect. Dans la vraie vie, beaucoup de webmasters finissent par réinstaller un thème ou un plugin “à l’aveugle” parce que c’est plus rapide, mais il faut que vous puissiez restaurer la configuration et vérifier qu’il n’y a pas d’éléments de redirection ailleurs.
Partie essentielle: traiter la redirection elle-même
La redirection est souvent le symptôme le plus visible, et c’est aussi l’endroit où l’attaque s’accroche.
Les mécanismes courants que je vois sur des sites WordPress compromis:
- Redirection déclenchée via un plugin “cache” ou “SEO”, qui modifie les en-têtes HTTP ou injecte du JavaScript. Redirection via un fichier placé dans le thème, ou via un “hook” WordPress qui se déclenche sur “init” ou “template_redirect”. Redirection via des règles dans un fichier de configuration au niveau hébergement (selon la plateforme). Redirection conditionnelle: l’attaque renvoie vers une page différente selon l’agent navigateur, l’IP, ou le type de requête.
Ce que je teste systématiquement pour confirmer l’origine: je regarde la réponse HTTP avant que le navigateur n’exécute quoi que ce soit. Selon votre environnement, vous pouvez le faire via un outil d’inspection réseau, ou simplement en comparant le code source et les en-têtes. Si l’en-tête indique un “Location” vers une autre URL, la redirection est probablement côté serveur. Si la réponse est “normale” mais que le navigateur reçoit un script ou une balise qui déclenche une navigation, c’est plutôt une injection côté contenu.
Une fois la logique identifiée, le nettoyage doit viser le point exact, sinon vous supprimez un symptôme et l’attaque recommence.
Identifier les fichiers et scripts suspects: ce qu’il faut regarder
Je ne vais pas vous donner une liste magique de patterns à copier-coller, parce que les attaquants changent de technique et l’objectif est de comprendre. Mais il y a des comportements typiques.
Dans un cas réel, j’ai déjà vu un site rediriger uniquement sur certaines pages, et la cause venait d’un petit bout de code inséré dans un fichier du thème actif, avec une condition qui vérifiait le chargement de certaines variables. Le code était “petit”, mais il se propageait en s’appuyant sur des fonctions d’inclusion.
Voici les catégories de choses à vérifier dans les fichiers PHP que vous suspectez:

- Présence de fonctions d’exécution dynamique (par exemple des constructions qui évaluent du texte, chargent du code depuis ailleurs, ou lisent des fichiers de façon anormale). Chaînes d’URL externes utilisées pour rediriger, charger, ou exfiltrer. Inclusion d’un fichier “inconnu” dont l’existence n’était pas là avant (un nom bizarre, un répertoire non documenté). Utilisation de mécanismes WordPress via des hooks, avec des conditions qui semblent “sur mesure” pour un environnement.
Si votre hébergement propose des outils de recherche de texte dans le dossier, utilisez-les avec bon sens. Chercher “http” ou “eval” peut aider, mais vous risquez aussi d’écarter des cas moins évidents. Ce que vous cherchez, c’est l’intention, pas seulement une chaîne.
Traitement des utilisateurs compromis: le nettoyage ne sera jamais fini si vous ne le faites pas
Même si vous supprimez la redirection, la récidive arrive très vite si l’attaquant a gardé la clé.
Vérifiez tous les comptes WordPress, y compris ceux qui n’ont pas de rôle puissant. Un compte “Editor” peut modifier certains contenus, et dans certains cas, injecter du code via des fonctionnalités non protégées, ou en s’appuyant sur des plugins.
Ensuite, changez tous les mots de passe associés à:
- Les comptes WordPress. Les comptes d’hébergement et FTP. Les bases de données. Les services liés, si vous utilisez un plugin de synchronisation ou une intégration externe.
Le piège fréquent, c’est de changer seulement le mot de passe admin WordPress et de croire que tout est réglé. Si l’attaquant a modifié un plugin, il peut aussi réinjecter via un mécanisme persistant, ou simplement attendre votre prochaine action.
Si vous avez Ressources utiles accès à un gestionnaire de clés, regardez aussi les clés API, notamment celles liées à des intégrations ou à des services de paiement. Je l’ai déjà vu: une redirection masquait en réalité une tentative d’accès à des endpoints tiers.
Assurer la non-récidive: corriger la cause, pas seulement l’effet
Un site redirigé repirate souvent pour une raison précise. Le “virus” n’est pas seulement un code, c’est un symptôme d’un problème de sécurité.
Les causes les plus fréquentes:
- Mot de passe trop faible. Plugin obsolète avec une vulnérabilité connue. Thème non maintenu. Permissions trop larges sur des répertoires. Compte administrateur partagé entre plusieurs personnes. Accès SSH ou FTP non sécurisé, avec des identifiants réutilisés.
Sans tomber dans la théorie, je vous recommande de traiter ce qui a du sens pour votre contexte. Par exemple, si vous constatez qu’un plugin vulnérable était installé avant l’incident, réinstallez-le, mettez-le à jour, ou remplacez-le par une alternative fiable. Si votre site est ancien et que vous n’avez pas de politique de mises à jour, vous allez revoir le problème.
Plan de travail réaliste, dans l’ordre où je le fais sur un site redirigé
Voici une méthode pratique, avec un ordre qui évite les fausses victoires. Les détails exacts dépendront de votre hébergement, mais l’enchaînement est important.
Mettre le site en maintenance et vérifier que la redirection est neutralisée pour vos visiteurs. Sauvegarder ce qui peut l’être (fichiers et base de données), avant toute suppression. Examiner utilisateurs et plugins installés, repérer les comptes nouveaux et les plugins/thèmes suspects. Remplacer le core WordPress par une version propre, puis réparer thème et plugins un par un. Changer les identifiants d’accès et vérifier que la redirection ne revient pas après remise en ligne.Si vous devez choisir entre vitesse et rigueur, choisissez la rigueur. La vitesse vient après, une fois que le site est stable et propre.
Exemple concret: un cas où la redirection venait d’un “petit plus” dans le thème
Sur un site vitrine, la redirection ne touchait pas toutes les pages. Les articles de blog étaient propres, mais les pages “service” et “contact” partaient vers une landing page. L’équipe pensait à un plugin SEO, puis à un script de tracking.
En examinant les fichiers, on a découvert une condition dans le thème actif, déclenchée selon l’URL et un en-tête navigateur. Le code ne semblait pas “méchant” au premier regard, mais il appelait une fonction interne pour inclure un fichier complémentaire, puis exécuter la redirection.
Le nettoyage a consisté à:
- remonter la version du thème “avant” l’incident, comparer les différences de fichiers, supprimer le code incriminé, réinstaller le thème depuis une source propre, puis vérifier les utilisateurs et les plugins.
Le point le plus important a été de ne pas se limiter à la redirection visible. Le thème contenait aussi une trace de persistance, qui aurait réactivé la redirection lors d’un prochain chargement.
Je raconte cet exemple parce que beaucoup de personnes se focalisent sur “le script qui redirige”. Souvent, le script n’est que la partie visible. Le vrai travail, c’est d’ôter le mécanisme qui le recharge.
Après le nettoyage: valider, surveiller, et rassurer
Quand vous remettez le site en ligne, vous voulez prouver que la redirection ne revient pas et que les pages répondent correctement. La validation doit être rapide et réaliste.
Je recommande une série de contrôles ciblés, sans y passer la journée:
- Tester les URLs concernées et quelques pages “au hasard”. Vérifier le code source et les en-têtes des réponses. Surveiller le comportement sur différentes conditions, comme un navigateur normal et un mode privé.
Ensuite, installez une surveillance minimaliste. Souvent, un simple outil de suivi d’intégrité, ou des alertes de modification de fichiers, suffisent à vous alerter plus tôt que “le client m’appelle”.
Ce qui change tout, c’est votre capacité à détecter tôt. Si vous attendez une semaine avant de remarquer la redirection, vous perdez du temps et vous laissez l’attaquant agir.
Checklist courte de remise en ligne
- vérifier que le core a été remplacé par une version propre, confirmer que les plugins et thèmes suspects sont supprimés ou réinstallés, contrôler qu’il n’y a pas de nouveaux utilisateurs, tester la redirection sur les pages précédemment affectées, surveiller le site pendant au moins 24 à 48 heures.
C’est assez concret pour vous donner un repère sans noyer l’incident dans des rapports interminables.
Cas particuliers: CDN, cache, et “le site redirige encore”
Il arrive qu’après nettoyage, le site continue de rediriger. La cause n’est pas toujours un retour de l’attaque. Très souvent, c’est le cache, ou des couches intermédiaires.
Si vous utilisez un CDN, un cache au niveau hébergement, ou un plugin de caching, les anciennes réponses peuvent rester en mémoire pendant un moment. Dans certains cas, la redirection est servie depuis un cache, même si le fichier PHP est corrigé.
Donc, si vous constatez que ça “n’a pas marché”, ne paniquez pas immédiatement. Vérifiez:
- le vidage du cache serveur, la purge du cache CDN, la régénération des pages statiques si vous en utilisez.
Autre cas: certaines redirections ne sont déclenchées que pour des conditions précises. Si vos tests ne reproduisent pas les conditions qui déclenchaient l’attaque, vous pouvez croire que tout est réglé alors que c’est seulement partiellement vrai.
Quand il faut demander de l’aide, et comment éviter le mauvais type d’intervention
Il y a deux moments où je recommande de solliciter un spécialiste ou une aide externe.
Le premier, c’est quand l’accès est flou. Si vous ne savez pas exactement qui administre, si vous n’avez jamais de sauvegardes fiables, ou si l’hébergement refuse l’accès à certains fichiers, le risque d’aller “trop vite” augmente.
Le second, c’est quand vous voyez des symptômes de compromission plus large. Par exemple, si la base de données a des contenus injectés partout, si des fichiers inconnus réapparaissent, ou si vous détectez des tâches planifiées inhabituelles.
Pour éviter les interventions médiocres, demandez un plan et une méthode. Pas seulement un “je supprime le virus”. Un vrai travail inclut une vérification des vecteurs d’entrée, une réinstallation propre, un contrôle des utilisateurs, puis une validation post-remise en ligne.
Prévenir maintenant: ce qui réduit le risque sans transformer votre site en forteresse
Prévenir ne veut pas dire compliquer. Pour un site WordPress, les mesures utiles sont souvent simples, mais disciplinées.
Les actions qui payent le plus souvent:
- mettre à jour WordPress, thèmes et plugins dès que c’est raisonnable, supprimer les plugins inutiles, utiliser des mots de passe uniques et longs, limiter le nombre d’utilisateurs admins, surveiller les changements de fichiers.
Si vous avez déjà vécu un incident, vous avez déjà la motivation. L’enjeu, c’est d’éviter que le même type de faille se répète, même si “le virus” change de forme.
Ce qu’il faut retenir sur enlever virus WordPress dans un cas de redirection
Quand un site WordPress piraté redirige, vous avez un objectif clair: arrêter la redirection, nettoyer les fichiers et la configuration, puis empêcher la récidive.
La meilleure approche que j’ai constatée sur le terrain, c’est de raisonner en mécanismes. La redirection est un comportement déclenché, et il faut remonter à ce qui le déclenche vraiment, pas seulement à ce qu’on voit dans le navigateur.
Si vous appliquez une méthode en couches, avec un remplacement du core, un contrôle des thèmes et plugins, une vérification des utilisateurs et une purge des caches, vous avez un très bon niveau de probabilité de récupérer proprement. Et surtout, vous sortez de l’incident avec une hygiène de sécurité améliorée, ce qui est la vraie différence entre une réparation ponctuelle et une restauration durable.