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.
-
How to Create an Anonymous Feedback Form in WordPress
Build a confidential WordPress feedback form, understand what Core Forms stores by default, and avoid promising anonymity you cannot prove.
Read → -
Client Intake Form Examples for Agencies and Consultants
Build a client intake form that collects scope, access, budget, timing, files, and approval details before the first project meeting.
Read → -
Contact Form vs Email Address: Which Should Your Website Use?
A contact form gives you structured, trackable requests. A visible email address gives visitors a familiar fallback. Most business sites should use both.
Read → -
Contact Us Page Examples That Help Visitors Choose the Right Next Step
Use these contact us page examples to plan the headline, contact options, form, response expectations, trust details, and confirmation flow.
Read → -
Never Collect Card Numbers in a WordPress Authorization Form
A WordPress credit card authorization form should collect approval and job details, then hand payment data to Stripe or another payment provider.
Read → -
Demographic Survey Questions: Age, Income, Gender, and Location
Write demographic survey questions that people can answer accurately, decline safely, and understand without guessing why you need the data.
Read → -
Donation Request Forms: Fields, Examples, and Approval Workflow
Plan a donation request form for sponsorships, in-kind support, grants, and community requests, with clear eligibility and an auditable review workflow.
Read → -
How to Build an Event Registration Form in WordPress
Build a WordPress event registration form for free RSVPs or paid tickets, with guest details, scheduling, payment confirmation, and useful follow-up.
Read → -
Math CAPTCHA: How It Works and When You Should Avoid It
A math CAPTCHA blocks simple bots with an arithmetic question, but it creates accessibility and security limits. See when it works and what to use instead.
Read → -
How to Build a Request a Quote Form in WordPress
Build a WordPress request a quote form that collects scope, quantity, files, location, timing, and budget without forcing every prospect through the same fields.
Read → -
Stripe vs Square for WordPress Payment Forms
Choose Stripe for a WordPress-first online payment form and Square when in-person point-of-sale operations are the center of the business.
Read → -
75 Survey Questions That Produce Useful Answers
Use these 75 survey questions for customer, product, employee, event, and website feedback without leading respondents or exhausting them.
Read → -
Accessible Form Design: Labels, Errors, Focus, and Autocomplete
Build accessible forms with visible labels, fieldsets, instructions, keyboard focus, specific errors, autocomplete, and reliable success feedback.
Read → -
10 Contact Form Examples and the Fields Each One Needs
Ten contact form examples for general inquiries, sales, support, agencies, bookings, media, and more, with exact fields and routing guidance.
Read → -
What Happens After Submit: Confirmation, Email, and Retries
Design the post-submit workflow: server validation, storage, confirmation messages, email, integrations, redirects, retries, and duplicate protection.
Read → -
Form Confirmation Message Examples for Every Submission Outcome
Use these form confirmation message examples for contact, application, booking, payment, download, support, and newsletter forms.
Read → -
Where Users Quit a Form and What to Change First
Diagnose form field drop-off using traffic, starts, last-field events, validation, and action logs, then change the largest measured problem first.
Read → -
Form Validation Messages That Help People Recover
Write specific, accessible form validation messages that explain the error, preserve user input, focus the failed field, and help people recover.
Read → -
Form Progress Bars: When They Help and When They Lie
Use form progress bars when the path is known and meaningful. Avoid misleading percentages, conditional-step errors, and decorative multi-step forms.
Read → -
Hidden Fields in HTML Forms: Useful Data, Not Trusted Data
Learn safe uses for hidden fields in HTML forms, what attackers can change, and which values must be verified on the server.
Read → -
12 HTML Form Examples You Can Copy and Improve
Twelve practical HTML form examples for contact, signup, survey, application, payment, and support workflows, with accessible copy-ready patterns.
Read → -
Short Form vs Long Form: Ask for What You Will Actually Use
Choose a short form or long form by commitment, decision value, and data sensitivity, not by a magic field count.
Read → -
UTM Tracking for WordPress Forms Without Losing the Source
Set up UTM tracking for WordPress forms, preserve campaign context through submission, and compare sources with accepted conversions.
Read → -
Webhook Retries and Idempotency: Prevent Duplicate Actions
Make webhook retries safe with event IDs, idempotent receivers, exponential backoff, fast acknowledgments, action logs, and replay controls.
Read → -
Webhook Signature Verification With HMAC-SHA256
Implement webhook signature verification with HMAC-SHA256, raw request bodies, timestamp checks, constant-time comparison, and secret rotation.
Read → -
How to Build a WordPress Calculator Form With Calculated Fields
Build a WordPress calculator form with calculated fields, safe expressions, live output, server verification, and a complete quote example.
Read → -
WordPress Form Analytics: Views, Starts, Drop-Off, and Completion Rate
Measure WordPress form views, starts, completion rate, validation errors, field drop-off, and attribution without confusing traffic with form quality.
Read → -
WordPress Form CSS: Style Inputs Without Breaking Accessibility
Write WordPress form CSS that preserves labels, focus rings, error states, autofill, mobile controls, dark mode, and browser-native behavior.
Read → -
WordPress Lead-Generation Forms: The Smallest Stack That Works
Build WordPress lead-generation forms with the smallest reliable stack: offer, minimum fields, owned storage, clear follow-up, and measured handoff.
Read → -
How to Build a WordPress User Registration Form Safely
Build a WordPress user registration form with unique-email checks, least-privilege roles, secure password delivery, spam controls, and audit trails.
Read → -
WordPress Payment Form Workflow: Submit, Pay, Confirm, Fulfill
Build a reliable WordPress payment form workflow with server-calculated amounts, pending submissions, verified webhooks, and one-time fulfillment.
Read → -
Build a WordPress Frontend Post Submission Form
Build a WordPress frontend post submission form that saves drafts, sanitizes content, maps custom fields, and keeps publication under review.
Read → -
Address Line 1 and 2: Meaning, Differences, and Examples
Address line 1 holds the street number and name. Address line 2 holds the apartment, suite, or unit. See examples and when to leave line 2 blank.
Read → -
30 Customer Satisfaction Survey Questions That Get Honest Answers
The 30 customer satisfaction survey questions I actually use with clients, grouped by goal — plus the 3 rules that keep answers honest.
Read → -
Contact Form 7 Messages: Every Setting, Explained
Every string Contact Form 7 shows visitors is editable in the Messages tab — no code. Here's what each one controls and how I'd rewrite the defaults.
Read → -
Datepicker vs Timepicker: What Each Field Collects, and When You Need Both
A datepicker collects a date, a timepicker collects a time. Here's how I pick between them, and why I reach for native inputs before any JS widget.
Read → -
Easy Digital Downloads Alternatives (One Speaks EDD's Own API)
Which EDD alternative fits depends on what you sell. If it's one plugin with license keys, an EDD-compatible API means shipped clients keep working.
Read → -
Freemius Alternatives: What Keeping the 7% Actually Takes
At around 7%, Freemius costs a $100k plugin business about $7,000 a year. Here's what that fee actually buys — and what replacing each piece takes.
Read → -
Gumroad Alternatives for Selling Software and Digital Products
Gumroad's flat 10% takes $1,000 of every $10,000 you sell. When a 5% platform or your own Stripe checkout with license keys wins — and when Gumroad still does.
Read → -
Google Forms Alternatives When You Run WordPress
You already pay for hosting and a domain. The best Google Forms alternative is a form on your own site — here's my honest comparison of the options.
Read → -
Gravity Forms Alternatives, From Someone Who Builds Forms Plugins
The right Gravity Forms alternative depends on why you're leaving — price, page weight, or the builder itself. I map each reason to a plugin.
Read → -
How Software License Activation Works: Keys, Limits, Heartbeats
License activation is a handshake: your key, your site URL, a server counting slots. Here's how limits, heartbeats, and deactivation actually work.
Read → -
"How Did You Hear About Us?" — The Question Your Analytics Can't Answer
The exact how did you hear about us survey question I put on client forms, the 7 answer options that work, and where to place it without hurting conversion.
Read → -
Lemon Squeezy Alternatives for WordPress Product Sellers
Lemon Squeezy takes 5% + 50¢ per sale as merchant of record. If you sell WordPress products, self-hosting checkout and licensing keeps that margin.
Read → -
Radio Buttons vs Checkboxes: When to Use Which
Radio = pick exactly one, checkbox = pick any number. I've fixed this on dozens of client forms — here's the rule, the yes/no trap, and the edge cases.
Read → -
Nulled Meaning: What Nulled Plugins Are and Why They're Risky
Nulled means a paid WordPress plugin or theme with license checks removed. Learn the GPL nuance, malware risk, update problem, and safer alternatives.
Read → -
"What Is the Primary Reason for Your Score?" — The NPS Question, Explained
It's the standard NPS follow-up: after your 0–10 rating, the company wants the one factor behind it. Here's how to answer it, and how to ask it right.
Read → -
How to Sell WordPress Themes Without a Marketplace
Marketplaces take a big cut and keep your customer emails. Here's the five-piece stack that sells themes from your own WordPress site instead.
Read → -
A Software License Manager You Can Self-Host on WordPress
A software license manager does four jobs — keys, activations, downloads, expiry. Here's how to self-host all four on WordPress instead of paying a SaaS cut.
Read → -
A Software Licensing API in the EDD Dialect: a Field Guide
The four endpoints every software licensing API needs — check, activate, deactivate, get_version — with curl examples in the EDD dialect Core Forms speaks.
Read → -
How to Sell WordPress Plugins From Your Own Site
Five pieces sell WordPress plugins from your own site: checkout, license keys, updates, customer area, gateway. All five can run inside WordPress itself.
Read → -
How to Stop Google Form Spam (5 Fixes, Plus Their Limits)
Google Forms has no CAPTCHA setting. I walk through the 5 fixes that actually cut google form spam — sign-in, validation, unlisted links — and where each fails.
Read → -
Stripe Fees for Software Sellers, Actually Calculated
Stripe takes 2.9% + 30¢ per US card charge — $1.72 on a $49 license. See the effective rate at four price points, the add-ons, and the refund catch.
Read → -
The ThemeForest License, Explained (Regular vs Extended)
Regular covers one end product users access free; Extended covers one they pay for. How the ThemeForest license really works, plus the GPL twist.
Read → -
What Is a EULA? The Software License Agreement, Explained
A EULA licenses software to a user instead of selling it. Here's what each clause means, how a EULA differs from a ToS, and what software sellers need in one.
Read → -
What Is a Honeypot Field? Invisible Spam Protection, Explained
A honeypot field is a hidden input only bots fill in. Here's how it works, how to add one to any form, and where it fails — from 100+ client forms.
Read → -
Where WordPress Stores Form Submissions (and How to Find Yours)
WordPress core stores zero form submissions — your form plugin does, in one of three places. Here's how to find yours in two minutes, no SQL required.
Read → -
WordPress Form Not Sending Email? Work Through This List
Nine times out of ten your form works fine — the email dies at delivery. Here's the checklist I run on client sites, in the order that finds it fastest.
Read → -
A WordPress Contact Form Without a Plugin (Full Code, Plus the Catch)
Yes, you can build a WordPress contact form without a plugin — I've done it in ~80 lines. Here's the full working code, and the five things it won't do.
Read → -
WPForms Alternatives Worth Your Time
WPForms is fine — the upsell wall isn't. I compare the five WPForms alternatives I'd actually consider, and name which one fits which kind of site.
Read → -
GDPR consent pattern 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 forms
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
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
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
Three ways to wire form submissions to external tools. Each has a sweet spot. Picking the wrong one costs money or maintenance time.
Read → -
25 Core Forms data variables, explained
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 vs 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
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 agencies: handing off 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 → -
Lean WordPress forms for course creators
Course landing pages live or die on funnel speed. Here's the form stack I use on course sites where every kilobyte counts.
Read → -
Headless WordPress forms with Core Forms — the calm way to embed a WP form on Astro, Next.js, Vue, or plain HTML
Use WordPress as a form backend and render the form anywhere — Astro, Next.js, plain HTML, or a mobile webview. Three integration modes, one API key.
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
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 → -
100+ WordPress forms, no 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 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 → -
Why your form emails land in spam
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 isn't enough — what to layer
Akismet is the WordPress default for spam. But it's not a complete solution. Here's the four-layer setup I run on production sites.
Read → -
reCAPTCHA v3 vs Turnstile vs hCaptcha
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
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 Mailchimp vs HubSpot: Which One Fits WordPress?
FluentCRM wins for WordPress-first teams, HubSpot for sales pipelines, and Mailchimp for simpler email marketing. See the pricing and tradeoffs.
Read → -
From Google Sheets to Airtable for forms
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 → -
A fast Mailchimp signup form for WordPress
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 form submissions to Notion in 3 min
Pipe leads, bug reports, and feedback into a Notion database with field mapping. The full setup, with the screenshots and the gotchas.
Read → -
Conditional form fields without 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 the forms-plugin stylesheet bloat
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
AJAX submission is the default in every modern forms plugin. But should it be? When it helps, when it hurts, and how to switch modes.
Read → -
Load a WordPress form without 200 KB of JS
A breakdown of what's in a typical forms plugin's frontend bundle, and how to cut it without losing anything important.
Read → -
Your 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.