How to Create a Contact Page for Your WordPress Blog (Step by Step)

How to create a contact page in WordPress

After the homepage and about page, the contact page is the most important page on a blog. It is how readers ask questions, brands propose sponsorships, and other bloggers suggest collaborations, and Google’s quality guidelines treat clear contact information as a trust signal. This guide shows how to build a contact page in WordPress with a free form plugin in about 15 minutes, plus the two steps most tutorials skip: making sure messages actually reach your inbox, and keeping spam out. Updated October 2026 for the block editor.

Why Use a Contact Form Instead of an Email Address?

  • Less spam: bots scrape email addresses from web pages. A form hides your address.
  • Better messages: you can ask for exactly what you need (name, website, reason for contact) so you can reply in one go.
  • Filtering: a “reason for contact” dropdown lets you route sponsorship, support, and general messages into different Gmail labels.

Choose a Form Plugin

All of these are free and work with the block editor:

  • Contact Form 7: 5 million+ installs, lightweight, completely free. Forms are edited as simple text with tags rather than drag and drop. Used in the tutorial below.
  • WPForms Lite: drag and drop builder with templates; the easiest for beginners. Paid plans add advanced fields and integrations.
  • Fluent Forms: drag and drop with a generous free version, conditional logic, and good performance.
  • Jetpack: if you already use it, its Form block adds a simple contact form with no extra plugin.

Step 1: Install Contact Form 7

Go to Plugins > Add New Plugin, search for “Contact Form 7”, click Install Now, then Activate. A new Contact menu appears in the dashboard.

Installing Contact Form 7

Step 2: Create the Form

Go to Contact > Add New and give the form a name (only you see it). The plugin starts you with a working form: name, email, subject, and message fields. Each field is a “tag” in square brackets wrapped in a label. For a simple blog contact page, this default is enough.

Default Contact Form 7 form

Optional: add a “reason for contact” dropdown

Place the cursor above the message field, click the drop-down menu button in the toolbar, tick Required field, give it a name such as reason, and type one option per line (General question, Sponsorship or advertising, Guest post, Support). Click Insert Tag and wrap it in a label. The result looks like this:

<label> Reason for contact
    [select* reason "General question" "Sponsorship or advertising" "Guest post" "Support"] </label>

If you accept guest posts or sponsorships, this one field saves hours of back-and-forth.

Step 3: Set Where Messages Go

Open the Mail tab. The important fields:

Contact Form 7 mail settings
  • To: the address that receives messages.
  • From: leave it as an address on your own domain (for example wordpress@yourdomain.com). Using the visitor’s address here makes your email provider treat the message as spoofed and it often lands in spam.
  • Additional headers: keep Reply-To: [your-email] so clicking Reply answers the visitor directly.
  • Subject: include the reason tag, for example [reason] from [your-name], so you can filter in Gmail.
  • Mail (2): optional auto-reply to the visitor (“Thanks, I reply within two working days”).

The Messages tab holds the success and error text visitors see; the defaults are fine. Click Save.

Step 4: Make Sure Emails Arrive (SMTP)

This is the step most people skip, and the reason many contact forms silently lose messages. By default WordPress sends mail through your web server, which Gmail and Outlook often treat as spam or reject. Install a free SMTP plugin such as FluentSMTP or WP Mail SMTP and connect it to a proper sending service: your Google Workspace or Microsoft 365 account, or a free tier of Brevo, SendGrid, or Amazon SES. Then use the plugin’s Send test email button and submit your own form once to confirm a message arrives.

Step 5: Block Spam

A public form will attract bots. Contact Form 7 integrates with Cloudflare Turnstile and reCAPTCHA v3 under Contact > Integration; Turnstile is free and invisible to most visitors. Add Akismet as well if you already use it for comments; Contact Form 7 checks submissions against it automatically. Those two together stop almost all form spam.

Step 6: Create the Contact Page

Copy the form’s shortcode from the top of the form editor or the Contact Forms list:

Contact Form 7 shortcode
  1. Go to Pages > Add New Page and title it “Contact”.
  2. Write a short intro: what people can contact you about, what you do not respond to (“I do not accept link insertion requests”), and how long you usually take to reply.
  3. Add a Shortcode block (or use the Contact Form 7 block) and paste the shortcode.
  4. Optionally add your social profiles or a business address below the form.
  5. Publish, then add the page to your header or footer menu under Appearance > Menus or the Site Editor’s navigation block.

To show the form in a sidebar or footer instead, add a Shortcode block to that widget area in Appearance > Widgets (or the template part in the Site Editor).

What to Put on a Good Contact Page

  • A one-line welcome and what you are happy to hear about.
  • Clear rules for sponsorships, guest posts, and PR pitches, or a link to a separate “Advertise” page.
  • Your typical response time.
  • Links to your FAQ or support docs if you sell products, so common questions never reach the form.
  • A privacy note: what you do with the information and a link to your privacy policy (required in the EU).

Frequently Asked Questions

Why am I not receiving contact form emails?

Almost always the server mail problem in step 4. Install an SMTP plugin, connect a real sending service, send a test, and check your spam folder. Also make sure the From address is on your own domain.

Do I need a contact page if I have an email address?

A form is better: it hides your address from spam bots and collects the details you need. Many sites show both, with the email as an image or for business inquiries only.

Which is better, Contact Form 7 or WPForms?

Contact Form 7 is lighter and fully free; WPForms is easier with drag and drop and templates. For a simple blog contact form, either works well.

Can I store messages in WordPress as well as email?

Yes. WPForms Pro and Fluent Forms store entries in the dashboard; for Contact Form 7, the free Flamingo plugin from the same developer saves every message.

Comments

2 responses to “How to Create a Contact Page for Your WordPress Blog (Step by Step)”

Leave a Reply

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

  1. Philip Verghese Ariel Avatar
    Philip Verghese Ariel

    Hi Rayhan,
    It is indeed a great joy to meet you again here today. I am so glad that I found you today on twitter. Good to read about this contact plugin tutorial. A contact form is very essential to any blog or website. That really helps the reader or visitor to get in touch with you fast.
    Thanks for the way you presented this tuto.
    Keep sharing.
    All good wishes form Philipscom India.
    Best
    Philip

  2. Liton Biswas Avatar
    Liton Biswas

    Hi Istiak,,
    A blog needs to have some essential pages and the contact page is one of them.
    It gives our readers the ability to contact with us.
    The details tutorial you’ve shared in this post is easy to follow and implement. It’ll be helpful for beginners. Thanks for that.
    However, I created my contact page using the contact form 7 plugin and it does its job best.