Back to blog
    By

    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.

    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.

    Key takeaways

    • A contact form does not need a plugin: a Custom HTML block with an action attribute is enough.
    • Skipping the plugin removes a maintenance surface and a common source of WordPress vulnerabilities.
    • Works identically in the block editor, a Classic theme template, or a page builder's HTML widget.
    • No PHP, no wp_mail() configuration, and no SMTP plugin to keep working.

    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
    • Webhooks — push each submission to your own endpoint from the Starter plan

    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
    Works without a pluginYesNo
    Slack / DiscordBuilt-inNot available

    Start free — no credit card required →