Back to blog

    WordPress Contact Form Without a Plugin

    Skip Contact Form 7 and WPForms. Add a contact form to WordPress using a Custom HTML block — no plugin, no database bloat, AI spam filtering included.

    WordPress Contact Form Without a Plugin

    Most WordPress contact form tutorials start with "install Contact Form 7" or "install WPForms." Both are fine plugins, but they add database tables, store submissions in WordPress, and require you to manage another plugin. There's a simpler way: a plain HTML form that posts directly to Formboost, using WordPress's built-in Custom HTML block.

    Why Skip the Plugin?

    • No plugin bloat — one fewer plugin to update and maintain
    • Submissions stored externally — Formboost's dashboard, not WordPress's database
    • AI spam filtering — better than WordPress CAPTCHA plugins
    • Webhooks — forward submissions to Slack, your CRM, or any automation without another plugin
    • REST API — read submissions programmatically if needed

    Step 1: Create a Formboost Endpoint

    Sign up at dashboard.formboost.app and create a new endpoint. You'll get a URL like:

    https://formboost.app/f/YOUR_ENDPOINT_ID

    Step 2: Add the Form via Gutenberg

    1. Edit the page or post where you want the contact form
    2. Click Add Block (+) and search for Custom HTML
    3. Paste this into the block:
    1<form action="https://formboost.app/f/YOUR_ENDPOINT_ID" method="POST"
    2  style="display:flex;flex-direction:column;gap:12px;max-width:520px;">
    3
    4  <input
    5    type="text" name="name" placeholder="Your name" required
    6    style="padding:10px 14px;border:1px solid #ccc;border-radius:6px;font-size:15px;" />
    7
    8  <input
    9    type="email" name="email" placeholder="Email address" required
    10    style="padding:10px 14px;border:1px solid #ccc;border-radius:6px;font-size:15px;" />
    11
    12  <textarea
    13    name="message" placeholder="Your message" rows="5"
    14    style="padding:10px 14px;border:1px solid #ccc;border-radius:6px;font-size:15px;"></textarea>
    15
    16  <button type="submit"
    17    style="padding:12px 24px;background:#0073aa;color:#fff;border:none;border-radius:6px;font-size:15px;cursor:pointer;">
    18    Send Message
    19  </button>
    20</form>

    Replace YOUR_ENDPOINT_ID with your actual Formboost endpoint ID.

    Step 3: Add It to a Theme Template (Alternative)

    If you prefer to add it directly to a PHP template, edit your contact page template (e.g., page-contact.php):

    1<form action="https://formboost.app/f/YOUR_ENDPOINT_ID" method="POST">
    2  <p>
    3    <label for="name">Name</label>
    4    <input type="text" id="name" name="name" required />
    5  </p>
    6  <p>
    7    <label for="email">Email</label>
    8    <input type="email" id="email" name="email" required />
    9  </p>
    10  <p>
    11    <label for="message">Message</label>
    12    <textarea id="message" name="message" rows="6"></textarea>
    13  </p>
    14  <p><button type="submit">Send</button></p>
    15</form>

    Then style it in your theme's style.css.

    Step 4: Custom Thank-You Page (Optional)

    After submission, Formboost redirects to a hosted confirmation page by default. To send users to a custom WordPress page, add a hidden field inside the form:

    1<input type="hidden" name="_redirect" value="https://yoursite.com/thank-you" />

    Step 5: Test It

    Visit the page and submit the form. The submission appears in your Formboost dashboard and triggers an email notification within seconds.

    Compare: Formboost vs. Contact Form 7

    FeatureFormboostContact Form 7
    Plugin requiredNoYes
    Spam filteringAI-poweredCAPTCHA (add-on)
    Submission storageFormboost dashboardWordPress database
    WebhooksBuilt-inFlamingo + add-on
    REST APIYesNo
    Slack / DiscordBuilt-inNot available

    Start free — no credit card required →