Ces commentaires sont la plupart du temps envoyés par des robots nous ventant la qualité de leurs pilules amaigrissantes ou revigorantes, de leurs sacs à mains ou autres montres de grandes marques... bref, ces commentaires n'ont rien à faire sur votre site !
Voici un petit bout de code PHP à placer dans le fichier functions.php de votre thème qui va "pré-filtrer" les commentaires postés sur votre site afin de vérifier si il s'agit ou non d'un spam.
Les spammeurs utilisent souvent une URL comme nom d'utilisateur. Le petit bout de code ci-dessous va vérifier la longueur du nom d'utilisateur afin de vérifier s'il s'agit d'une potentielle URL. Si c'est le cas, le commentaire sera classé automatiquement dans les spams.
Voici le le code à intégrer :
add_filter( 'pre_comment_approved', 'am_check_spam_comment', 99, 2 );
function am_check_spam_comment( $approved, $commentdata ) {
return ( strlen( $commentdata['comment_author'] ) > 75 ) ? 'spam' : $approved;
}
Dans l'exemple ci-dessus, on vérifie si le nom d'utilisateur dépasse les 75 caractères, si c'est le cas, direction les spams.
Vous pouvez, bien évidemment, modifier ce code afin de filtrer les commentaires selon un nombre de caractères différent.
Ce code est inspiré par la fonction de norcross, qui se base sur la longueur de l'URL fournie par l'auteur du commentaire : https://gist.github.com/norcross/5468979
Il ne s'agit pas là d'une solution miracle, mais cela peut constituer une aide bien appréciable.