WordPress Basics

How to Create a Contact Form in WordPress

Smart WordPress plugins and integrations

How to Create a Contact Form in WordPress is something almost every site owner needs to know. A simple contact page lets visitors reach you without exposing your email address to spambots and keeps messages organized in your inbox.

In this step by step tutorial, you’ll learn how to create a contact form in WordPress using a plugin or block, customize the fields, set up email notifications, and protect your form from spam so you don’t miss important messages.

What You Need Before You Create a Contact Form

  • A self-hosted WordPress site (WordPress.org).
  • Administrator access to your WordPress dashboard.
  • An email address that can receive form notifications.
  • Optional: An SMTP plugin to improve email deliverability.
  • A recent backup before installing new plugins or changing settings.
Always back up your site before you install new plugins or change email settings. If a form or plugin conflicts with your theme, you’ll be able to roll back quickly.

Step 1: Decide What Your Contact Form Needs

Before you install anything, decide what information you actually need to collect. A shorter form usually converts better and is easier for visitors to complete.

  • Basic fields: Name, Email, Message.
  • Optional fields: Subject, Phone, “How did you hear about us?”.
  • Checkboxes: Newsletter opt-in, terms and conditions.
  • Spam protection: Simple math question, honeypot field, or CAPTCHA.

Write down your ideal form layout. This makes it much easier to build the form later without constantly guessing which fields to add or remove.

Step 2: Install a Contact Form Plugin in WordPress

While you can code forms by hand, the easiest way for most users is to use a dedicated contact form plugin. Popular options include WPForms, Contact Form 7, Ninja Forms, Formidable Forms, and others.

  1. In your WordPress dashboard, go to Plugins » Add New.
  2. Search for “contact form” or the name of a specific plugin you prefer.
  3. Click Install Now next to the plugin, then click Activate.
  4. After activation, look for a new menu item in your dashboard like Forms, Contact, or the plugin’s name.
WordPress dashboard showing the 'Contact' menu expanded with 'Contact Forms' and 'Add Contact Form' options highlighted.
Access the ‘Contact’ menu in your WordPress dashboard to start creating your contact form.
You only need one main contact form plugin. Running multiple form plugins can cause confusion, extra load, and sometimes styling conflicts.

Step 3: Create a Contact Form in WordPress with the Plugin

Most contact form plugins give you a drag-and-drop builder or at least a simple form editor. The exact screens differ by plugin, but the steps are similar.

  1. In your dashboard, go to your form plugin menu (for example, WPForms » Add New or Contact » Add New).
  2. Choose a Simple Contact Form template if available, or start with a blank form.
  3. Give your form a clear name like “Main Contact Form”.
  4. Ensure the basic fields are present:
    • Name (single or first/last)
    • Email
    • Message / Your Message
  5. Drag in any extra fields you planned earlier (Subject, Phone, dropdowns, checkboxes, etc.).
  6. Click on each field to edit its label, placeholder, and whether it is required.
  7. Save your form when you are happy with the layout.
Keep your first form simple. You can always come back and add more fields once you see what visitors actually use.

Step 4: Add Your Contact Form to a Page or Post

After you build the form, you need to display it on a page—usually a dedicated “Contact” page in your main navigation.

  1. Go to Pages » Add New (or edit an existing Contact page).
  2. In the block editor, click the + icon to add a new block.
  3. Search for your form plugin’s block (for example, “Contact Form”, “WPForms”, “Form” block).
  4. Select the block and choose your new form from the dropdown list of forms.
  5. If your plugin uses shortcodes instead:
    • Copy the shortcode from the plugin’s form list (for example, [contact-form-7 id="123"]).
    • Paste the shortcode into a Shortcode block or a regular paragraph block.
  6. Add any additional text you want above or below the form (contact details, map, office hours).
  7. Click Publish or Update to save the page.
If you don’t see the form on the front end, clear any caching plugins and your browser cache, then reload the page.

Step 5: Configure Email Notifications for the Contact Form

A contact form is useless if you never receive the messages. Take a moment to verify where submissions are sent and how they look in your inbox.

  1. Open your form in the plugin’s builder and look for a Notifications or Mail tab.
  2. Set the To email address to the one you actually check (for example, info@yourdomain.com).
  3. Adjust the From name and email—often, this should be from your site or a generic address on your domain.
  4. Use merge tags for the subject line if available (for example, “New contact form message from {name}”).
  5. Customize the email body to include all fields submitted by the user.
  6. Save your notification settings.
If emails are not arriving, consider installing an SMTP plugin and sending mail through a reliable mail provider. This greatly improves deliverability compared to the default PHP mail function.

Step 6: Protect Your Contact Form from Spam

Once your form is live, spam bots will eventually find it. A little protection up front saves you time later.

  1. Check your form plugin for built-in honeypot or anti-spam options and enable them.
  2. Add a simple math or checkbox field like “I am human” if your plugin supports it.
  3. Integrate Google reCAPTCHA or hCaptcha if you’re comfortable adding API keys.
  4. Use a security or anti-spam plugin to filter obvious spam submissions sitewide.
  5. Periodically review submissions and adjust your spam filters if needed.
Avoid making the form too hard to use with complicated CAPTCHAs. If it’s annoying for you, it’s annoying for visitors—find a balance between security and usability.

Step 7: Test and Troubleshoot Your New Contact Form

Before you add “Contact” to your menu and forget about it, send a few test submissions to make sure everything works end to end.

  1. Visit your contact page as a regular user (in a different browser or an incognito window).
  2. Fill out the form with test data and submit it.
  3. Check your inbox to see if the email arrives and looks correct.
  4. If no email arrives:
    • Check the spam/junk folder.
    • Verify the notification settings in your form plugin.
    • Test again after configuring an SMTP plugin.
  5. Test the form on mobile to ensure the fields and button are easy to tap.

Quick Comparison of Ways to Add a Contact Form in WordPress

Use this table to choose the best way to add a form based on your skill level and needs.

Method Where You Use It Main Purpose
Form Plugin with Builder Dashboard » Form plugin menu + page editor Drag-and-drop builder to create a contact form in WordPress quickly, no coding needed.
Theme’s Built-in Form Appearance » Customize or theme options Basic built-in form for simple sites without extra plugins (depends on theme features).
Shortcodes from a Plugin Paste shortcode into block editor Embed forms anywhere using shortcodes, including posts, pages, and widgets.
Manual HTML + PHP Custom page template or child theme Full control over form markup and processing for developers comfortable with code.
Page Builder Form Widgets Elementor, Beaver Builder, Divi, etc. Build and style forms visually inside your page builder for complex layouts.

Conclusion: You Can Now Create a Contact Form in WordPress

You’ve learned how to Create a Contact Form in WordPress using a plugin, add it to a page, configure email notifications, and protect it from spam. A working contact form makes it easy for visitors to reach you and helps you look professional.

Start with a simple form that collects only the essentials, then improve it over time as you understand what your visitors need. As long as you test regularly and keep your plugins updated, your contact form will quietly do its job in the background—and you’ll never have to publish your email address on the web again.

Frequently Asked Questions About WordPress Contact Forms

Do I need a plugin to create a contact form in WordPress?

For most users, yes. A contact form plugin is the easiest way to build, manage, and protect your forms without editing code. Developers can also create custom forms in a child theme or custom plugin.

Can I add a contact form without using code?

Absolutely. Modern form plugins provide blocks and drag-and-drop builders. You just install the plugin, create a form, and insert it into a page using a block or shortcode.

Why am I not receiving emails from my contact form?

This usually happens because your hosting server’s default mail function is blocked or flagged as spam. Double-check your form notification settings and consider using an SMTP plugin to send email through a proper mail service.

How can I stop spam through my contact form?

Enable your form plugin’s anti-spam/honeypot feature, add a simple challenge (like a math question), and consider integrating Google reCAPTCHA or a security plugin to filter bots.

Can I add multiple contact forms to my site?

Yes. Most form plugins let you create multiple forms—for example, one general contact form, one support form, and one quote request form and place each on different pages.

Will changing my theme break my contact form?

Usually the form itself will still work because it’s managed by the plugin. However, the styling may change with your new theme. After switching themes, review your contact page and adjust form styling if needed.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button