WordPress lent : et si c'était un piratage ?
Un site soudain très lent, un CPU au plafond, l'hébergeur qui alerte sur la consommation ? Au-delà d'un souci de perf, ça peut être un cryptominer ou un botnet caché.
Un WordPress lent, c’est rarement excitant à diagnostiquer. Neuf fois sur dix, c’est une extension de trop ou un hébergement saturé. Mais parfois, un site soudain au ralenti et un serveur surchargé cachent autre chose : un piratage qui détourne votre CPU pour miner de la cryptomonnaie ou attaquer d’autres sites. Voici comment faire la différence avant de tout casser ou de payer un hébergement plus cher pour rien.
la lenteur banale, celle qui n’a rien à voir avec un pirate
Avant de soupçonner une intrusion, écartez les causes ordinaires. Elles expliquent la grande majorité des sites lents.
- Trop d’extensions, ou des extensions mal codées qui chargent des requêtes à chaque page.
- Un hébergement mutualisé saturé : vous partagez le serveur avec des centaines d’autres sites, et l’un d’eux tire toutes les ressources.
- Pas de cache. Sans plugin de cache (WP Super Cache, W3 Total Cache, ou le cache de votre hébergeur), chaque visite recalcule la page de zéro.
- Des images lourdes non compressées, des vidéos en autoplay, un thème surchargé.
- Une base de données jamais nettoyée, gonflée de révisions et de transients périmés.
Le point commun de ces causes : la lenteur est constante et proportionnelle au trafic. Le site rame quand il y a du monde, il respire la nuit. Rien d’anormal dans les graphiques de votre hébergeur. Si vous êtes dans ce cas, un bon plugin de cache et une mise à jour de l’offre d’hébergement règlent souvent le problème en une après-midi.
la lenteur suspecte, celle qui sent l’intrusion
Le profil change complètement quand un attaquant utilise votre serveur pour son propre compte. Là, la charge ne suit plus votre trafic. Trois scénarios reviennent.
Le cryptominer. Un script installé sur votre serveur mine de la cryptomonnaie (souvent du Monero) en utilisant votre CPU. Résultat : processeur à 100 % en permanence, y compris à 4 h du matin quand personne ne visite le site. C’est le motif le plus parlant.
Le relais d’attaque. Votre site devient un soldat dans un botnet. Il sert à lancer des attaques par déni de service (DDoS), du bourrage d’identifiants ou de la force brute contre d’autres sites WordPress. Vous voyez surtout un trafic sortant anormal, pas forcément une charge CPU énorme.
Le mailer en boucle. Un script envoie du spam en masse depuis votre serveur. Le CPU monte, la file d’envoi de mails explose, et votre domaine finit sur des listes noires. Premier symptôme visible : vos propres mails n’arrivent plus.
Dans ces trois cas, le pirate est entré par une faille (extension ou thème non à jour, mot de passe faible) et a laissé une backdoor pour revenir. Le ralentissement n’est qu’un effet de bord de son activité.
les signes qui doivent vous alerter
Voici ce qui distingue une infection d’un simple souci de perf :
- Des pics de CPU aux heures creuses, sans rapport avec votre trafic réel.
- Un mail de l’hébergeur sur la consommation de ressources, un dépassement de quota CPU, ou une suspension temporaire du compte.
- Des tâches planifiées (cron) que vous n’avez jamais créées.
- Du trafic sortant important alors que votre site ne fait que servir des pages.
- Sur un VPS ou un serveur dédié, des processus inconnus qui tournent, notamment
xmrig, des noms aléatoires, ou un script lancé depuis un dossier/tmp. - Des fichiers récents que vous n’avez pas déposés, surtout des
.phpplanqués dans des dossiers où il ne devrait y en avoir aucun.
Un seul de ces signes ne prouve rien. Plusieurs en même temps, là c’est sérieux. Ces symptômes recoupent souvent les autres signes d’un site piraté : redirections étranges, faux articles, alerte Google.
comment investiguer concrètement
Vous n’avez pas besoin d’être administrateur système pour faire un premier diagnostic. Quelques vérifications suffisent.
regardez les graphiques de ressources
Tous les hébergeurs sérieux exposent des courbes de CPU, de mémoire et de trafic dans leur panneau (cPanel, Plesk, ou interface maison). Cherchez les pics qui ne collent pas à vos heures de visite. Une charge plate et haute 24 h/24 est un mauvais signe.
listez les tâches planifiées
Un cron inconnu est un classique des infections. Si WP-CLI est disponible :
wp cron event list
Repérez les hooks aux noms bizarres ou les exécutions très rapprochées. Le code d’un cron suspect se cache souvent dans le fichier wp-config.php ou dans un must-use plugin (wp-content/mu-plugins/).
cherchez les fichiers PHP là où ils n’ont rien à faire
Le dossier wp-content/uploads ne doit contenir que des médias. Un fichier PHP à l’intérieur est presque toujours malveillant.
find wp-content/uploads -name "*.php"
Si cette commande renvoie quoi que ce soit, vous tenez probablement une porte d’entrée du pirate.
scannez le site
Un scanner (Wordfence, ou un outil côté serveur comme ImunifyAV) repère les signatures de malware connues. Ce n’est pas infaillible, mais ça oriente vite.
sur un VPS, observez les processus
Si vous avez un accès SSH à un serveur dédié ou un VPS, lancez top ou htop et regardez ce qui mange le CPU. Un processus de minage comme xmrig saute aux yeux. Notez son nom et le chemin d’où il est lancé, ça aide à remonter à la source.
comment nettoyer (et pourquoi le simple kill ne suffit pas)
Tuer le processus de minage ou supprimer le cron visible vous soulagera dix minutes. Puis tout repart, parce que la backdoor est toujours là et relance le script.
Le nettoyage correct se fait dans cet ordre :
- Sauvegardez l’état actuel (fichiers + base) avant de toucher à quoi que ce soit. Même infecté, ça vous sert de filet.
- Trouvez et supprimez les backdoors et les scripts injectés. C’est l’étape qui demande de la méthode : il faut trouver et supprimer la backdoor, sinon le reste est inutile.
- Réinstallez le cœur de WordPress avec une version propre, supprimez les extensions et thèmes douteux, remplacez les fichiers modifiés par des copies saines.
- Durcissez : changez tous les mots de passe (admin, base de données, FTP), révoquez les sessions, mettez tout à jour, désactivez l’édition de fichiers depuis l’admin.
Tant que la backdoor n’est pas partie, vous nettoyez les symptômes, pas la cause. Pour la marche complète, voir le guide complet quand WordPress est piraté.
faq
Mon CPU est à 100 %, c’est forcément un piratage ? Non. Un pic de trafic, une extension gourmande ou une tâche WordPress lourde peuvent saturer le CPU. Ce qui trahit une infection, c’est une charge élevée aux heures creuses, sans visiteurs pour la justifier.
L’hébergeur m’a suspendu pour surconsommation. Que faire en premier ? Demandez-lui les logs ou le détail de ce qui a déclenché l’alerte. Beaucoup d’hébergeurs pointent directement le script ou le processus en cause, ce qui vous fait gagner un temps fou dans la recherche de la backdoor.
Je suis sur mutualisé, je ne peux pas voir les processus. Je fais comment ?
Sans accès SSH, appuyez-vous sur les graphiques de ressources du panneau, la liste des crons (wp cron event list), un scan et la recherche de PHP dans uploads. Ça couvre l’essentiel des cas.
Pas sûr de votre diagnostic ? WP-Detox commence par un scan gratuit qui dit clairement si votre lenteur vient d’une infection ou d’un simple problème de perf. Si c’est un piratage, on retire la backdoor et le script de minage, on réinstalle un cœur propre et on durcit le site, en général en une trentaine de minutes. Sauvegarde complète avant toute intervention, 149 € tout compris, remboursé si on n’y arrive pas.