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 !

carbon-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.

spam-russe

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.

search-console-403

Erreur 403 sur tout mon site, car OVH avait bloqué les connexions pour cause de spam, sans me prévenir :-(

site-coupé par OVH

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).

spam masse

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.

phpmyadmin-ovh

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.

phpmyadmin-wpcomments

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.

menage-wp-comments

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
Suivez-moi

Jean-Baptiste

Responsable marketing digital chez Orange le jour. Blogueur, Auteur, Entrepreneur la nuit,j'ai plus de 10 ans d'expérience sur Internet en gestion de projets, création d'audience, monétisation.
Jean-Baptiste
Suivez-moi


Tu veux gagner de l'argent avec ton blog ?
Lis tout de suite BlogBuster dispo sur Amazon, Kobo, Fnac, iTunes pour 3,99 €

blogbuster ebook

Nous te recommandons :


Categories and  Webmastering

Comments are closed.

Deviens toi aussi un YouTubeur


Rechercher


Recevoir Blogbuster par email

    Ajoutez votre email :





BlogBuster, le livre


blogbuster ebook

Catégories


Derniers articles et tutos


Derniers plugins ajoutés


Trouver un plugin


Mentions légales - Contact