Things I figured out the hard way.
Forms, integrations, performance, deliverability, the occasional rant. Written by a WordPress practitioner who spent too long getting these wrong so you don't have to.
-
The GDPR consent pattern that actually works for WordPress forms
Most form GDPR setups are theater. Here's the pattern that holds up to a real audit, with the consent fields, the storage, and the audit trail.
Read → -
Gutenberg block vs shortcode for embedding forms — pick the right one
Both work. They're not equivalent. Here's the rule for when to use the Core Forms block versus the shortcode, with the actual tradeoffs.
Read → -
Migrating from Contact Form 7 — what breaks and what doesn't
Contact Form 7 ships on millions of WordPress sites. Migrating off it is mostly painless. The 5 things that aren't are worth knowing in advance.
Read → -
Save-and-resume on long forms — when it's worth wiring up
Save-and-resume turns a 30-field application form from a 28% completion rate into a 65% one. Here's the data, and the implementation.
Read → -
Webhooks vs Zapier vs native integrations — pick one and stop
Three ways to wire form submissions to external tools. Each has a sweet spot. Picking the wrong one costs you money or maintenance time. Here's the rule.
Read → -
The 25 data variables every Core Forms user should know
Core Forms ships 25+ template variables for emails, redirects, and webhooks. Most users only know three. Here's the full reference.
Read → -
Multi-step forms — when they help, when they hurt
Multi-step forms boost completion on long forms and tank conversion on short ones. The decision is research, not preference. Here's the rule.
Read → -
File uploads on WordPress forms — what nobody tells you
File uploads are a paid add-on in most WordPress forms plugins. Here's why they shouldn't be, and the four things you need to get them right.
Read → -
Forms for small agencies — handing off submissions to clients
How to set up form submissions so your agency clients can manage their own leads, without giving them WordPress admin access. The full pattern.
Read → -
Forms for course creators — capturing leads without breaking funnel speed
Course landing pages live or die on funnel speed. Here's the form stack I use on course sites where every kilobyte counts.
Read → -
When NOT to use a WordPress forms plugin
There's a real ceiling where forms plugins (any of them, including Core Forms) become the wrong tool. Here's where the line is and what to use instead.
Read → -
WP_DEBUG every form submission — a habit that pays for itself
Most form-related bugs are silent failures. Turning on WP_DEBUG plus Core Forms' email log catches them in 30 seconds. Here's the setup.
Read → -
I've built 100+ WordPress forms. I never use a form builder.
After a hundred-plus client form deployments, the visual builder is a tool I've stopped reaching for. Here's what I do instead, and why it scales.
Read → -
Why I bundle every premium feature into the price
Most WordPress plugins charge extra for file uploads, webhooks, and Mailchimp. Core Forms doesn't. Here's the math, and the philosophy.
Read → -
Your WordPress form emails are landing in spam. Here's why.
Form notifications in the spam folder is a deliverability problem, not a forms plugin problem. Here's the four-step fix that actually works.
Read → -
Akismet alone isn't enough — what to layer on top
Akismet is the WordPress default for spam, and for good reason. But it's not a complete solution. Here's the four-layer setup I run on production sites.
Read → -
reCAPTCHA v3 vs Cloudflare Turnstile vs hCaptcha — what I actually run
Three captchas, three privacy stories, three setups. After running all three on production sites for a year, here's what holds up.
Read → -
Send WhatsApp from a WordPress form (and what to do until 4.1 ships)
WhatsApp notifications on form submission are coming in Core Forms 4.1. Here's how to do it today via webhook + Meta Cloud API, and the gotchas.
Read → -
FluentCRM vs HubSpot vs Mailchimp for WordPress form submissions
Three CRMs, three pricing models, three ways form leads land. After running all three on client sites, here's the actual decision matrix.
Read → -
Why I switched my client forms from Google Sheets to Airtable
Google Sheets is the lazy default for form submissions. After a year of clients hitting its limits, I moved everything to Airtable. Here's why.
Read → -
Build a Mailchimp signup that doesn't slow down your homepage
Mailchimp's official embed code is 90 KB on a fresh page. Here's how to wire a Mailchimp signup form that's 4 KB and still does double opt-in.
Read → -
Use Slack as your contact form inbox
Form submissions in your team's Slack channel beat email by a wide margin. Here's how to wire it up and what message format actually works.
Read → -
Send WordPress form submissions to Notion in 3 minutes
Pipe leads, bug reports, and feedback into a Notion database with field mapping. The full setup, with the screenshots and the gotchas.
Read → -
Conditional fields without a single drag-and-drop
How to build show/hide field logic in WordPress forms using HTML data attributes. No builder, no logic graph, no plugin upsell.
Read → -
Stop letting your forms plugin enqueue stylesheets you didn't ask for
Most forms plugins force-load 30-100 KB of CSS on every page, whether the page has a form or not. Here's the audit, and the fix.
Read → -
The honest case for AJAX form submission in WordPress
AJAX submission is the default in every modern forms plugin. But should it be? Here's when it helps, when it hurts, and how Core Forms handles both modes.
Read → -
How to load a WordPress form without 200 KB of jQuery
A breakdown of what's actually in a typical WordPress forms plugin's frontend bundle, and how to cut it without losing anything important.
Read → -
Why your WordPress contact form doesn't need a builder
After 15 years of building forms, I stopped using drag-and-drop builders. Here's the math on what you actually lose, and what you get back.
Read →
Stop reading. Ship a form.
All these notes are from running Core Forms on real client sites. Use code
CFLAUNCH for 20% off either plan.