Your WordPress site needs a way for visitors to get in touch. A contact form is essential for any business website, but many people think it's complicated to set up.
It's not. You can add a professional contact form to WordPress in about 10 minutes.
Here's exactly how to do it.
What You'll Learn
By the end of this guide, you'll have:
- A working contact form on your WordPress site
- Email notifications when someone submits the form
- Basic spam protection
- A professional-looking contact page
No coding required. Just following simple steps.
Why Use a Contact Form Plugin?
WordPress doesn't include a contact form by default. You could display your email address, but that's asking for spam.
Contact forms are better because they:
- Protect your email from spam bots
- Look more professional
- Let you collect specific information
- Can include spam filtering
- Keep enquiries organised
Method 1: Using Contact Form 7 (Free)
Contact Form 7 is the most popular WordPress contact form plugin. It's free and works well for basic forms.
Step 1: Install Contact Form 7
- Go to your WordPress dashboard
- Click Plugins > Add New
- Search for "Contact Form 7"
- Click Install Now on the plugin by Takayuki Miyoshi
- Click Activate
You'll see a new "Contact" menu in your dashboard.
Step 2: Create Your Form
Contact Form 7 creates a default form automatically. Let's customise it:
- Go to Contact > Contact Forms
- Click on "Contact form 1"
- You'll see the form code. The default includes:
- Name field
- Email field
- Subject field
- Message field
- Submit button
The code looks like this:
[text* your-name placeholder "Your Name"]
[email* your-email placeholder "Your Email"]
[text your-subject placeholder "Subject"]
[textarea your-message placeholder "Your Message"]
[submit "Send"]
Step 3: Customise Your Form (Optional)
Want to change the form? Here's how:
To make a field required: Add an asterisk (*) after the field type
[text* your-name placeholder "Your Name"]
To add a phone field:
[tel your-phone placeholder "Phone Number"]
To add dropdown options:
[select your-service "Web Design" "SEO" "Hosting" "Other"]
Step 4: Set Up Email Notifications
- Click the Mail tab
- Set where form submissions go:
- To: Your email address
- From: [your-name] <[your-email]>
- Subject: [your-subject]
- Message Body: Keep the default or customise
The square brackets pull information from form fields.
Step 5: Add the Form to Your Page
- Copy the shortcode (looks like
[contact-form-7 id="123"]) - Go to Pages > Add New or edit an existing contact page
- Paste the shortcode where you want the form
- Add a heading like "Get In Touch"
- Publish or update the page
Method 2: Using WPForms (Easier for Beginners)
WPForms has a drag-and-drop builder that's easier to use. There's a free version with basic features.
Step 1: Install WPForms
- Go to Plugins > Add New
- Search for "WPForms"
- Install and activate WPForms Lite
Step 2: Create Your Form
- Go to WPForms > Add New
- Choose the "Simple Contact Form" template
- The form builder opens - you can drag fields around
- Click fields to edit labels and settings
- Save your form
Step 3: Add to Your Page
- Edit your contact page
- Click Add Block and search for "WPForms"
- Select your form from the dropdown
- Publish the page
Much simpler than Contact Form 7's shortcodes.
Adding Your Contact Form to Navigation
Many sites put contact forms on a dedicated contact page. Here's how to add it to your main navigation:
- Go to Appearance > Menus
- Select your main menu
- Add your contact page to the menu
- Save the menu
Your contact form is now easily accessible to visitors.
Essential Form Settings
Spam Protection
Both plugins offer spam protection:
Contact Form 7: Includes basic spam filtering. For better protection, install the Akismet plugin.
WPForms: The free version includes basic captcha. Upgrade for more advanced options.
Email Settings
Make sure your WordPress hosting can send emails. Some hosting providers block outgoing mail to prevent spam.
If form submissions aren't arriving:
- Check your spam folder
- Test with a different email address
- Contact your hosting provider about email settings
- Consider using an SMTP plugin
Form Validation
Both plugins validate email addresses automatically. Required fields (marked with *) must be completed before submission.
Common Issues and Solutions
Forms Not Sending Emails
Problem: You submit the form but don't receive emails.
Solutions:
- Check your spam folder
- Test with different email addresses
- Verify your hosting supports PHP mail
- Install an SMTP plugin like WP Mail SMTP
Form Looks Ugly
Problem: The form doesn't match your site design.
Solutions:
- Check if your theme includes form styling
- Add custom CSS in Appearance > Customize > Additional CSS
- Consider switching to a more user-friendly form plugin
Getting Too Much Spam
Problem: Spam bots are submitting your form.
Solutions:
- Enable captcha protection
- Install Akismet for spam filtering
- Add a honeypot field (invisible field that bots fill out)
Form Fields Not Wide Enough
Problem: Text areas are too small.
Solutions:
- In Contact Form 7, modify the field code:
[textarea your-message 40x10 placeholder "Your Message"] - In WPForms, drag the corner of text areas in the form builder
Making Your Contact Page Better
A contact form alone isn't enough. Your contact page should also include:
- Your business address
- Phone number
- Business hours
- Map (if you have a physical location)
- Response time expectations
This builds trust and gives visitors multiple ways to reach you.
GDPR Compliance
If you serve UK or EU visitors, your contact forms need GDPR compliance:
- Add a privacy notice
- Include a consent checkbox
- Link to your privacy policy
- Explain how you'll use their data
Our privacy policy generator can help create GDPR-compliant policies quickly.
Testing Your Form
Before going live, test everything:
- Fill out the form yourself
- Check you receive the email
- Test on mobile devices
- Try submitting without required fields
- Verify spam protection works
What's Next?
You now have a working contact form. Here are some advanced improvements to consider:
- Set up automated email responses
- Create different forms for different purposes
- Add file upload capabilities
- Integrate with your CRM system
- Set up form analytics
Want a more comprehensive contact system? Consider our WordPress website services where we handle all the technical setup for you.
A good contact form is just the start. Regular website maintenance ensures your forms keep working and stay secure.
Your contact form is now ready to turn website visitors into potential customers. Make sure people can find it easily and watch your enquiries grow.