Skip to main content
Cloud Hosting starting at $2.91/mo. Auto-scaling servers with a FREE domain included. Start Now →
Tutorials

How to Set Up a Contact Form on WordPress (Free & Without Code)

Every website needs a contact form. This tutorial walks you through setting one up in WordPress using two popular free plugins: WPForms Lite and Contact Form 7. No coding required.

S

Serverlys Team

Jun 8, 2026 · 6 min read

A contact form is one of the most important elements on any website. It gives visitors a structured way to reach you, filters out spam better than a plain email link, and lets you collect the specific information you need (name, email, subject, message) in a consistent format.

WordPress does not include a contact form by default, but adding one takes about 10 minutes using a free plugin. This tutorial covers two of the most popular options: WPForms Lite (drag-and-drop builder) and Contact Form 7 (code-based, highly customizable). Choose the one that matches your comfort level.

Plugin Comparison: WPForms Lite vs. Contact Form 7

Feature WPForms Lite Contact Form 7
InterfaceDrag-and-drop visual builderText-based markup editor
Ease of useBeginner-friendlyRequires basic HTML knowledge
TemplatesPre-built form templatesDefault form only
Spam protectionBuilt-in + reCAPTCHAreCAPTCHA, Akismet, Honeypot
Active installs6+ million5+ million
PriceFree (Pro from $49/yr)100% Free

Option A: Setting Up WPForms Lite (Recommended for Beginners)

Step 1: Install WPForms Lite

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

Step 2: Create Your Contact Form

  1. Go to WPForms → Add New.
  2. Enter a name for your form (e.g., "Contact Form").
  3. Select the Simple Contact Form template. This pre-builds a form with Name, Email, and Message fields.
  4. The drag-and-drop builder opens. You will see your form with the default fields on the right and available fields on the left.

Step 3: Customize Your Form Fields

Click on any field in the form preview to edit it:

A typical business contact form includes: Name, Email, Phone (optional), Subject (dropdown), and Message.

Step 4: Configure Notifications

  1. Click Settings → Notifications in the form builder.
  2. The "Send To Email Address" defaults to your WordPress admin email. Change it to the email address where you want to receive form submissions.
  3. Customize the email subject line (e.g., "New Contact Form Submission from {field_id='0'}").
  4. You can add multiple notification emails separated by commas to send form submissions to multiple team members.

Step 5: Configure Confirmation Message

  1. Click Settings → Confirmations.
  2. Choose the confirmation type:
    • Message: Display a thank-you message on the same page (recommended).
    • Show Page: Redirect to a specific thank-you page.
    • Go to URL: Redirect to an external URL.
  3. Customize the message text: "Thank you for contacting us. We will respond within 24 hours."

Step 6: Add the Form to a Page

  1. Click Save in the form builder.
  2. Go to Pages and edit your Contact page (or create a new one).
  3. In the WordPress block editor, click the + button to add a new block.
  4. Search for WPForms and select the WPForms block.
  5. Choose your contact form from the dropdown.
  6. Click Update (or Publish) to save the page.

Alternatively, you can copy the shortcode from WPForms and paste it anywhere in your content:

[wpforms id="123"]

Replace 123 with your actual form ID (found in WPForms → All Forms).

Serverlys Tip: For the contact form to send email notifications reliably, your hosting must support PHP mail or SMTP. All Serverlys hosting plans include properly configured email sending. If you experience delivery issues, install the WP Mail SMTP plugin to route emails through your business email account.

Option B: Setting Up Contact Form 7

Contact Form 7 is the original WordPress contact form plugin. It uses a simple markup language to define form fields, giving you more control over the HTML structure. It is completely free with no paid version.

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

  1. Go to Contact → Contact Forms.
  2. Click on Contact form 1 (created automatically during installation).
  3. You will see the form template tab with markup code. The default form includes Name, Email, Subject, Message, and a Submit button.

Step 3: Customize Fields

Contact Form 7 uses special tags to define form fields. Here is the default markup:

<label> Your name
    [text* your-name] </label>

<label> Your email
    [email* your-email] </label>

<label> Subject
    [text your-subject] </label>

<label> Your message (optional)
    [textarea your-message] </label>

[submit "Send"]

To add a phone field, add this anywhere in the form:

<label> Phone number
    [tel your-phone] </label>

To add a dropdown:

<label> Inquiry type
    [select your-inquiry "General Question" "Sales Inquiry" "Support Request" "Partnership"] </label>

Step 4: Configure Mail Settings

  1. Click the Mail tab.
  2. Set the To field to your business email address.
  3. Customize the Subject line: Contact Form: [your-subject].
  4. Edit the Message Body to include the fields you want:
Name: [your-name]
Email: [your-email]
Phone: [your-phone]
Inquiry: [your-inquiry]

Message:
[your-message]

Step 5: Add the Form to a Page

  1. Copy the shortcode shown at the top of the form editor (e.g., [contact-form-7 id="abc123" title="Contact form 1"]).
  2. Edit your Contact page and paste the shortcode into the content area.
  3. Click Update to save.

Adding Spam Protection

Without spam protection, your contact form will be flooded with junk submissions within days. Here are three effective methods:

Google reCAPTCHA v3

  1. Go to google.com/recaptcha/admin and register your site.
  2. Select reCAPTCHA v3 (invisible, no checkbox required).
  3. Copy the Site Key and Secret Key.
  4. In WPForms: Go to WPForms → Settings → CAPTCHA. Paste your keys and select reCAPTCHA v3.
  5. In Contact Form 7: Go to Contact → Integration. Paste your keys under reCAPTCHA.

Honeypot Field

A honeypot is a hidden field that humans cannot see but bots fill in automatically. If the hidden field contains data, the submission is rejected as spam. WPForms Lite includes a built-in honeypot. For Contact Form 7, install the "Honeypot for Contact Form 7" plugin.

Akismet Integration

Akismet is WordPress's built-in spam filtering service. Contact Form 7 integrates with Akismet natively. Add Akismet tags to your form fields to enable filtering:

[email* your-email akismet:author_email]
[text* your-name akismet:author]

"The best anti-spam strategy combines multiple methods. Use reCAPTCHA v3 for bot detection, a honeypot field for simple bots, and Akismet for content-level spam filtering. Together, they block 99%+ of spam."

Testing Your Contact Form

Before announcing your site to the world, test your contact form thoroughly:

  1. Submit a test message. Fill out the form and submit it. Verify you receive the email notification.
  2. Check the confirmation message. Make sure the thank-you message or redirect works correctly.
  3. Test required fields. Try submitting the form with empty required fields. Error messages should appear.
  4. Test on mobile. Open the contact page on your phone and submit a test message. Ensure the form is usable on small screens.
  5. Check spam folder. If you do not receive the email, check your spam folder. Consider using SMTP for more reliable delivery.

Troubleshooting Email Delivery

The most common issue with WordPress contact forms is not receiving the email notifications. This is almost always a server email configuration problem, not a plugin problem.

Solution: Install WP Mail SMTP

  1. Install and activate the WP Mail SMTP plugin.
  2. Go to WP Mail SMTP → Settings.
  3. Enter your From Email (your business email) and From Name.
  4. Choose a mailer: Other SMTP for most hosting accounts.
  5. Enter your SMTP settings (same as your email client settings — see our business email setup guide).
  6. Send a test email to verify it works.

Need help? If you are on Serverlys hosting, our support team can help you configure email sending for your WordPress contact forms. All plans include email hosting and SMTP access at no extra cost. View plans.

Frequently Asked Questions

Which contact form plugin is best for beginners?

WPForms Lite. Its drag-and-drop builder requires zero coding knowledge and comes with pre-built templates. You can create a fully functional contact form in under 5 minutes.

Can I add file upload fields to my contact form?

Yes. WPForms Lite supports file uploads in the free version (limited to certain file types). Contact Form 7 also supports file uploads using the [file] tag. Be cautious with file uploads — set maximum file size limits and restrict allowed file types to prevent abuse.

How do I style my contact form to match my theme?

Both plugins inherit your theme's default form styling. For custom styling, add CSS in Appearance → Customize → Additional CSS. WPForms forms use the class .wpforms-form, and Contact Form 7 uses .wpcf7-form.

Can I save form submissions in WordPress (not just email)?

WPForms Lite does not store entries in the dashboard (that is a Pro feature). For Contact Form 7, install the "Flamingo" plugin by the same author to save all submissions in your WordPress database.

Is it safe to put my email address in a contact form?

Your email address is never displayed to visitors when using a contact form. The form sends the message to your email behind the scenes. This is actually more secure than displaying your email address on your website, which exposes it to email harvesters.

Related Tutorials

WordPress hosting that just works

Pre-installed WordPress, reliable email delivery, free SSL, and 24/7 support. Everything you need to run a professional website.