A WordPress contact form is a must-have for every website. Whether you have a simple blog or an extensive business site, a contact form makes it easy for visitors to get in touch with you without making your email address public. In this article you'll learn why you need a contact form, which plugins are best to use and how to install and customize it step by step.

Why use a contact form?

Having a contact form on your WordPress website offers several advantages:

  • Spam protection: By using a contact form instead of making your email address public, you reduce the chance of spam.
  • Ease of use: Visitors don't need to open an email client; they can send a message directly through your website.
  • Professionalism: A well-designed contact form makes your website more trustworthy and clearer.
  • Automation: You can automatically filter, forward or store messages in your CRM or email marketing tool.

The best WordPress contact form plugins

1. Contact Form 7 (Free)

One of the oldest and most widely used WordPress plugins for contact forms. It's free and offers simple customization options.

2. WPForms (Free & Pro)

WPForms is a user-friendly drag-and-drop form builder with both a free and a premium version. The Pro version offers extra features such as integrations with Mailchimp and Stripe.

3. Gravity Forms (Paid)

For advanced users who need complex forms, such as payments or multi-step forms.

For beginners, we recommend WPForms because of its user-friendly interface and free basic version.

Step by step: installing and setting up Contact Form 7

1. Installing the plugin

  • Go to your WordPress dashboard.
  • Navigate to Plugins → Add New Plugin.
  • Search for Contact Form 7 and click Install Now.
  • Click Activate.

2. Creating a new contact form

  • Go to Contact → Contact Forms in the WordPress dashboard.
  • Click Add New.
  • A default form is generated. This usually contains fields such as name, email and message.

3. Customizing the form

You can add extra fields such as a phone number, dropdowns or checkboxes. An example of custom code:

<label> Name
[text* name]
</label>

<label> Email
[email* email]
</label>

<label> Message
[textarea* message]
</label>

[submit "Send"]

4. Adding the form to a page

  • Copy the shortcode that Contact Form 7 generates (e.g.
    [contact-form-7 title="Contact form"]).
  • Paste the shortcode into a page or post where you want to show the form.

Manual customizations and integrations

You can extend the default functionality of Contact Form 7 with manual code customizations.

1. Styling with CSS

Want to style your form? Add custom CSS:


.wpcf7 input, .wpcf7 textarea {
width: 100%;
padding: 10px;
border: 1px solid #ddd;
border-radius: 5px;
}


2. Adding reCAPTCHA for spam protection

To use reCAPTCHA in Contact Form 7:

  • Go to Google reCAPTCHA and register your website.
  • Add the site key and secret key under Contact → Integration.
  • Add [recaptcha] to your form to reduce spam.

3. Integration with Mailchimp

Want visitors to sign up for your newsletter through your contact form?

  • Use the Contact Form 7 Mailchimp extension.
  • Connect your form to a Mailchimp list with an API key.

Common problems and solutions

1. Emails are not being sent

  • Check whether your hosting supports SMTP. An SMTP plugin such as WP Mail SMTP can help.
  • Make sure your email address matches your domain (e.g. info@yourwebsite.nl).

2. Spam problems

  • Add reCAPTCHA or honeypot protection.
  • Use a plugin such as Akismet to reduce spam.

3. Form is not displayed

  • Check that the shortcode was entered correctly.
  • Test whether there's a conflict with other plugins by temporarily deactivating other plugins.

Conclusion

A WordPress contact form is an essential part of your website. Whether you choose Contact Form 7 or WPForms, the process is simple and offers many benefits. With this guide, you can set up, customize and optimize your own form for a professional look.

Want to get more out of your WordPress website? Then take a look at our WordPress hosting for a lightning-fast and reliable hosting experience!