Skip to content
WordPress Guide

How to Test WordPress Forms Before Your Customers Do

A form can look fine for months while enquiries quietly go missing. This routine checks every form, every route and every inbox in a few minutes a month.

A desk with website wireframes, a phone and coloured pens
9 sections · 6 min read
In this article · 9 sections

Nobody notices when a form stops working. There is no error on the page and no alert in the dashboard; enquiries simply stop, and a quiet week looks like a slow week. Meanwhile the form plugin has updated many times, the theme may have changed, someone who left may still be in the notification settings, and the host may have moved the site to a new server. The only way to check a form is working is to send something through it.

This post is a routine to test WordPress forms properly: every form, every route through it, every place an entry should end up. It takes less time than it reads, and after the first run it becomes a short habit. If a test shows something is broken, our post on a WordPress contact form that is not working takes over from there.

Start with a list of every form

Most sites have more forms than their owners remember. Before testing anything, walk through the site and the form plugin’s list of forms and write down each one. Look in the obvious places and the forgotten ones: the contact page, service pages, the footer, popups, landing pages for old campaigns, a careers page, a booking or quote page, and the newsletter signup.

For each form, note:

What to note Example
Form name and the pages it appears on Quote form: /get-a-quote/ and the footer of service pages
Who receives the notification Sales inbox, plus the owner in copy
Whether entries are stored on the site Yes, in the form plugin’s entries
What else it does Auto-reply to visitor, row added to a Google Sheet, thank-you page
Any rules or steps Different recipient for “Repairs”

Keep this list. It turns every future check into a short job, and it is exactly what a new staff member or support person needs when something goes wrong.

Prepare a test identity

Use an email address that is not one of the addresses receiving notifications, such as a personal webmail account. That way you see the auto-reply exactly as a customer would, and you are not testing mail delivered internally within your own domain, which can succeed even when outside mail fails.

Label every test so nobody acts on it. Put “TEST” in the name field and a line such as “Test submission, please ignore” in the message. Tell anyone who receives enquiries that you are testing, so a test quote request does not get a real phone call.

How to test WordPress forms, one at a time

For each form on the list:

  1. Fill it in as a visitor would, on the live page, while logged out of WordPress. Use a private browser window to be sure.
  2. Check what you see after pressing Send. The confirmation message or thank-you page should appear and make sense.
  3. Check the stored entry, if the plugin keeps entries. Every field should be there, with the answers you typed.
  4. Check each recipient’s inbox. The notification should arrive at every address on your list, in the inbox rather than spam or junk. Ask each person to confirm, not just the one you can see.
  5. Press Reply on the notification. The reply should be addressed to your test email, not to the website’s own address.
  6. Check the auto-reply in your test inbox, if the form sends one. Read it the way a customer would.
  7. Check every connected service. A row in the spreadsheet if the form feeds one, as described in sending a website form to Google Sheets; a contact in the CRM; a subscriber in the mailing list.
  8. Open any uploaded file from the notification or the entry, if the form accepts attachments.

Any step that fails tells you where to look. An entry stored but no email points to delivery. No entry at all points to the form itself. The email arriving in spam points to how the site sends mail.

Test every route, not just the obvious one

A form with choices that change what happens needs one test per route. If picking “Repairs” sends the enquiry to a different person, or reveals extra fields, test that choice as well as the default. A form split into steps needs testing forwards and backwards, with a required field left empty on purpose. The full approach for rule-driven forms is in showing form fields based on answers.

Also try the obvious mistakes a real visitor makes: a mistyped email address, a phone number with spaces and a country code, a long message pasted in from elsewhere. Each should either be accepted or produce a clear error beside the field.

Repeat it on a phone

Plenty of visitors fill in forms on a phone, and some faults only show there. Run at least one test per form on a phone, using mobile data rather than the office Wi-Fi. Watch for:

  • fields or buttons too small to tap, or hidden behind a chat widget or cookie banner;
  • error messages appearing off the visible part of the screen;
  • a challenge such as reCAPTCHA that is hard to complete on a small screen;
  • a thank-you page or popup that does not fit.

Make sure spam protection is not blocking real people

Spam filters can quietly reject genuine enquiries. While testing, submit one entry quickly by pasting the whole message in at once, the way a busy customer would. If your plugin keeps a list of entries marked as spam, look through it for anything real. A balanced approach to filtering, without losing leads, is set out in stopping contact form spam.

When to run the routine

  • After updates to the form plugin, an SMTP plugin, the theme or WordPress itself.
  • After any change to email: a new mail provider, new DNS records, a staff member leaving, a password changed on the sending account.
  • After moving host or changing the site’s address.
  • After editing a form, however small the change.
  • Once a month anyway, even when nothing has changed, because mail settings can change outside your site.

Put the monthly test in your calendar. A full check of every form is part of the routine described in our WordPress owner’s guide, and the other form topics, from choosing a plugin to storing entries, are gathered in a guide to forms on WordPress websites.

Clean up afterwards

Delete the test entries from the form plugin, so they do not clutter exports or sit among real enquiries. Remove the test address from your mailing list and the test contact from any CRM. Delete test rows from spreadsheets. Keep a short note of the date, what you tested and anything that failed. Next month that note shows you whether a problem is new.

Frequently asked questions

Will test submissions affect my analytics conversions?

Yes, a test counts as an enquiry in Google Analytics like any other. A handful a month makes little difference, but you can exclude them. GA4 lets you define internal traffic by IP address and filter it out of reports, which works if you test from a fixed office connection. Otherwise, simply note the dates you tested.

My test arrives but customers say their messages never reached me. Why?

Your test may be taking an easier path than theirs. Mail sent to and from addresses on the same domain can be delivered without the checks outside senders face, and your address may be on a safe list. Test from an outside webmail address, check spam on every recipient, and look at whether the entries are stored on the site.

Can form testing be automated?

Partly. Some monitoring services can submit a form on a schedule and alert you if the expected email does not arrive, and some SMTP plugins keep a log of sent mail or warn about failures. These catch many problems, but a person still needs to look at the form on a phone and read what arrives now and then.

Could a colleague run this routine while I am away?

Yes, most of it. Filling in the form, checking inboxes, pressing Reply and testing on a phone need no WordPress login at all; only the stored entries and the spam list need dashboard access. Share your list of forms with that person so the monthly check still happens when you are not there.

Plenty of form faults begin with an update. Our WordPress monthly maintenance, from ₹1,499 per month onwards, applies updates with care and keeps backups, security and uptime watched, so the background work behind these checks is not yours alone.

Is Your Website Working Properly?

Get a free website health check from WebMaintor. We'll review your website's speed, security, forms, and technical health — and tell you exactly what needs attention.

No obligation. No automated reports. A real review by our team.