Contact Form 7 Honeypot

Description

This simple addition to the wonderful Contact Form 7 (CF7) plugin adds basic honeypot anti-spam functionality to thwart spambots without the need for an ugly captcha.

The principle of a honeypot is simple — bots are stupid. While some spam is hand-delivered, the vast majority is submitted by bots scripted in a specific (wide-scope) way to submit spam to the largest number of form types. In this way they somewhat blindly fill in fields, regardless of whether the field should be filled in or not. This is how a honeypot catches the bot — it introduces an additional field in the form that if filled out will cause the form not to validate.

Follow us on Twitter and on Facebook for updates and news.

Support can be found here.

Visit the Contact Form 7 Honeypot plugin page for additional information or to buy us a coffee to say thanks.

Localization/Translation

If you’d like to translate this plugin, please visit the plugin’s translate.wordpress.org page. As of v1.10, all translation is handled there. Thank you to the polyglots that contribute!

IMPORTANT NOTES:

If you are using CF7 3.6+, use the latest version of this plugin. If you are using an older version of CF7, you will need to use CF7 Honeypot v1.3.

Installation

  1. Install using the WordPress “Add Plugin” feature — just search for “Contact Form 7 Honeypot”.
  2. Confirm that Contact Form 7 is installed and activated. Then activate this plugin.
  3. Edit a form in Contact Form 7.
  4. Choose “Honeypot” from the CF7 tag generator. Recommended: change the honeypot element’s ID.
  5. Insert the generated tag anywhere in your form. The added field uses inline CSS styles to hide the field from your visitors.

Installation & Usage Video


For the more visually-minded, here is a short video showing how to install and use CF7 Honeypot from the fine folks at RoseApple Media. Note: This video was not produced by the CF7 Honeypot developer.

Altering the Honeypot Output HTML [ADVANCED]

While the basic settings should keep most people happy, we’ve added several filters for you to further customize the honeypot field. The three filters available are:

  • wpcf7_honeypot_accessibility_message – Adjusts the default text for the (hidden) accessibility message.
  • wpcf7_honeypot_container_css – Adjusts the CSS that is applied to the honeypot container to keep it hidden from view.
  • wpcf7_honeypot_html_output – Adjusts the entire HTML output of the honeypot element.

For examples of the above, please see this recipe Gist.

FAQ

Will this module stop all my contact form spam?
  • Probably not. But it should reduce it to a level whereby you don’t require any additional spam challenges (CAPTCHA, math questions, etc.).
Are honeypots better than CAPTCHAs?
  • This largely depends on the quality of the CAPTCHA. Unfortunately the more difficult a CAPTCHA is to break, the more unfriendly it is to the end user. This honeypot module was created because we don’t like CAPTCHAs cluttering up our forms. Our recommendation is to try this module first, and if you find that it doesn’t stop enough spam, then employ more challenging anti-spam techniques.
Can I modify the HTML this plugin outputs?
  • Yep! See the Installation section for more details and this Gist for examples.

Reviews

Stopped Problem Instantly!

Thank you for this great product. The spam bots are still visiting my site but they are longer able to submit their spam and waste my time checking fake emails! Thank you!

Works perfectly

My client’s contact form spam dropped from 60/day to 0 immediately after installation.

Read all 53 reviews

Contributors & Developers

“Contact Form 7 Honeypot” is open source software. The following people have contributed to this plugin.

Contributors

“Contact Form 7 Honeypot” has been translated into these 7 locales: French, Japanese, German, Italian, Dutch, English (UK), English (Canada). Thank you to the translators for their contributions.

Translate “Contact Form 7 Honeypot” into your language.

Interested in development?

Browse the code or subscribe to the development log by RSS.

Changelog

1.10

Updates for Function/Class changes related to CF7 4.6. Removed plugin local language support, instead use translate.wordpress.org.

1.9

Added i18n support, French language pack. Thx chris-kns

1.8

Added wpcf7_honeypot_accessibility_message and wpcf7_honeypot_container_css filters, i18n support.

1.7

Provides backwards compatibility for pre-CF7 4.2, introduces ability to remove accessibility message.

1.6.4

Quick fix release to fix PHP error introduced in 1.6.3.

1.6.3

Updates to accommodate changes to the CF7 editor user interface.

1.6.2

Small change to accommodate validation changes made in CF7 4.1.

1.6.1

Small change to accommodate changes made in CF7 3.9.

1.6

Quite a lot of code clean-up. This shouldn’t result in any changes to the regular output, but it’s worth checking your forms after updating. Also, you’ll note that you now have the ability to add a custom CLASS and ID attributes when generating the Honeypot shortcode (in the CF7 form editor).

1.5

Added filter hook for greater extensibility. See installation section for more details.

1.4

Update to make compatible with WordPress 3.8 and CF7 3.6. Solves problem of unrendered honeypot shortcode appearing on contact forms.

1.3

Update to improve outputted HTML for better standards compliance when the same form appears multiple times on the same page.

1.2

Small update to add better i18n and WPML compatibility.

1.1

Small update for W3C compliance. Thanks Jeff.

1.0.0

  • Initial release.