Written by 4:50 pm Beginner’s Guide, Getting Started with WordPress Views: 10

How to Set Up a Contact Form in WordPress Without Paying for Plugins

Learn how to add a free contact form to your WordPress site using WPForms Lite or Contact Form 7. Step-by-step setup, spam protection with reCAPTCHA, and email delivery fixes included.

How to set up a free contact form in WordPress using WPForms Lite or Contact Form 7

Every WordPress website needs a contact form. Whether you run a blog, a small business site, or a portfolio, visitors expect a way to reach you directly from your website. The good news? You don’t need to spend a single dollar to add a professional contact form to your WordPress site.

In this guide, we’ll walk you through setting up a contact form using two of the most popular free plugins, WPForms Lite and Contact Form 7. We’ll also cover spam protection, email notifications, and common troubleshooting tips.

Why Your WordPress Site Needs a Contact Form

You might wonder, why not just display your email address on a page? Here’s why a contact form is the better choice:

  • Spam protection, Displaying your email publicly invites spam bots. Contact forms hide your address while still letting real people reach you.
  • Professional appearance, A structured form with fields for name, email, and message looks far more professional than a plain email link.
  • Organized inquiries, Forms let you collect specific information (subject, phone number, budget) so you can respond more effectively.
  • Better deliverability, Form plugins can route messages through SMTP, reducing the chance of emails landing in spam folders.

Option 1: WPForms Lite (Easiest for Beginners)

WPForms Lite is the most beginner-friendly contact form plugin for WordPress. It uses a drag-and-drop builder, so you can create forms without touching any code. Over 6 million websites use WPForms, making it one of the most trusted form plugins in the WordPress ecosystem.

Step 1: Install WPForms Lite

  1. Go to Plugins → Add New in your WordPress dashboard.
  2. Search for “WPForms” in the search bar.
  3. Click Install Now on “WPForms – Drag & Drop Form Builder for WordPress” by WPForms.
  4. Click Activate once the installation completes.

Step 2: Create Your First Form

  1. Navigate to WPForms → Add New.
  2. Name your form (e.g., “Contact Form”) and select the “Simple Contact Form” template.
  3. The form builder opens with three pre-configured fields: Name, Email, and Comment or Message.
  4. You can drag additional fields from the left panel if needed, the free version includes text, email, textarea, number, name, and dropdown fields.
  5. Click Save when you’re done.

Step 3: Add the Form to a Page

  1. Create a new page (or edit an existing one) by going to Pages → Add New.
  2. Click the + button to add a block and search for “WPForms”.
  3. Select the WPForms block and choose your contact form from the dropdown.
  4. Click Publish (or Update) to make your page live.

That’s it, your contact form is now live and ready to receive messages.

Option 2: Contact Form 7 (Lightweight and Flexible)

Contact Form 7 (CF7) has been around since 2007 and remains one of the most downloaded WordPress plugins of all time, with over 5 million active installations. It’s lightweight, doesn’t slow down your site, and gives you more control over form markup.

The trade-off? CF7 doesn’t have a visual drag-and-drop builder. Instead, you customize forms using simple shortcode-like tags. It’s still very beginner-friendly once you understand the basics.

Step 1: Install Contact Form 7

  1. Go to Plugins → Add New.
  2. Search for “Contact Form 7”.
  3. Install and activate the plugin by Takayuki Miyoshi.

Step 2: Edit the Default Form

After activation, go to Contact → Contact Forms. You’ll see a default form called “Contact form 1” already created for you. Click on it to customize.

The default form includes fields for name, email, subject, and message. The form template uses simple tags like [text* your-name] and [email* your-email]. You can add new fields by clicking the tag generator buttons above the form editor (text, email, URL, telephone, number, date, textarea, dropdown, checkboxes, radio buttons, and file upload).

Step 3: Configure Email Notifications

Switch to the Mail tab to configure where form submissions are sent. By default, CF7 sends emails to the admin email address configured in Settings → General. You can change the “To” field, customize the subject line, and modify the email body using the mail-tags from your form fields.

Step 4: Embed the Form

Copy the shortcode shown at the top of the form editor (it looks like [contact-form-7 id="abc1234" title="Contact form 1"]). Paste this shortcode into any page or post using the Shortcode block in the block editor.

WPForms Lite vs Contact Form 7: Which Should You Choose?

FeatureWPForms LiteContact Form 7
Drag-and-drop builderYesNo
Template libraryYes (limited in free)No
Shortcode embeddingYesYes
Block editor supportNative blockVia shortcode block
File uploads (free)No (Pro only)Yes
AJAX form submissionYesYes
Performance impactMinimalVery minimal
Best forVisual builders, beginnersDevelopers, minimalists

Our recommendation: If you’re just starting with WordPress, go with WPForms Lite, the visual builder makes it effortless. If you prefer a lightweight solution and don’t mind working with simple markup tags, Contact Form 7 is a solid choice.

How to Protect Your Contact Form from Spam

Spam submissions are the biggest headache with contact forms. Here are three effective ways to block spam without annoying your real visitors.

Google reCAPTCHA v3 (Recommended)

Google reCAPTCHA v3 works invisibly in the background, no checkboxes, no image puzzles. It scores each visitor based on their behavior and blocks bots automatically.

Setting up reCAPTCHA with WPForms:

  1. Go to google.com/recaptcha/admin and register your site for reCAPTCHA v3.
  2. Copy your Site Key and Secret Key.
  3. In WordPress, go to WPForms → Settings → CAPTCHA.
  4. Select reCAPTCHA, choose v3, and paste your keys.
  5. Edit your form and toggle the reCAPTCHA option from the Settings panel.

Setting up reCAPTCHA with Contact Form 7:

  1. Register your site at google.com/recaptcha/admin for reCAPTCHA v3.
  2. In WordPress, go to Contact → Integration.
  3. Click Setup Integration under reCAPTCHA and paste your keys.
  4. Save, reCAPTCHA is automatically applied to all your CF7 forms.

Honeypot Technique

A honeypot is a hidden form field that’s invisible to humans but gets filled in by bots. When the hidden field has a value, the form submission is rejected. WPForms Lite includes a built-in anti-spam honeypot that’s enabled by default. For Contact Form 7, you can install the free Honeypot for Contact Form 7 plugin.

Akismet Integration

Akismet is WordPress’s built-in spam filtering service. Both WPForms and Contact Form 7 integrate with Akismet. If you already have Akismet active on your site (it comes pre-installed with WordPress), your contact form submissions will automatically be filtered for spam content.

Fixing the Most Common Contact Form Problem: Emails Not Being Received

This is the number one issue new WordPress users face with contact forms. You set up the form, test it, but never receive the email. The reason? Most shared hosting servers don’t handle WordPress email delivery reliably. The PHP mail() function that WordPress uses by default often gets flagged as spam or blocked entirely.

The fix: Use an SMTP plugin.

SMTP (Simple Mail Transfer Protocol) routes your emails through a proper mail server instead of your hosting’s PHP mail function. Here’s how to set it up:

  1. Install and activate WP Mail SMTP (free).
  2. Go to WP Mail SMTP → Settings.
  3. Choose a mailer service. For most beginners, “Other SMTP” works with Gmail, Outlook, or any email provider. For better reliability, use Brevo (formerly Sendinblue), they offer 300 free emails per day.
  4. Enter your SMTP credentials and save.
  5. Use the built-in Email Test feature to verify everything works.

After configuring SMTP, your contact form emails will arrive reliably in your inbox instead of getting lost or landing in spam.

Tips for a Better Contact Form Experience

Once your form is working, here are a few quick improvements to make it even better:

  • Keep it simple, Only ask for what you actually need. Name, email, and message are enough for most sites. Every extra field reduces completion rates.
  • Add a confirmation message, Let users know their message was sent successfully. Both WPForms and CF7 display a success message by default, but customize it to match your tone.
  • Set up email notifications to your team, If multiple people need to see inquiries, add additional notification emails in your form settings.
  • Test on mobile, Over 60% of web traffic is mobile. Make sure your form looks good and is easy to fill out on phones.
  • Add a privacy notice, If you’re in the EU or serve EU visitors, add a brief GDPR notice below your form explaining how you’ll use their data.

Beyond the Basics: What the Free Versions Can’t Do

Both WPForms Lite and Contact Form 7 handle standard contact forms perfectly. But if you need more advanced features down the road, here’s what typically requires paid upgrades or additional plugins:

  • Multi-page forms, Breaking long forms into steps (WPForms Pro).
  • Conditional logic, Showing/hiding fields based on user selections (WPForms Pro).
  • Payment integration, Accepting payments via Stripe or PayPal through your form (both have premium add-ons).
  • CRM integration, Automatically sending leads to tools like HubSpot or Mailchimp (available via add-ons for both).
  • Form entries storage, WPForms Lite doesn’t store submissions in your dashboard (only sends emails). CF7 can store entries with the free Flamingo plugin.

For most WordPress sites, blogs, portfolios, small businesses, the free versions are more than enough.

Frequently Asked Questions

Can I use multiple contact forms on the same site?

Yes, both WPForms Lite and Contact Form 7 let you create unlimited forms. You can have different forms for different pages, a general inquiry form on your Contact page, a quote request form on your Services page, and a feedback form on your blog.

Will a contact form plugin slow down my site?

No. Both WPForms Lite and Contact Form 7 are lightweight and well-optimized. They load their CSS and JavaScript only on pages where the form is actually displayed. You won’t notice any performance difference on pages without forms.

Can I customize the look of my contact form?

Both plugins inherit your theme’s default styling, so forms usually look good out of the box. For further customization, WPForms offers styling options in the block editor. Contact Form 7 forms can be styled with custom CSS, many themes include CF7-specific styles.

Do I need a dedicated Contact page?

A dedicated Contact page is recommended because visitors expect to find it in your main menu. However, you can also embed your form in a sidebar widget, footer, or any other page. Having a standalone Contact page improves SEO and makes your site easier to navigate.

What if I switch from one form plugin to another?

Form plugins store data independently, so switching means recreating your forms in the new plugin and updating your pages with the new form embed code. Since contact forms are simple, this usually takes just a few minutes. Just remember to deactivate the old plugin after switching to avoid conflicts.


Setting up a contact form on WordPress takes less than 10 minutes with either of these free plugins. Start with WPForms Lite if you want the easiest experience, or go with Contact Form 7 if you prefer minimal overhead. Either way, you’ll have a professional, spam-protected contact form running on your site without spending anything.

Visited 10 times, 1 visit(s) today

Last modified: February 23, 2026

Close