how to reduce the number of spam comments

I’ve got the Akismet plugin on my WordPress site but I’ve been getting more and more spammy comments (that get caught). I’m amazed at the number as the site isn’t that popular and doesn’t have much traffic. Are there any methods for reducing spam?

Related posts

Leave a Reply

5 comments

  1. For my blog, I too run Akismet to catch any spam that is posted to my blog, but I also prevent spam from being posted in the first place using a few plugins:

    1. Cookies For Comments requires that people leaving comments have cookies and CSS stylesheets enabled. A stylesheet is added to your site that when loaded sets a cookie. This cookie is then looked for when a comment is left. No cookie? The comment is rejected.

      This is effective because most spam bots do not load stylesheets or accept cookies. Note this will not prevent spam left by humans (it’ll be Akismet’s job to catch that).

    2. Disable Trackbacks does exactly what it says it does. When you receive spam pings (links from other blogs), most often those are in the form of the deprecated trackback instead of the better and more modern pingback. Trackbacks, when used normally, require the person sending the trackback to enter a special URL from your blog into their blog. Trackbacks are pretty much never used legitimately anymore, so you can safely disable them and avoid lots and lots of ping spam. Akismet will take care of any pingback spam (it happens, but not nearly as much).

    With those two plugins installed along side Akismet, I only get a few spams and very rarely do any of them actually make it onto my blog.

    Hope that helps.

  2. Most of the spam I get is via the contact form, always using a gmail address. I take the time to report every single one of them to Google. I figure since they are trying to use that gmail address then the sooner I help get it taken down, the less ROI they will get on that method and they will simply stop trying.

    Akismet has been very good at filtering out comment spam. Captcha is a big PITA and having to register to leave comments is a strong comment-deterrent but the easy maths question or a css hidden field are 2 options you could try.

  3. To actually reduce spam, I’d suggest installing a Captcha plug-in. Really, though, if the spam is being caught by Akismet already, there’s not much of a need to add another filter. It just adds an ‘are you human?’ verification step before double checking by passing the actual comment through Akismet.

    Using both systems in concert will block most automated spam (i.e. bots) and filter out any “your blog is kewl! buy a rolex” junk that somehow makes it through.

  4. I also use Akismet but rarely does a spam comment get thru.

    This is what i do.

    1. If you remove the website url field from your comment form, you’ll find this will reduce both automated and manual spam comments as spammers are only interested in leaving links. You can do this by installing a plugin or using code.

    2. I also removed the comment form allowed tags because they include the word email which spam bots are programmed to look for. You can do this by installing a plugin or using code.

    3. Configure Discussion settings correctly. I would disable trackbacks and also set comment author must have at least one approved comment. All comments must be approved by an administrator.

    You can also configure your settings so only one link is allowed however its better to not allow any unless manually approved.

    Comment spam has never been a problem for me except when Akismet stopped working sometimes which isn’t very often and doesn’t last long but you will know about it when it happens.

    enter image description here

    Here’s the code you can paste at the end of your child themes functions.php file to remove the website url field from your comment form:

    function remove_website_url_field_comment_form($fields) {
    unset($fields['url']);
    return $fields;
    }
    add_filter('comment_form_default_fields','remove_website_url_field_comment_form');
    

    Here’s the code you can paste at the end of your child themes functions.php file to remove comment form allowed tags:

    add_filter( 'comment_form_defaults', 'wpsites_remove_comment_form_allowed_tags' );
    
    function wpsites_remove_comment_form_allowed_tags( $defaults ) {
    
    $defaults['comment_notes_after'] = '';
    
    return $defaults;
    
    }
    
  5. Comment spams can be reduced by eliminating all direct requests to your blog’s comments-post.php file. This will block the automated scripts and will not allow them to bypass your comment form. You can achieve it with placing this php function in your functions.php file

    function check_referrer() {
        if (!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] == '') {
            wp_die(__('Any Message'));
        }
    }
    add_action('check_comment_flood', 'check_referrer');