Oubliez maintenant les commentaires indésirables dans WordPress 😎

Télécharger: Forget Spam Comment Plugin

Il s’agit d’un plugin anti-spam gratuit destiné exclusivement au système de commentaires par défaut de WordPress.

Comment cela fonctionne-t-il ?

Alternativement, pour les utilisateurs avancés, voici la méthode manuelle.

Le système de commentaires par défaut de WordPress présente deux problèmes majeurs.

  1. Attirer des commentaires indésirables.
  2. Ne pas envoyer de courriel de suivi à l’auteur du commentaire (nous en discuterons dans un moment).

Parlons de ses solutions.c

Empêcher les commentaires non sollicités

Au lieu de permettre directement à quiconque de faire une demande POST à /wp-comments-post.php, nous pouvons ajouter une certaine logique pour empêcher à 100% les commentaires indésirables.

Étape 1. Restreindre le chemin de la requête POST de Commentaire sur le paramètre de requête

Je vais vous faire part de trois façons d’utiliser une méthode.

Apache

  • Yoast > Allez dans Outils > Éditeur de fichiers
  • RankMath > Allez dans Paramètres généraux > Modifier .htaccess
  • FTP/SSH > Vérifier /var/www/html
# Si la chaîne de requête ne correspond pas, retournez 404.
<IfModule mod_rewrite.c>
	RewriteEngine On
        RewriteCond %{REQUEST_URI} .wp-comments-post\.php
        # Vous pouvez changer 45jpfAY9RcNeFP en quelque chose d'autre.
        RewriteCond %{QUERY_STRING} !^45jpfAY9RcNeFP
	RewriteRule (.*) - [R=404,L]
</IfModule>

Si vous êtes sur LiteSpeed, il supporte également le fichier .htaccess. Vous devez redémarrer après l’implémentation.

NGINX

location = /wp-comments-post.php {

 if ($query_string !~ "45jpfAY9RcNeFP") {
     return 404;
  }
}

Cloudflare

prevent spam comments
  • Connectez-vous à Cloudflare Dashboard
  • Allez dans Pare-feu > Règles du pare-feu
  • Créez une nouvelle règle de pare-feu avec l’expression suivante
FieldOperatorValue
URIcontainswp-comments-post.phpAnd
URL Query Stringdoes not equal45jpfAY9RcNeFP
  • Choisissez une action : Bloquer

A la fin, vous verrez l’expression

(http.request.uri contains "wp-comments-post.php" and http.request.uri.query ne "45jpfAY9RcNeFP")

Étape 2. Corrigez l’URL POST du commentaire sur l’événement Scroll.

  • Ajoutez la fonction ci-dessous à l’aide du plugin Code Snippets ou du fichier functions.php du thème.
  • Veillez à utiliser le domaine et l’identifiant de formulaire corrects.
function correct_comment_url_on_scroll() {
// Vérifiez si l'option Commentaire est activée
if(comments_open()) echo '<script>
let commentForm = document.querySelector("#commentform, #ast-commentform, #ht-commentform");

// Chargement d'un nouveau chemin de commentaire sur l'événement de défilement
document.onscroll = function () {
    commentForm.action = "https://www.example.com/wp-comments-post.php?45jpfAY9RcNeFP";
};
</script>';
}
add_action('wp_footer', 'correct_comment_url_on_scroll', 99);

Si vous êtes un utilisateur du thème GeneratePress Premium, vous pouvez également ajouter la partie JS ci-dessus directement en utilisant le module Elements.

<script>
let commentForm = document.querySelector("#commentform");

commentForm.action = "https://www.example.com/wp-comments-post.php";
// Chargement d'un nouveau chemin de commentaire sur l'événement de défilement
document.onscroll = function () {
    commentForm.action = "https://www.example.com/wp-comments-post.php?45jpfAY9RcNeFP";
};
</script>
  • Ajouter un nouveau Hook
  • Nouveau titre du Hook: Modifier l’URL des commentaires à la volée
  • Hook: wp_footer
  • Priority: 99
  • Localisation: Postes- Tous les postes
  • Publier

Comment vérifier s’il fonctionne ?

  • Généralement, WordPress renvoie une réponse 405 pour la demande GET à /wp-comments-post.php.
  • Mais après la configuration ci-dessus, vous devriez voir Accès refusé.
  • De plus, l’URL ne doit être chargée qu’en présence de la chaîne de requête spéciale 45jpfAY9RcNeFP que nous avons ajoutée pour éviter les commentaires indésirables. Vous pouvez changer cette chaîne de requête en quelque chose d’autre dans toutes les configurations ci-dessus.
  • Le code source affiche généralement le chemin wp-comments-post.php mais si vous inspectez l’élément après le défilement, vous remarquerez qu’une chaîne de requête a été ajoutée.

Résultat #1 : Pas de spam

no spam

Résultat #2 : Les spammeurs sont bloqués

log

Conseil bonus pour améliorer encore le système de commentaires par défaut

  • Par défaut, le système de commentaires de WordPress n’envoie pas d’e-mail de suivi à l’auteur du commentaire. Pour résoudre ce problème, vous pouvez utiliser le plugin Comment Reply Email Notification d’Arno Welzel.

Si vous aimez cette information, veuillez la transmettre à vos amis. 🙏

Laisser un commentaire

20 réflexions au sujet de “Oubliez maintenant les commentaires indésirables dans WordPress 😎”

    • Hi,
      I am also using plugin at this blog. It works perfectly fine here.
      If you want to me look into this issue, please provide your actual site URL where I can see live.
      Thanks!

      Répondre
  1. Hi Gulshan.

    I just wanted to let you know that I’ve been using your plugin for a few weeks now and it is brilliant. Genuine comments still get through but all of the spam, and I mean ALL of it, is filtered out. Excellent job!

    Well done and thank you so much for sharing it for free so that hobby bloggers like me can make use of it.

    Répondre
  2. Est-ce que ce plugin / cette méthode va empêcher le site web d’avoir des commentaires de spam une fois pour toutes ou est-ce qu’on en reçoit encore mais ils sont automatiquement filtrés des vrais commentaires (comme Akismet) ?

    Répondre
  3. Au fait, comment savez-vous que les utilisateurs légitimes ne seront pas bloqués ? Avant cela, j’utilisais des règles de pare-feu CF qui bloquaient ou contestaient toute personne visitant wp-comments-post.php, mais en réalité, les utilisateurs légitimes étaient également bloqués. En quoi celle-ci est-elle différente ? Est-ce à cause de la chaîne « 45jpfAY9RcNeFP » qui différencie les requêtes de robots des utilisateurs légitimes ? Si ce sont des utilisateurs légitimes, ils devraient avoir cette chaîne, s’il s’agit de spam, ils ne l’ont pas. Ai-je bien compris ?

    Répondre
  4. Merci beaucoup, Sir Gulshan Kumar ! J’apprécie vraiment votre guide, et cela m’a évité des tonnes de maux de tête. Mis en œuvre via Cloudflare WAF plus Generatepress Elements Module.

    Répondre