Que faire si votre site WordPress est piraté ?

site wordpress pirate

Un site WordPress piraté ne doit pas être traité comme un simple bug d’affichage. Une redirection inconnue, des comptes administrateurs ajoutés, des fichiers modifiés ou des alertes de navigateur peuvent signaler une compromission active. La priorité est de contenir l’incident, de préserver les éléments utiles au diagnostic, puis de rétablir une version saine sans réintroduire la faille. Ce guide explique comment réparer un site WordPress piraté, qu’il s’agisse d’un site vitrine ou d’une boutique, sans confondre remise en ligne et suppression de la cause de l’intrusion.

Si vous avez besoin d’une prise en charge, notre accompagnement en sécurité WordPress couvre l’analyse de la compromission et les mesures de protection. Pour une panne sans signe d’intrusion, consultez plutôt le service de dépannage WordPress.

1. Confirmer l’incident et limiter immédiatement les dégâts

Commencez par vérifier les symptômes depuis plusieurs contextes : navigation privée, autre réseau, smartphone et outil d’inspection du navigateur. Certaines infections ne ciblent que les visiteurs provenant des moteurs de recherche ou les utilisateurs non connectés. Consultez également Google Search Console : les rapports « Problèmes de sécurité » et « Actions manuelles » peuvent signaler du contenu piraté ou des redirections trompeuses.

Si la compromission est plausible, réduisez l’exposition avant de nettoyer :

  • activez une page de maintenance au niveau de l’hébergement ou bloquez temporairement l’accès public par mot de passe ;
  • prévenez les personnes qui administrent le site de ne plus se connecter avec leurs identifiants habituels ;
  • ne supprimez pas immédiatement les fichiers suspects : ils peuvent aider à comprendre le point d’entrée ;
  • désactivez les campagnes publicitaires, formulaires sensibles et paiements si le site traite des données ou des commandes.

Une simple extension de maintenance ne suffit pas toujours : elle charge encore WordPress et ses extensions. En cas de code malveillant actif, une protection côté serveur, un mot de passe HTTP ou une règle temporaire dans le panneau d’hébergement est plus fiable.

2. Sauvegarder l’état compromis avant toute modification

Créez une copie complète des fichiers et une exportation de la base de données, avec une date explicite, par exemple incident-2026-10-01. Cette sauvegarde ne doit pas servir à restaurer le site tel quel ; elle sert à comparer, rechercher une date d’intrusion et conserver une trace si nécessaire.

Notre guide des sauvegardes WordPress détaille les contrôles d’une copie exploitable. Depuis SSH, un technicien peut archiver les fichiers et exporter la base. Exécutez ces commandes depuis un répertoire privé, hors de la racine web, et adaptez les chemins et identifiants à votre hébergement :

tar -czf incident-fichiers.tar.gz public_html/
mysqldump -u utilisateur_db -p nom_base > incident-base.sql

Dans le tableau de bord de l’hébergeur, téléchargez aussi les journaux d’accès et d’erreurs disponibles. Recherchez notamment des requêtes POST répétées vers wp-login.php, xmlrpc.php, admin-ajax.php ou un fichier PHP inhabituel dans wp-content/uploads/. Les logs ne prouvent pas seuls l’origine de l’attaque, mais ils peuvent révéler une adresse IP, une période ou un script ciblé.

3. Identifier le périmètre de la compromission

Avant de restaurer, contrôlez ce qui a été touché. Dans WordPress, examinez la liste des utilisateurs et recherchez les rôles administrateur inattendus. Vérifiez aussi les extensions, les thèmes, les réglages généraux, l’adresse e-mail d’administration et les clés d’API ou de paiement.

Fichiers à examiner en priorité

  • wp-config.php, .htaccess, index.php à la racine et les fichiers PHP récemment modifiés ;
  • les répertoires wp-content/mu-plugins/, wp-content/uploads/ et wp-content/cache/ ;
  • les fichiers PHP au nom trompeur ou aléatoire, par exemple class-xyz.php, surtout dans les dossiers normalement dédiés aux médias ;
  • les tâches planifiées WordPress et serveur, à examiner avec l’hébergeur ou sur une copie isolée ; ne lancez pas du code provenant de l’installation compromise sans environnement adapté.

Des fonctions comme base64_decode(), eval(), gzinflate() ou str_rot13() méritent une vérification lorsqu’elles sont combinées à du code obfusqué. Elles ne constituent pas, isolément, une preuve d’infection : des extensions légitimes peuvent les employer. Comparez toujours avec la version officielle du thème ou de l’extension concernée.

Contrôler la base de données

Dans phpMyAdmin ou avec un outil SQL, examinez les tables de contenu, d’options et d’utilisateurs. Recherchez des balises <script>, des iframes inconnues, des liens injectés, ou des valeurs suspectes dans les options chargées automatiquement. La table porte souvent le préfixe wp_, mais ce préfixe peut être personnalisé. Les redirections malveillantes sont fréquemment cachées dans un widget, un constructeur de pages, un champ d’en-tête/pied de page ou une option de thème.

4. Restaurer proprement plutôt que réparer à l’aveugle

La méthode la plus fiable consiste à repartir d’une sauvegarde antérieure à l’intrusion, à condition qu’elle soit identifiée, complète et conservée hors du serveur. Restaurez-la idéalement sur un environnement de préproduction ou un sous-domaine protégé afin de la contrôler avant remise en ligne.

Si aucune sauvegarde saine n’existe, remplacez les composants WordPress par des sources officielles :

  1. téléchargez la même version de WordPress depuis wordpress.org, ou la version actuelle compatible après vérification ;
  2. remplacez les dossiers wp-admin et wp-includes en entier ;
  3. remplacez chaque extension et chaque thème par une archive officielle ou une copie fiable provenant de son éditeur ;
  4. récupérez les médias, configurations et développements personnalisés uniquement après contrôle ; examinez notamment wp-content/uploads, les extensions indispensables et wp-config.php, sans supprimer aveuglément les données métier ;
  5. supprimez les extensions et thèmes inutilisés, y compris les thèmes inactifs non nécessaires.

Ne copiez pas un dossier wp-content compromis par-dessus une installation neuve sans tri : cela réintroduit facilement un backdoor. Pour les médias, n’autorisez normalement que les fichiers attendus (images, PDF, vidéos selon votre usage). Un fichier .php dans uploads est à traiter comme suspect jusqu’à justification.

5. Réinitialiser tous les accès et secrets

Changer uniquement le mot de passe WordPress est insuffisant. Renouvelez les accès qui auraient pu être lus dans les fichiers ou utilisés par l’attaquant :

  • mots de passe des comptes WordPress, en supprimant les utilisateurs inconnus ;
  • compte d’hébergement, SFTP/SSH, base de données et adresse e-mail administrateur ;
  • clés API, jetons SMTP, clés de paiement, accès CDN et identifiants de sauvegarde ;
  • salts WordPress dans wp-config.php, générés depuis l’API officielle de clés secrètes WordPress.

Après modification des salts, toutes les sessions WordPress existantes sont invalidées. Activez l’authentification à deux facteurs pour les administrateurs lorsque votre solution de gestion des comptes le permet. Appliquez le principe du moindre privilège : un rédacteur n’a pas besoin du rôle administrateur.

6. Corriger la cause d’entrée et renforcer l’installation

Un nettoyage sans correction de la faille conduit souvent à une nouvelle infection. Mettez à jour le cœur WordPress, les extensions et les thèmes après avoir validé leur compatibilité sur une copie du site. Supprimez tout composant abandonné, nulled ou téléchargé hors du canal de l’éditeur. Vérifiez que PHP est encore maintenu par votre hébergeur et que les droits de fichiers ne sont pas inutilement permissifs : en règle générale, 644 pour les fichiers et 755 pour les dossiers conviennent sur de nombreux hébergements, sous réserve de leur configuration.

Installez une sauvegarde automatisée avec rétention et stockage externe. Testez réellement une restauration : une sauvegarde non restaurable n’est pas un plan de reprise. Limitez les tentatives de connexion, protégez l’accès administrateur, désactivez les comptes non utilisés et mettez en place un suivi des changements. Si XML-RPC n’est pas requis par vos outils, restreignez-le au niveau du pare-feu applicatif ou serveur plutôt que de supprimer des fichiers du cœur.

7. Vérifier avant et après la remise en ligne

Testez aussi les parcours avec un compte utilisateur ordinaire. Une page d’accueil fonctionnelle ne suffit pas à valider les formulaires, les comptes et les fonctions commerciales.

Avant d’ouvrir de nouveau le site, testez les pages principales, la connexion, les formulaires, la recherche, les e-mails transactionnels et le tunnel de commande s’il existe. Contrôlez le code source généré sur plusieurs pages et les réponses HTTP pour repérer une redirection non voulue. Lancez un scan de sécurité comme contrôle complémentaire, sans considérer son résultat comme une garantie absolue.

Après la remise en ligne, surveillez les nouveaux fichiers, les comptes créés, les erreurs serveur et les alertes Search Console. Si Google avait signalé un problème de sécurité, demandez un examen après nettoyage. Documentez enfin la chronologie, les fichiers supprimés, les accès renouvelés et la faille corrigée : ce journal rend la maintenance du site WordPress plus rapide et plus sûre lors d’un futur incident.

Faut-il déclarer un piratage WordPress à ses clients ou utilisateurs ?

Si des données personnelles, des commandes ou des identifiants ont pu être exposés, évaluez rapidement la nature et l’étendue de la violation. Les obligations doivent être appréciées selon votre situation, les données concernées et les règles applicables à votre organisation. Conservez les éléments techniques et sollicitez votre conseil juridique ou votre référent RGPD si nécessaire.

Peut-on nettoyer un site WordPress piraté avec une extension de sécurité ?

Une extension peut détecter des fichiers modifiés, bloquer des tentatives et aider à l’analyse, mais elle ne remplace pas la restauration de fichiers fiables, l’examen de la base de données et le changement des accès. Si un compte d’hébergement est compromis, le nettoyage depuis WordPress seul est insuffisant.

Comment savoir si une sauvegarde WordPress est saine ?

Restaurez-la sur un environnement isolé et vérifiez la date des fichiers, les utilisateurs, les extensions, les tâches planifiées, les redirections et le contenu des pages. Une sauvegarde antérieure aux premiers symptômes est préférable, mais elle doit aussi être contrôlée avant son déploiement public.

Pourquoi le site reste-t-il signalé comme dangereux après le nettoyage ?

Les navigateurs et moteurs conservent temporairement leurs listes de sites signalés. Vérifiez d’abord que les URL infectées, les redirections et les fichiers malveillants ont disparu, puis consultez Search Console et demandez un examen si un problème de sécurité y est déclaré. Les caches CDN et serveur doivent également être purgés.

Faut-il changer le mot de passe de la base de données WordPress ?

Oui, si les identifiants ont pu être consultés dans wp-config.php, si l’hébergement a été compromis ou si vous ignorez le point d’entrée. Après création du nouveau mot de passe dans le panneau d’hébergement, mettez immédiatement à jour les constantes DB_PASSWORD et, si besoin, DB_USER dans wp-config.php.

Besoin d’aide avec votre site ?

Que ce soit un bug, une refonte, une récupération de données ou de la maintenance, dites-nous ce qui vous bloque : nous revenons rapidement vers vous avec une solution.

Les détails techniques ou sensibles vous seront demandés uniquement après notre premier échange.

Vous êtes déjà client ?

Contact urgent