Comment éviter le SPAM sur son site… sans plugin

Si, vous aussi, vous passez des heures à supprimer de votre boîte mail les Spams reçus sur votre blog…Voici la solution radicale !

J’adore blogguer et j’adore WordPress. C’est vrai quoi, c’est cool ! Tu peux mettre tout ce que tu veux facilement, tu rankes comme un dieu quand tu as un contenu de dingue et tout ça se fait les doigts dans le nez.

Seulement voilà, c’est tellement facile que tout le monde utilise WordPress et forcément, les spammeurs raffolent de ce genre de « Mass Utilisation« 

Depuis quelques années, je me connecte de temps à autre sur ma base de donnée pour supprimer sans regarder, les 3 ou 4000 commentaires laissés en SPAM…Wordpress ne va pas me les supprimer par défaut.

Quand on veut être réactif sur un blog, autant recevoir les notifications par mail dès qu’un commentaire est posté. Mais voilà, des emails pour me dire que je suis encore spammé, ras la casquette !

Alors voici pourquoi, depuis quelques jours, je trouve ma boite mail desespéremment vide. Et tout ça, sans aucun plugin

Solution N°1: WordPress is GOD

L’un des plus grands mythes de WordPress,  c’est que vous devez installer une foule de plugins pour combattre les « Méchants » qui viennent commenter sur votre blog. Vous trouverez partout sur le web des tutos pour palier à ce défaut. Certains vont vous fournir une liste de « must have » (les plugins à avoir). D’autres vont vous conseiller d’installer tout ce que vous trouvez. C’est génial, on a plein de petits fichiers à la con dans le repertoire des plugins…Et c’est lourd (dans les 2 sens) !

Alors c’est facile pour tout le monde. Installer un plugin ne prend que 2 secondes…Pourquoi ne pas en profiter ?

Parce que ça prend aussi 2 secondes à un bon spammeur pour trouver les failles de chaque plugin qui sort ! Même Akismet ne sert à rien.

La première solution, WordPress vous la fournit nativement. Et franchement, c’est sous-estimer votre moteur de blog préféré que de ne pas utiliser tout son potentiel anti-spam.

Paramètres de vos articles

Voilà une première règle intélligente. Si vous ne souhaitez pas de commentaires sur un article, prenez l’habitude de le signaler en rédigeant votre article.

anti spam articles wordpress

Bien entendu, vous voudrez sûrement qu’on donne son avis chez vous ! Pour un bloggeur, ne pas recevoir de commentaires sur l’article qu’il a passé des heures à préparer, c’est FRUSTRANT !

Alors bien entendu, vous pouvez commencer par ne laisser passer que les commentaires et bloquer les trackbacks (quand un site parle de votre blog) qui sont facilement automatisables pour un spammeur.

anti spam wordpress trackback

Voilà, en cochant une seule case, vous avez anéanti tout un tas de conneries provenant des pingbacks ou trackbacks…

Inconvénients: Dommage, si un bon blog faisait le relais de votre article, vous empêcher vos lecteurs de poursuivre leurs recherches.

Nom et Email siou plait ?

Con à dire, mais certains evitent encore de le demander, espérant recevoir plus de commentaires. Les gens n’aiment pas trop dévoiler leurs coordonnées. Et sur des sites sensibles (politiques par exemple), il peut être avantageux de ne pas demander d’info à l’utilisateur, histoire que tout le monde soit honnête et que ça puisse partir bien en vrille comme il faut…Le Buzz vient tout seul !

Bref, en cochant cette case dans les options WordPress (c’est coché par défaut), vous bloquer d’autres logiciels moins sophistiqués. Mais les spammeurs paresseux disparaitront vite de votre blog. Enfin bon, aujourd’hui, ça semble bidon d’en parler.

Inconvénients: Il n’y en a pas réellement. Les gens sont habitués à laisser leur nom et leur email aujourd’hui pour commenter un blog. Mais vous seriez étonné de la consistance des commentaires si vous ne demandiez pas ces données. Les gens se lâchent plus facilement.

Enregistré et connecté pour poster un commentaire.

Sans doute la plus grosse option pour arrêter le SPAM tout de suite. Une seconde case à cocher et s’en est finit. Il suffira juste de surveiller qui s’inscrit sur votre blog.

anti-spam-wordpress-enregistre

Si vous ne vérifiez pas, tanpis pour vous. Mais vous rajoutez une barrière de plus au Spammeur qui va devoir, dans l’ordre, automatiser la création d’un profil, la connection et l’envoit du commentaire. Il faut savoir jouer avec les cookies en programmation pour réussir à automatiser tout ça (je vous expliquerais comment si vous êtes sage). Il faut donc quelques connaissances en programmation (Curl, Cookies, ETC.).

La plupart ne se casseront pas la tête à chercher….C’est trop long et ils préfèreront passer à autre chose.

Inconvénients: A moins d’avoir lancer une polémique, d’avoir insulter quelqu’un en public, personne ne va perdre son temps à s’inscrire sur votre blog et à s’y connecter régulièrement pour y mettre « Cool ton article. ». Les journées ne font que 24 MERDE !

Personne ne s’inscrira sur votre blog. Il faut trouver un bon argument pour les inciter à le faire.

Fermer les commentaires sur les articles datant de plus de XX jours

Une fonctionnalité géniale de WordPress. Fini le SPAM. Oui, bien souvent, votre blog trainera dans une liste que des « yoyos » vont se partager…C’est bien souvent des listes d’url vers vos articles.

Seulement voilà, la plupart du temps, ces listes ne datent pas du jour. Toujours par fénéantise, le spam sera effectué de manière automatisé sans faire attention…Si votre article refuse les commentaires, c’est fichu pour le bonhomme.

N’hésitez pas à utiliser cette fonction, vos anciens articles n’ont plus besoin de faire de bruit.

Inconvénient: Ben si justement, il suffit qu’un petit nouveau trouve votre blog des années après et trouve un article fascinant chez vous…Et BAM, il peut pas vous dire merci. Je sais que vous êtes nombriliste. Ca va vous emmerder de ne pas pouvoir laisser les gens commenter dans 1 an vos anciens articles.

Diviser vos commentaires en plusieurs pages

Pas évident à comprendre. Mais en divisant les commentaires, vous allez réduire par la même occasion l’envie de vous spammer. Oui, les pro du spamming vont toujours vous envoyer la grosse artillerie pour avoir 20 commentaires sur votre article…Ils arrivent bien souvent après tout le monde puisque qu’ils ne scanne pas le web aussi rapidement que « Big G ». Il suffit alors d’afficher les commentaires les plus anciens en premier et vos petits soucis seront vite réglés.

diviser-les-commentaires-en-page

Inconvénient: En laissant le plus ancien commentaire en ligne, vous mettez des barrières sur les discussions avec les derniers à commenter votre article. Afficher TOUS les commentaires sur une seule page du plus récent au plus ancien permet des échanges plus rapides et faciles.

Toujours approuver le commentaire

Encore une fois, c’est l’astuce qui fera le plus gros du travail sur votre blog. Il suffit de demander à recevoir un mail pour chaque commentaire et que vous alliez le valider manuellement. Vous recevrez des tas de mail pour les commentaires spammy mais au moins, vous ne les afficherez pas sur votre site.

Inconvénient: Recevoir 200 mails par jour pour lire que c’est ENCORE du SPAM, pas cool ! Quand un blog commence à faire du bruit, le nombre de mail spammy peut être énorme chaque jour. Vous arrêterez vite de tout valider manuellement et comme moi, vous prendrez de temps à autre le teaureau par les corne en supprimant les commentaires non approuvés via PHPMyAdmin (sans même prendre le temps de vérifier que c’est un SPAM)

Un commentaire déjà approuvé ?

Vos lecteurs sont souvent les même. Si vous voulez ne pas supprimer de bons commentaires dans l’étape précédente (via requête SQL), cochez cette case. Ceux qui vous lisent régulièrement et qui ont déjà commenté verront leurs prochains commentaires validés automatiquement.

Inconvénient: Il y aura toujours des petits rusés qui feront tout pour avoir leur premier commentaire approuvé. Espérant ensuite pouvoir revenir poser leurs liens sans en faire autant qu’à leur premier coup d’essai puisque leur commentaire sera approuvé de suite.

Le nombre de lien dans le commentaire

Tout le monde le sait. Quand on SPAM, c’est pour trouver des bons plans pour faire du lien. Alors tout naturellement, chaque commentaire SPAMMY comportera des liens. Soit dans le texte du commentaire, soit dans l’url du site.

Pour le texte du commentaire, il suffit juste de mettre en attente les commentaires avec plus de 0 liens. C’est à dire que dès qu’un lien sera présent dans le commentaire, il sera mis en attente. « Louis Vuitton » n’a qu’à bien se tenir.

nombre-de-liens-anti-spam

Inconvénient: Le plus embêtant dans ce type de configuration, c’est qu’à chaque fois qu’une personne voudra vous filler un lien en rapport avec votre article, il se retrouvera dans la file d’attente. Et c’est un taf en plus à gérer. De plus, certains SPAMMEURS préfèrent ne pas mettre de lien dans les commentaires mais plus dans l’adresse du site.

Utilisez vos listes de modération

WordPress possède par défaut 2 cadres ou vous pouvez enregistrer les listes des mots interdits pour les commentaires. Ça agit sur le pseudo, l’url, l’ip, le commentaire, l’adresse mail.

Dans le premier cadre, ça part en modération. Dans le second ça part directement en indésirable. Vous n’avez alors plus qu’à passer sur votre blog et cliquez un bouton pour supprimer tous vos SPAMS.

NoSpamNX est un plugin assez connu qui reprend ce principe de base de WordPress. Son seul atout est de supprimer directement les indésirables….

Inconvénients: Il faut faire très attention à la liste qu’on configure parce que, comme le signale l’interface WP, indiquer le mot « press » suffira pour bloquer un commmentaire contenant « WordPress ». Pensez donc à votre liste avant d’écrire tout ça. L’avantage en France, c’est qu’on peut rapidement se faire une liste des mots interdits dans la langue de Shakespeare…A moins que vos lecteurs ne se prennent pour des « Franglish » !

Toutes ces fonctionnalités anti-spam natives dans Worpress sont sous-estimées. Vous passez votre temps à utiliser des plugins qui comportent parfois des failles 10 fois plus graves que le SPAM. Il faut sans arrêt remettre à jour les plugins (même si c’est automatisé aujourd’hui…Ne pas vérifier le code source d’une extension mise à jour est une erreur. Le Social Engineering, vous connaissez ? Tout le monde fait confiance au REPO WordPress. Et pourtant … !). C’est autant d’emmerdes que de vouloir à tout prix le meilleur plugin anti-spam.

Vous avez la flemme ? Les spams passent encore ? Alors voici comment, en quelques lignes de code, anéantir les vendeur à la sauvette de Nike et tous les Louis qui passent sur votre blog pour vous vendre leurs petites pilules.

Solution N°2: Les 31 lignes qui font mal !

Toutes les actions vu ci-dessus sont éfficaces pour éviter le SPAM sur votre WORDPRESS. Malheureusement, si chacun semble être une solution sympa, toutes ces fonctionnalités présentent également des inconvénients. Mon idée de base était de revenir à ce que je trouvais de plus logique: Jouer avec un champ chargé en Javascript que mon blog devrait récupérer derrière pour valider le commentaire.

Le SPAM sur WordPress n’est jamais supprimé. Il est gardé dans votre base de données. Et c’est souvent un réel handicap lorsque vous en recevez 200 par jour. La base de données est vite surchargée. Vos articles et leurs commentaires sont plus longs à charger. Vous augmentez alors très vite votre taux de rebond. Les visiteurs n’aiment pas attendre.

J’ai repris un article d’un fou du JS pour ma solution anti-spam. Il suffit simplement d’ajouter ces quelques lignes dans le fichier functions.php de votre thème et le tour est joué.

En image:

un anti spam sans plugin wordpress

Copiez/collez et c’est fini:

<?php
/**********************************
Anti spam
**********************************/
function load_jquery_for_antispam() {
    if (is_single() OR is_page()) {
        if( !wp_script_is( 'jquery', 'done' ) ) {
            wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js');
            wp_enqueue_script( 'jquery' );
        }
?>
    <script type="text/javascript">
 jQuery(document).ready(function(){
      var action_url = jQuery('form.comment-form').attr('action');
      jQuery('form.comment-form').attr('action',action_url+'?is_not_a_spammer=1');
      });
    </script>
    <?php
    }
}
// Fuck off spammers
function preprocess_new_comment($commentdata) {
    if(!isset($_GET['is_not_a_spammer'])) {
        die('Bye Bye Newbie !');
    }
    return $commentdata;
}
if(function_exists('add_action')) {
    add_action( 'wp_footer', 'load_jquery_for_antispam' );
    add_action('preprocess_comment', 'preprocess_new_comment');
}

Que fait donc ce code ? Facile.

En tout premier lieu, il va vérifier que jQuery est bien chargé sur votre site. S’il ne l’est pas, il s’en charge.

Une fois jQuery chargé, on va allez ajouter simplement un paramètre à notre formulaire de contact en modifiant le tag action de la balise

<form action="ICI"

Ce qu’on ajoute est simplement une variable que l’on va vérifier lors de l’envoi du formulaire. Comme il faut charger le Javascript pour soumettre le formulaire, vous allez bloquer 99% des commentaires envoyés via des logiciels. Tout simplement parce que ces logiciels ne prennent pas forcément encore le chargement du javascript. Ils se contentent seulement de remplir des formulaires automatiquement. Or, ici, on a ajouté un paramètre que ces logiciels ne vont pas voir.

Certains ont parlé des champs supplémentaires à ajouter dans le formulaire, comme un faux champ email renommé. Le soucis est qu’il faut jouer avec le CSS pour cacher ce champ. Ici, on modifie juste l’url pour poster les commentaires et le tour est joué.

15 jours d’utilisation de cette technique et je suis enfin au calme. Pour tout dire, ces petits commentaires me manquent au point que je me demande parfois si mon blog ne bloque pas tout carrément ^^

Reprenez ce code pour votre blog, changer les deux expressions « is_not_a_spammer » (si tout le monde utilise cette expression, les spammeurs auront vite fait de modifier leurs programmes) par autre chose et mettez tout ça dans le fichier functions.php de votre blog. C’est tout ! Vous allez pouvoir calmer vos nerfs.

Vous souhaitez recevoir davantage de trucs & d'astuces ? Tous les jours j'envois un mail à mes 6000 (et quelques) abonnés. Si ça vous dit, cliquez-ici pour vous inscrire