Une psychologue en exercice libéral nous contacte pour son site WordPress. Un an plus tôt, le site avait été piraté (un détournement SEO classique), nettoyé à l'époque par ses soins.
Depuis quatre mois, plus rien ne tient : les modifications qu'elle fait dans Elementor, dans le menu ou dans les mots-clés Yoast s'enregistrent, tiennent quelques rechargements de page, puis reviennent comme avant. Un développeur de son entourage avait tenté un correctif, sans succès. Avec l'antécédent de piratage en tête, elle craint une nouvelle intrusion.
L'essentiel
- Les symptômes ressemblaient à une nouvelle intrusion, mais aucun malware ni compte suspect n'a été trouvé.
- La cause : une base de données corrompue par une migration d'hébergeur ratée, avec des tables sans clé primaire ni auto-incrémentation.
- Réparation structurelle sans perte de données, et facturation honnête d'un débogage plutôt que d'un nettoyage anti-piratage.
Le diagnostic : piratage ou panne ?
Premier réflexe : écarter ou confirmer le piratage. Résultat net : aucun malware, un seul compte administrateur légitime, rien d'anormal côté sécurité. Le vrai coupable est ailleurs, dans la base de données. Une table utilisée par WordPress pour planifier des tâches de fond (Action Scheduler, la librairie officielle sous-jacente à WooCommerce et de nombreux plugins) grossissait de plusieurs millions de lignes par jour, jusqu'à peser à elle seule 14,7 Go et saturer toute la base. Un premier nettoyage de cette table a stoppé le symptôme, pendant quelques heures seulement : le lendemain, la boucle était revenue.
En creusant plus loin, la vraie cause apparaît : cette table avait perdu sa clé primaire et son auto-incrémentation, suite à une migration ratée depuis l'ancien hébergeur. Chaque nouvelle action s'enregistrait avec l'identifiant 0, provoquait une erreur, et repartait en boucle à l'infini. Et ce n'était pas isolé : neuf tables cœur de WordPress (comptes, réglages, métadonnées...) étaient touchées par la même corruption. C'est ce qui expliquait pourquoi Elementor, le menu et Yoast ne sauvegardaient plus rien : chaque enregistrement partait lui aussi à l'identifiant 0 et s'écrasait aussitôt.
Avant de conclure à un piratage, il faut toujours vérifier. Nous détaillons ces vérifications dans que faire si votre site WordPress est piraté.
La réparation
Sauvegarde complète hors site avant toute intervention. Réparation structurelle plutôt qu'un simple vidage de table : reconstruction de la clé primaire et de l'auto-incrémentation sur les quatre tables de planification, puis sur les neuf tables cœur de WordPress touchées, en réattribuant un identifiant valide à chaque ligne concernée au lieu de supprimer quoi que ce soit. Nettoyage au passage des fichiers parasites accumulés (journal de débogage de 79 Mo, sauvegardes obsolètes). Validation en conditions réelles : création d'un compte administrateur, mise à jour d'une extension par la cliente elle-même, puis contrôle à distance 10 heures plus tard et le lendemain pour confirmer que la boucle ne repartait pas. Facturé pour ce que c'était réellement : un débogage de base de données, pas un nettoyage anti-piratage.
Les résultats
- 0 € : facturés en nettoyage anti-piratage inutile
- 14,7 Go → 83 Mo : taille de la base de données
- 168 M → 0 : lignes de logs générées en boucle par jour
- 9 → 0 : tables WordPress cœur corrompues
« Je vous remercie pour ces explications très détaillées et compréhensibles. J'ai testé le site toute la journée, en modifiant de nombreuses pages, articles, réglages SEO et le menu. Tout tient, je suis ravie ! Merci énormément pour votre sérieux, votre communication et votre rapidité. »
Sandra, psychologue
Ce qu'il faut retenir
Un site qui « oublie » les modifications n'est pas forcément piraté. Une migration d'hébergeur mal faite peut casser la structure de la base de données sans rien afficher d'anormal pendant des semaines. Avant de payer un nettoyage anti-piratage, faites établir un diagnostic. Les pannes de base de données les plus courantes sont détaillées dans erreur de connexion à la base de données WordPress, et une sauvegarde testée reste la meilleure assurance (notre guide des sauvegardes WordPress).
Votre site WordPress se comporte bizarrement ? Notre maintenance WordPress inclut ce type de diagnostic, et si le site est réellement compromis, nous intervenons en urgence avec notre nettoyage de site WordPress piraté.
