Every business website needs a way for visitors to get in touch. Without a contact form, potential customers have to copy your email address, open their email client, and send a message manually — friction that costs you leads.
A contact form on your WordPress site makes it effortless: fill in a name, email, and message, click Send. Submission arrives directly in your inbox.
WordPress doesn't include a contact form natively — you add one through a plugin. This guide shows you how to add a contact form using the three most popular options, including a completely free method that requires no plugins at all.
A contact form submission is useless if the notification email never arrives. Before setting up your form, make sure WordPress can reliably send emails.
The problem: WordPress's default email uses PHP's mail() function, which is frequently blocked or spam-filtered by email providers like Gmail, Yahoo, and Outlook.
The fix: Install WP Mail SMTP and configure it to send through a proper SMTP server (Gmail, SendGrid, Brevo). This ensures your contact form notifications actually arrive in your inbox.
WPForms Lite is the most beginner-friendly contact form plugin, with 6+ million active installs. The free version provides a drag-and-drop form builder perfect for simple contact forms.
Plugins → Add NewThe form opens in WPForms' drag-and-drop builder. You can customise it:
{admin_email}Contact Form 7 has been the most-installed WordPress contact form plugin for over a decade. It's free, flexible, and widely supported — though its interface is less visual than WPForms.
Plugins → Add New → search Contact Form 7 → install and activateAfter activation, Contact Form 7 creates a default form. Go to Contact → Contact Forms — you'll see "Contact form 1" already created.
Click Edit next to "Contact form 1." The Form tab shows form markup in shortcode syntax:
[text* your-name]
[email* your-email]
[textarea your-message]
[submit "Send"]
How to read this:
[text* your-name] — required text field named "your-name"[email* your-email] — required email field[textarea your-message] — message text area[submit "Send"] — submit buttonTo add fields, add tags like: [tel your-phone] for phone, [select your-subject "General Inquiry" "Support" "Sales"] for dropdown.
Important: Add labels above each field for accessibility:
<label>Your Name</label>
[text* your-name]
<label>Your Email</label>
[email* your-email]
<label>Your Message</label>
[textarea your-message]
[submit "Send"]
Click the Mail tab:
[your-name] <[email protected]>Contact Form from [your-name][your-email] — lets you reply directly to the sender[contact-form-7 id="123" title="Contact form 1"]For the absolute simplest case — a minimal contact form without any plugin — WordPress's native block editor approach works well for very basic needs.
| Factor | WPForms Lite | Contact Form 7 |
|---|---|---|
| Ease of use | ⭐⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| Visual builder | ✅ Drag-and-drop | ❌ Code-based |
| Free features | Basic forms | Basic forms |
| Premium upgrades | Yes | Via add-ons |
| Best for | Beginners | Experienced users |
WPForms → Settings → CAPTCHA. For CF7: add [cf7-recaptcha] to your form.[file your-file] to the form. Note: allowing file uploads requires careful spam and security considerations.
Adding a contact form to WordPress takes under 10 minutes with WPForms. Install the plugin, use the Simple Contact Form template, add it to your Contact page with the WPForms block, and test it.
The one step most people forget: configure SMTP email delivery first. Do that, and your contact form notifications will arrive reliably every time.
Contact us to discuss professional WordPress setup and development