Comment supprimer 20 000 commentaires de spam sur WordPress ?
rédigé par Jean-Baptiste, le mars 7, 2024
Après 5 ans d’hibernation, ce blog est à nouveau actif ;-) Je vais vous expliquer dans cet article comment supprimer plus de 20 000 commentaires de spams WordPress en une seule requête SQL !
Ces 20 000 commentaires disgracieux, je ne les ai pas accumulé en 5 ans d’inactivité sur ce blog mais en seulement 20 jours, lorsque mon antispam Akismet a décidé de couper son service du jour au lendemain.
Pourquoi Akismet a coupé le flux ?
Voici le mail que j’ai reçu traduis en français :
Merci d’utiliser Akismet pour prévenir le spam sur votre site, blogbuster.fr.
Vous utilisez actuellement Akismet Personnel, mais ce forfait n’est autorisé que sur les sites non commerciaux.
Vous affichez des publicités sur votre site, il ne répond donc pas aux critères de l’offre non-commerciale.
Pour continuer à utiliser Akismet, veuillez passer au forfait Pro (à 10€/ mois).
Si vous continuez à utiliser le forfait Personnel, votre compte sera suspendu.
Un vrai racket organisé par Automattic, la société à l’origine de WordPress.
20 jours de spams chez OVH, quelles conséquences ?
Le pire dans cette histoire, c’est que je ne me suis même pas rendu compte que des spammers russes s’en donnaient à coeur joie dans mes commentaires.
Il a fallu que je reçoive une alerte search console le 3 mars m’indiquant que mon site n’était plus indexé à cause d’une erreur 403.
Erreur 403 sur tout mon site, car OVH avait bloqué les connexions pour cause de spam, sans me prévenir :-(
Le site est de nouveau up depuis le 6 mars après 2 jours intenses a expliqué au support OVH que s’ils me coupaient mon gagne-pain je ne pourrais plus payer mon hébergement chez eux.
Et que s’ils ne remettaient pas mon site en ligne, je ne pourrais pas non plus bloquer définitivement les commentaires, la cause principale du spam !
Supprimer 20 commentaires sur WordPress, c’est facile, mais 20 000, c’est impossible
Pour supprimer 20 commentaires en batch sur WordPress, c’est très simple, tu coches les commentaires disgracieux (1), dans actions groupées, tu mets « Déplacer dans la corbeille » (2), puis tu appuies sur « Appliquer » (3).
Au delà de 20, WordPress buggue et on ne va pas faire cette action 1 000 fois sinon on mettrait autant de temps que le support OVH à résoudre notre problème :)
PhpMyAdmin à la rescousse de WordPress
Heureusement OVH nous met à disposition dans son manager Web l’outil PhpMyAdmin qui permet d’agir directement sur les entrées en base de données.
Clique sur les (…) de ta base de données, puis sur Accéder à phpMyAdmin. Il faudra te logguer avec ton nom de base de données, ton nom d’utilisateur et ton mot de passe. NB : Ces infos sont obligatoires pour installer WordPress.
Une fois sur PhpMyAdmin, il va falloir choisir la table wp_comments (1) qui contient les commentaires et effectuer une requête SQL (2) de suppression des commentaires problématiques. NB : si tu as préfixé ton WordPress au moment de l’installation, tu auras peut-être autre chose que wp_
Avant de supprimer tout d’un coup, je préfère y aller par étape pour vérifier que mes requêtes SQL fonctionnent correctement.
Essaye d’abord ceci pour afficher les x commentaires d’une journée problématique, ici le 29/02 :
SELECT * FROM `wp_comments` WHERE DATE(`comment_date`) = ‘2024-02-29’;
Cette requêtes m’affichera les 1572 commentaires que j’ai reçu le 29/02/2024. Comme je sais que tout est du spam, étape suivante j’effectue cette requête SQL de suppression
DELETE FROM `wp_comments` WHERE DATE(`comment_date`) = ‘2024-02-29’;
Avant d’aller plus loin, je retourne dans mon WordPress pour vérifier que je n’ai plus aucun commentaire de spams datant du 29/02/2024. Tout est OK ! Alors on continue.
Maintenant, je vais choisir une plage de date plus étendue : du 12/02/2024 au 28/02/2024. Le 29/02 ayant déjà été traité, le 12/02/2024 chez moi c’est la date où Akismet m’a lâché et où les spammers russes se sont fait plaisir.
SELECT * FROM `wp_comments` WHERE DATE(`comment_date`) >= ‘2024-02-12’ AND DATE(`comment_date`) <= ‘2024-02-28’;
18 328 commentaires de spams sélectionnées !!! On va arriver aux 20 000. Je peux ensuite taper ma requête SQL de suppression.
DELETE FROM `wp_comments` WHERE DATE(`comment_date`) >= ‘2024-02-12’ AND DATE(`comment_date`) <= ‘2024-02-28’;
Et voilà le ménage est fait ! 18 328 spams de commentaires russes supprimés en moins d’1 seconde.
NB : Je me suis aidé de Mistral AI pour trouver les bonnes requêtes SQL. Si tu as des questions, contacte-moi sur Twitter, j’ai fermé mes commentaires, le temps que je trouve une alternative simple et gratuite à Akismet.
Jean-Baptiste
Les derniers articles par Jean-Baptiste (tout voir)
- Comment supprimer 20 000 commentaires de spam sur WordPress ? - 7 mars 2024
- Marketing Vidéo : le livre pour faire des vidéos professionnelles - 10 mars 2019
- Un article de blog ancien peut pénaliser le SEO d’un site - 27 décembre 2018
Tu veux gagner de l'argent avec ton blog ?
Lis tout de suite BlogBuster dispo sur Amazon, Kobo, Fnac, iTunes pour 3,99 €
Nous te recommandons :
- Akismet et Spam : réduire la taille de ma base de données
- Modération des commentaires WordPress : solutions
- Commentaire WordPress : quels plugins et options activer pour encourager les discussions ?
- 10 plugins WordPress gratuits et indispensables en 2014
- RM Tech : un outil d’audit SEO complet pour plaire à Google
Categories and Webmastering