Combat Contact Form Spam
Published: October 4, 2019
Last Updated: February 11, 2021
There’s nothing more frustrating than opening up your email in the morning and seeing a new contact form submission has come in off your website and realizing its just another spammer sending you a pitch. Spam, especially in the United States, has become a serious problem. You’re literally being targeted by the entire world! It can be especially bad if your using a highly targeted CMS like WordPress to power your site. This article will go through some tactics to stop contact form spam, regain a little bit of your sanity, and restore hope when checking your new contact form submissions.
Spammers Are Lazy
One great thing I’ve learned is that many spammers are lazy. Many of them are super cheap resources in foreign countries playing the numbers game. The slightest bit of difficulty encountered usually results in giving up and moving on the to the next victim.
When combating spam and trying to stop contact form spam presenting minor difficulties can be an effective method of defending your website.
Blocking Copy Paste
One effective method I’ve seen to stop contact form spam or stop form spam in general is to disable pasting on html textarea fields. Textarea fields are most often going to be your long form description fields where someone actually types the message they want to send to you.
Disabling paste on a field is bad for usability and accessibility so it’s something to be used very sparingly. Textarea fields are going to be where a spammer is most likely to copy their pre-written pitch and paste it into the text area. If they can’t do that they are very unlikely to be determined enough to manually write their entire message into the field and most likely will just close the browser window and move on to the next target on the list.
How To Block Pasting To Stop Contact Form Spam
There are two ways a spammer can paste something into a field, the keyboard and the context menu. The keyboard paste is most often accomplished using the well known ctrl-v command and the context menu paste is accomplished by pressing right click on the mouse within the field and then selecting paste from the context menu. We need to prevent both if we want to stop spammers from blowing up our inbound forms.
This code requires a teensy bit of customization so can’t be blindly copy pasted. There are two things you’ll need to update
In general you’ll want to run this code on document ready but certain plugins, ninja forms for instance, take advantage of that event handler already so you may need to hook into a custom after form ready event or later event. A developer should be able to help you figure this out.
Next you’ll need to choose the form field selector you want to disable the appropriate form fields. This could range from a specific form with an element selected by
#ID or a class that you use to tag all the form fields you want to disable paste on to stop contact form spam.
.stop-spam for instance.
Stopping Contact Form Spam