Skip to content
QualityWordPress

How to Add a Contact Form in WordPress (No Code)

Add a contact form to WordPress without coding. Step-by-step guide covering plugin setup, form building, placement, spam protection, and email notifications.

QualityWordPress 7 min read
Person filling out a contact form on a laptop computer at a desk

Every website needs a way for visitors to reach you. A contact form is cleaner than publishing your email address directly — it prevents scrapers from harvesting it, keeps inquiries organized, and lets you collect exactly the information you need upfront.

The good news: adding a contact form to WordPress requires no coding. A plugin handles all the backend logic. This guide walks you through choosing a plugin, building your form, placing it on a page, protecting it from spam, and making sure you actually receive the messages.

A mailto: link opens the visitor’s default email client. That sounds convenient, but it:

  • Exposes your email address to spam bots
  • Fails for visitors without an email client configured (common on public computers)
  • Gives you no record of the message in WordPress
  • Offers no way to require specific fields or validate input

A form plugin keeps your email private, validates submissions, stores entries in your database (some plugins), and integrates with spam filters.

Choosing a Contact Form Plugin

Several solid options exist. Here is a quick comparison of the most popular:

PluginFree PlanPaid PlanBest For
WPForms LiteYesYesBeginners, polished drag-and-drop UI
Contact Form 7Free onlyN/ADevelopers, no-frills approach
Fluent FormsYesYesFeature-rich free tier
Formidable FormsYesYesComplex forms, calculations
Gravity FormsNoYesEnterprise / advanced integrations

For most beginners, WPForms Lite or Contact Form 7 cover everything you need. WPForms has a friendlier drag-and-drop builder. Contact Form 7 uses a shortcode-based approach that is more manual but highly flexible.

This guide uses WPForms Lite for the step-by-step, then covers how Contact Form 7 differs.

Step 1: Install and Activate the Plugin

  1. Log in to your WordPress dashboard.
  2. Go to Plugins → Add New Plugin.
  3. Search for WPForms Lite.
  4. Click Install Now, then Activate.

You will see a WPForms item appear in your left-hand admin menu.

Step 2: Create a New Form

  1. Click WPForms → Add New.
  2. Give your form a name (e.g., “Contact Form”).
  3. Choose the Simple Contact Form template — it includes Name, Email, and Message fields ready to go.
  4. Click Use Template.

You are now in the drag-and-drop form builder.

Adding and Editing Fields

The left panel shows available fields. Drag any field into the form area on the right. Standard fields include:

  • Single Line Text — good for Name, Subject, Phone
  • Email — validates email format automatically
  • Paragraph Text — ideal for the message body
  • Dropdown / Checkboxes — useful for “Reason for contact” type questions
  • Number — useful if you need a budget or quantity

Click any field in the form to edit its label, placeholder text, and whether it is required. Keep your form short — the fewer fields, the higher the completion rate. Name, Email, and Message is usually enough.

Smartphone screen showing a website contact page with a simple form

Step 3: Configure Notifications

Click the Settings tab at the top of the form builder, then Notifications.

By default, WPForms sends a notification to the admin email address recorded in Settings → General in your WordPress dashboard. Confirm this is the address where you want to receive inquiries.

You can also enable a confirmation email to the submitter by clicking Add New Notification and setting the Send To Email field to {field_id="2"} (the email field’s smart tag). This reassures users their message was received.

Important: Make sure your WordPress installation can actually send email. Many shared hosts restrict outbound mail. Install an SMTP plugin like WP Mail SMTP and connect it to a transactional mail service (Gmail, SendGrid, Mailgun) to ensure reliable delivery. WPForms has a guide on this.

Step 4: Set Up a Confirmation Message

Under Settings → Confirmations, you can control what the visitor sees after submitting. Options include:

  • Message — display a thank-you note on the same page (simplest option)
  • Show Page — redirect to a dedicated thank-you page (better for analytics tracking)
  • Go to URL — redirect to any URL

A simple “Thank you! We’ll get back to you within one business day.” message is usually sufficient.

Step 5: Save and Embed the Form

Click Save in the top right corner. Now you need to place the form on a page.

Embedding With the Block Editor (Gutenberg)

  1. Go to Pages → Add New (or open an existing page like “Contact”).
  2. Click the + block inserter.
  3. Search for WPForms and select the WPForms block.
  4. Choose your form from the dropdown.
  5. Publish or update the page.

Embedding With a Shortcode

If you prefer, copy the form’s shortcode from WPForms → All Forms (it looks like [wpforms id="123"]) and paste it into any Classic block, Text widget, or page builder text module.

Using Contact Form 7

If you choose Contact Form 7 instead:

  1. Install and activate the plugin from Plugins → Add New.
  2. Go to Contact → Add New.
  3. Edit the form markup in the provided text area. Fields use tags like [text* your-name] for a required text field or [email* your-email] for email.
  4. The Mail tab controls the notification email.
  5. Copy the shortcode shown at the top (e.g., [contact-form-7 id="abc123"]) and paste it into your page.

Contact Form 7 is more manual but extremely well-documented. The official Contact Form 7 documentation covers every tag and configuration option.

Spam Protection

Any publicly accessible form will attract spam. There are two main options:

reCAPTCHA

Google’s reCAPTCHA adds a challenge to distinguish humans from bots. WPForms supports both reCAPTCHA v2 (the “I’m not a robot” checkbox) and v3 (invisible background scoring). Connect it under WPForms → Settings → CAPTCHA.

Note: reCAPTCHA v3 is less intrusive but sometimes incorrectly flags real users. v2 is more visible but more reliable.

Akismet

Akismet is a spam-filtering service maintained by Automattic. Install the Akismet plugin, get a free API key (free for personal sites), and it will silently filter spam submissions in the background. WPForms Lite integrates with Akismet automatically when the plugin is active.

Using both reCAPTCHA and Akismet together gives strong protection without a heavy user experience cost.

Honeypot Fields

WPForms and many other form plugins include a hidden “honeypot” field — invisible to humans but filled in by bots. Any submission with the honeypot field populated is discarded. This is enabled by default in WPForms and requires no configuration.

Testing Your Form

Before publishing, always submit a test entry:

  1. Open the page with your form in a browser (not the admin area).
  2. Fill in all fields with real-looking test data.
  3. Submit the form.
  4. Check that the confirmation message appears.
  5. Check your email for the notification.
  6. If you have entry storage enabled, check WPForms → Entries to confirm the submission recorded.

If the notification email never arrives, your server’s mail setup is the most likely culprit — set up WP Mail SMTP as described above.

Accessibility Considerations

A form is only useful if everyone can complete it. A few things to check:

  • Every field has a visible label (not just a placeholder that disappears on focus)
  • Required fields are clearly marked
  • Error messages identify which field has a problem and what to fix
  • The form can be navigated with a keyboard alone

WPForms generates accessible markup by default. If you are customizing form styling with CSS, make sure you do not remove focus outlines or reduce color contrast below WCAG AA guidelines.

More Plugins Worth Knowing

Contact forms are just one category of useful plugin. If you are building out your site, the guide to essential WordPress plugins for beginners covers caching, security, SEO, and backup tools that every new site should consider.

You can also see how we handle contact at this site — visit our contact page for a live example.

Conclusion

Adding a contact form to WordPress takes about ten minutes with the right plugin. Install WPForms Lite or Contact Form 7, build a short form with the fields you need, add spam protection, configure your notification email, and embed it on a page. Test it yourself before you launch, confirm email delivery works, and you are done.

Keep the form simple — visitors fill out short forms, not long ones. Name, email, and a message box get you everything you need to start the conversation.

Related articles

Never miss a free theme

Get new free themes and practical WordPress guides in your inbox.