In this guide: How to create a contact form in WordPress: choose a form plugin, build your first form, add it to a page, stop spam, and make sure emails get delivered.
A contact form is one of the most important elements on any business website. It turns visitors into leads without exposing your email address to spam bots. In WordPress, you can add a professional form in about two minutes.
Choosing a form plugin
WordPress doesn’t include a contact form by default, so you’ll need a plugin. Popular choices:
- WPForms (Lite is free): drag-and-drop builder, very beginner-friendly.
- Fluent Forms: fast, generous free version with conditional logic.
- Contact Form 7: free and lightweight, but uses a code-like editor.
- Formidable Forms / Gravity Forms: advanced, premium options for complex forms, calculations, and integrations.
- Jetpack Forms: included if you already use Jetpack.
For most beginners, WPForms Lite or Fluent Forms is the easiest starting point.
Building your first form
Using a drag-and-drop plugin:
- Install and activate your chosen plugin (Plugins → Add New).
- Create a new form and choose a “Simple Contact Form” template.
- Keep the fields minimal:
– Name
– Email
– Message
– (Optional) Subject or service dropdown
- Mark required fields — at least email and message.
- Customize the submit button text — “Send Message” or “Get My Free Quote” beats “Submit.”
- Set up notifications: choose which email receives submissions and customize the subject line (for example, “New inquiry from {name}”).
- Set the confirmation: show a thank-you message or redirect to a thank-you page (useful for tracking conversions in Google Analytics).
- Save.
Tip: Every extra field reduces completions. Ask only what you need to respond well.
Adding the form to a page
Most form plugins provide a block:
- Open your Contact page in the editor.
- Click + and search for your form plugin’s block.
- Select your form from the dropdown.
- Add helpful text above it: response time, office hours, and alternative contact options.
- Publish and test.
You can also add forms to your footer, sidebar, service pages, or a popup. Place forms where visitors are ready to act — usually after you’ve explained your offer.
Stopping spam submissions
Contact forms attract bots. Layer these protections:
- Honeypot field: a hidden field bots fill in but humans don’t. Most plugins enable this by default.
- CAPTCHA: Cloudflare Turnstile, Google reCAPTCHA v3 (invisible), or hCaptcha. Turnstile and reCAPTCHA v3 add protection with minimal friction.
- Akismet integration for spam filtering.
- Block disposable email domains or limit submissions per IP (in some plugins).
- Minimum time check: reject forms submitted too fast to be human.
Avoid making humans solve complicated puzzles — it hurts conversions.
Getting emails delivered
The #1 contact form problem: the form works, but emails never arrive. That’s because WordPress sends mail through PHP’s basic mail function, which many email providers flag as spam or reject.
Fix it by setting up SMTP:
- Install an SMTP plugin (WP Mail SMTP, FluentSMTP, or similar).
- Connect it to a proper sending service — your professional email provider or a transactional email service.
- Make sure the “From” address uses your domain (for example,
forms@yourdomain.com).
- Set up SPF, DKIM, and DMARC records for your domain.
- Send a test email.
Full walkthrough: How to Set Up SMTP in WordPress.
As a safety net, enable entry storage in your form plugin (if available) so submissions are saved in your dashboard even if an email fails.
Don’t forget privacy: add a consent checkbox if required in your region and mention how you handle personal data in your privacy policy.
FAQ
Why don’t I receive form emails?
Most likely a deliverability issue. Set up SMTP and check your spam folder.
Can I connect forms to my email list or CRM?
Yes — many plugins integrate with email marketing tools and CRMs, sometimes only in paid versions.
Further reading: official WordPress documentation
Key Takeaways: Contact Form in WordPress
- Use a beginner-friendly plugin like WPForms Lite or Fluent Forms.
- Keep forms short with a clear, action-focused button.
- Stop spam with a honeypot and invisible CAPTCHA.
- Set up SMTP so every message reaches your inbox.