Better WordPress reCAPTCHA (with no CAPTCHA reCAPTCHA)

This plugin utilizes Google reCAPTCHA to help your blog stay clear of spams. BWP reCAPTCHA supports no CAPTCHA reCAPTCHA, Contact Form 7 and Akismet.

In the 21th century, spamming could be one of the most annoying problems for a
website. Especially if you use some publishing platforms like WordPress, your
blog WILL be spammed and no default methods will save you from such nightmare.
This plugin utilizes the popular anti-spam library, Google reCAPTCHA, to help
your blog stay clear of spams.

The new no CAPTCHA reCAPTCHA, Contact Form 7 and Akismet are supported out of
the box.

Useful resources

How-to: Add BWP reCAPTCHA to Contact Form 7.

How-to: Add custom translations to reCAPTCHA (version 1 only).

Official Documentation.

Some Features

  • Choose between reCAPTCHA version 2 (no CAPTCHA reCAPTCHA) or the oldschool
  • You can add captcha to comment form, user registration form, site
    registration form and login form.
  • You can add captcha to forms generated by Contact Form 7 plugin:
    • Choose to treat invalid captcha as spam or validation error.
    • Customize the error message when captcha is invalid.
  • Hide captcha for qualified visitors.
  • Comment Form:
    • You can position captcha before or after the comment field.
    • Control how the plugin reacts when captcha response is invalid.
    • Set error message when captcha response is invalid.
  • Theme Features:
    • Ability to use custom CSS rules (new in 2.0.3)
    • reCAPTCHA version 2:
      • Choose between 2 default themes
      • Normal or compact size
      • More than 50 languages
    • reCAPTCHA version 1:
      • Choose between 4 default themes or create your own (sample CSS and images
      • Use built-in languages or add custom translations.
  • Integrate with Akismet for better end-users experience, i.e. “only force a
    CAPTCHA when a comment looks like spam”.
  • WordPress Multi-site compatible: you can set different key pair for each
    site or use a single key pair for all sites.
  • And more…

Support this plugin

Don’t forget to rate this plugin 5 shining stars if you like it, thanks!

Get in touch


  • English (default)
  • Spanish – Espanol (es_ES) – Thanks to Ivan Leomuro!
  • Hungarian (hu_HU). Thanks to Attila Porvay
  • French (fr_FR). Thansk to Christophe GUILLOUX and Raoul Pierre!
  • German (de_DE). Thanks to Andreas Reitberger
  • Croatian (hr). Thanks to Ivan!

Please help translate this plugin!

If you have trouble using this plugin, consider giving the Frequently Asked
page a

Installation Instructions

View instructions with images and video.

2.0.3 (2016-01-13)

  • New Features
    • Allow adding custom CSS rules to control the look and feel of
      recaptcha instances. To enable this feature, navigate to BWP
      reCAPT >> Theme Options
      , choose to enable Custom CSS, and then
      customize the default CSS rules however you like.
  • Enhancements
    • Allow setting a request method to work around the “invalid-json” error.
      With this change fsockopen is preferred to cURL, and will be the first
      to be used to communicate with reCAPTCHA’s server.
  • Other Changes
  • Bugs fixed
    • Fix a bug that results in captcha not showing on certain login pages.
      Affected login pages include:

      • Login page that uses secured HTTP (HTTPS)
      • Login page of a child blog in a sub-directory multisite

2.0.2 (2015-10-30)

  • New Features
    • Add an option to treat invalid captcha as spam or a validation error.
      For more info, see:

      • If you treat invalid captcha as validation error, it is now
        possible to customize the error message shown under the captcha
        as well.
      • Previously, for the recaptcha shortcode tag to work you must add
        it to your form like this: [recaptcha a-field-name]. The field
        name is now optional, but is still needed if you want to show the
        error message.
  • Other Changes
    • Update language template file. If you’re a translator, please help
      translating this plugin! For more info, see:
    • Display recaptcha error code when an unknown error occurs.
    • Show the option to toggle recaptcha version in PHP 5.3.2+ only. This
      means in PHP < 5.3.2 there’s no option to select recaptcha version,
      recaptcha version 1 will always be used. This should affect the theme
      options page as well.
    • Add back support for PHP 5.2.
  • Bugs fixed
    • Should always set a correct width for login/registration form so
      recaptcha fits well inside.
    • Fix recaptcha v1’s display in themes that define table-layout: fixed
    • Auto-detect request method for recaptcha v2 to support server with
      allow_url_fopen disabled.


  • New Features
    • Add support for reCAPTCHA version 2
    • Add support for multiple reCAPTCHA instances per page (reCAPTCHA
      version 2 only)
    • Add an HTTPS setting for reCAPTCHA version 1
  • Enhancements
    • Add support for Contact Form version 4.x
    • Add support for custom login/register paths
    • Add reCAPTCHA before the submit field in comment form for WordPress 4.2
      or higher
    • Use a lower priority when filter the comment_form_defaults filter
      hook so reCAPTCHA can still be added to themes that filter it as well
  • Other Changes
    • Change minimum PHP version required to 5.3.2
    • Show the captcha to all users (including admins) by default
    • Contact Form 7:
      • The shortcode [bwp-recaptcha] has been deprecated, use
        [recaptcha recaptcha-xxx] instead.
      • bwp-recaptcha will continue to work for Contact Form 7 prior to
        version 4.1 (last supported is 4.0.3). bwprecaptcha and
        bwp_recaptcha will still work with version 4.1+, so you won’t
        have to manually update any form if you’re using them.
    • Add a Croatian translation
    • has become an official sponsor for BWP Plugins!
  • Bugs fixed
    • Fix Akismet integration not working properly
    • Don’t output comment form related fields in other forms, which leads to
      extraneous markups in Contact Form 7 forms
    • Create session only when needed and on demand
    • Fix an issue where saving sub blog’s API keys overwrites network’s API
      keys in a multisite installation
  • API
    • BWP_RECAPTCHA::load_captcha_library() has been removed, the PHP
      reCAPTCHA library is now autoloaded whenever needed (for reCAPTCHA
      version 1).

View the full changelog

  1. reCAPTCHA version 1 added to Comment Form.

    reCAPTCHA version 1 added to Comment Form.

  2. reCAPTCHA added to Contact Form 7.

    reCAPTCHA added to Contact Form 7.

  3. reCAPTCHA added to WordPress Login Form.

    reCAPTCHA added to WordPress Login Form.

  4. reCAPTCHA added to Blog Registration Form (multi-site enabled).

    reCAPTCHA added to Blog Registration Form (multi-site enabled).

  5. reCAPTCHA added to Comment Form.

    reCAPTCHA added to Comment Form.