WP Web Hosting Get started

How to set up a WordPress contact form that actually works

A contact form is only useful if real enquiries reach you and spam does not. This guide covers choosing a form tool, stopping spam, fixing delivery and deciding where enquiries end up.

Updated 14 October 2026

Decide what the form needs to do

Before installing anything, write down what you want from the form. A plumber may need name, phone, postcode and a short description of the job. A consultant may want company name and budget range. A café may only need a message box. Every extra field puts some people off, so ask for what you need to reply well and nothing more.

Also decide where each enquiry should go: one inbox, several people, or a system where you track follow-ups. That choice affects which tool you pick.

Your options for adding a form

WordPress does not ship with a contact form, so you need a plugin or a builder that includes one.

OptionGood forWatch out for
Simple free form pluginA basic contact form with few fieldsSome do not store submissions unless you add an extra plugin
Drag and drop form pluginMulti-step forms, conditional fields, file uploadsThe useful features are often in the paid version
Elementor Pro form widgetForms designed inside your Elementor pagesNot included in free Elementor
Embedded form from another serviceSending enquiries straight into a CRM or booking toolStyling can be limited and it loads external scripts

If you already build pages with Elementor, the Pro form widget keeps everything in one place. The Elementor Free vs Pro guide explains what else Pro adds.

Stopping spam without blocking real people

Any public form will attract spam within days. Use layers, starting with the least intrusive.

  1. Honeypot field. A hidden field that people never see but bots fill in. Most form plugins have this as a tick box. It costs your visitors nothing.
  2. Invisible challenge. Services such as Cloudflare Turnstile or Google reCAPTCHA check visitors in the background and only show a puzzle when something looks suspicious. Note that these load third-party scripts, which matters for your privacy notice and cookie approach.
  3. Content filtering. Some form plugins can check submissions against an anti-spam service or block messages containing links or certain words.
  4. Rate limits. Limit how often the same address can submit in a short time.

Avoid visible puzzles as a first step. They frustrate genuine customers, especially on mobile.

Making sure enquiries actually arrive

The most common complaint about WordPress forms is that the form says "thank you" but no email arrives. The form worked; the email did not. Three settings cause most of the trouble.

Send from your own domain

Set the form's "From" address to an address on your own domain, such as enquiries@yourbusiness.co.uk. Many forms default to using the visitor's email address as the sender. Receiving mail servers see a message claiming to be from a Gmail address but coming from your web server, and treat it as forged.

Use Reply-To for the visitor's address

Put the visitor's email in the Reply-To field instead. You still click reply and answer them directly, but the message passes basic checks.

Send through a proper mail route

WordPress sends mail through the web server by default, which is often unreliable. An SMTP plugin connected to your mailbox or a sending service fixes most delivery problems, especially when your domain has SPF and DKIM records in place. The guide on WordPress not sending email walks through the fix step by step.

Where enquiries are stored and handled

Store every submission, not just the email

Email is a notification, not a record. Messages get deleted, filtered or lost when a staff member leaves. Make sure submissions are also saved somewhere you control:

  • Choose a form plugin that stores entries in the WordPress database, or add a storage add-on.
  • Check the entries list regularly, especially in the first weeks after launch, and compare it with what arrived by email.
  • Decide how long you keep entries and delete old ones. Holding personal data longer than needed is a data protection issue.

Decide who follows up

For a one-person business, an email to your own inbox may be enough. Once more than one person handles enquiries, or you want to see whether each one was answered, a shared system works better. Options include forwarding to a shared mailbox, connecting the form to a CRM, or using a host that captures enquiries for you.

Whichever route you choose, agree a simple rule for response times and ownership. An enquiry that two people each assume the other has answered is as lost as one that never arrived. A quick weekly look at the stored entries, checking each one against a reply, catches gaps before a customer gives up and calls someone else.

On WP Web Hosting, the WP Managed plan sends enquiries from your site into BonusFlow, where they land as client records alongside your other contact with that person, so nothing sits forgotten in one person's inbox.

Privacy basics for forms

A contact form collects personal data, so a few basics apply in the UK. Explain on or near the form what you do with the information, link to your privacy notice, and only ask for what you need. Do not pre-tick boxes for marketing consent. If you add a marketing sign-up, keep it separate from the enquiry itself. The ICO publishes guidance for small businesses at ico.org.uk, and our guide to UK GDPR and WordPress covers forms, cookies and plugins in more detail. Check the official guidance or an adviser for your own situation.

Test before you rely on it

  • Submit the form yourself from a phone and a laptop.
  • Use a personal address that is not on your domain, and check it arrives and that replying works.
  • Check the confirmation message is clear and tells people when to expect a reply.
  • Repeat the test after any plugin update, theme change or move to a new host.

Frequently asked

Why does my WordPress form say sent but no email arrives?

Usually the email is rejected or filtered because it is sent from the web server, or the From address is the visitor's own email. Send from your own domain, put the visitor in Reply-To and use an SMTP plugin.

Does free Elementor include a contact form?

No. The form widget is part of Elementor Pro. With free Elementor you can place a form from a separate form plugin on your page instead.

Is reCAPTCHA required on a contact form?

No. A honeypot field stops a large share of basic bots without affecting visitors. Add an invisible challenge if spam still gets through.

Should I store form submissions in WordPress?

Yes, as a backup to email. Stored entries mean an enquiry is not lost if the notification fails, but set a sensible retention period and delete old entries.

Your WordPress site, sorted.

Sign up in a minute. WordPress and Elementor are ready when you log in.

Get started
From £14.95/monthGet started