By platform

WordPress form not submitting: the cached page

Your submit works while you are logged in, so the form looks fine from your side. Simulated visitors arrive signed out, press the button, and show the step where the page stops responding.

5 visitors try to .
First test free with an accountRun it from your coding agent

Why is my WordPress form not submitting?

A form that works for you and fails for visitors is usually being served two different pages. Logged-in owners often skip the page cache, while signed-out visitors can get a saved copy that carries an old security token, so the server refuses the submit or the button does nothing visible. Check it by submitting while signed out, in a private window, with the browser's error console open on the same page. A simulated test does that signed-out submit with several visitors and shows the step where the form stopped responding.

What this looks like in a report

Who
Tobias, who has a sore knee and wants a physio appointment this week
How they arrived
Searched the clinic's name and opened the contact page on a laptop
Where they stopped
Send button, after typing a name and a question

“I pressed send and the button went grey for a moment, then nothing. I tried again and it did the same. I assumed the clinic does not take requests online, so I phoned instead.”

The fix. Clear the page cache in the caching plugin, then submit the form in a private window while signed out and check that a confirmation appears. If it still fails, read the console for the refused request and fix that request's address or token.

An illustration. Run a test to see your own.See a real sample report

Visitors get a saved page with a form token that no longer matches

A WordPress form usually carries a hidden token with the page, which tells the server the submit came from that page and not from somewhere else. Caching plugins store the finished page and hand the same copy to signed-out visitors for a while. If the token inside that copy has expired, the server refuses the submit, and some forms answer with no message at all, so the visitor sees the button return to normal. Your own test passes because your logged-in session is usually served a fresh page. The failure sits in the copy the stranger received, not in the form you can see.

  • Submit the form in a private window, signed out. Does any message appear?
  • Open the browser's error console before you press submit. Does a failed request show up?
  • Clear the site cache in the caching plugin, then submit signed out again. Does it now work?
  • Note the exact point where the form stops: the button, the message box or the send.

Your login gets the fresh page, your visitors get a copy

When you press send after signing in, the request is usually built from a page the server has just produced. A signed-out visitor is more likely to receive a stored copy of the same page, built earlier and possibly for someone else. That copy looks correct. The labels, the layout and the button all appear, so nothing on the screen reveals that the token inside is stale. Owners tend to find this only after a visitor writes in, because their own test passed.

Telling a stale token from a broken script

A stale token and a broken script leave different traces, so do not treat them as one problem. A refused submit usually shows an error response for the form request, which you can see in the browser's network panel for that page. A script error shows a red line in the console before you submit, and it can stop the button from doing anything at all. If the console is clean and the request is never sent, look at the button and the form script before you look at the cache.

Test the two cases in turn. Clear the cache, then submit signed out. If the form works, the copy was the cause. If it still fails with a clean console, the next suspect is the form's own address or a security rule that blocks the request. Do not conclude anything from a logged-in submit, since it skips the copy entirely. Write down the request address and the status it returned, so the fix has something exact to aim at.

What a signed-out visit shows that your login cannot

A signed-out visit is the one that reproduces a stranger's path. It starts with no session, so it gets the same cached page a stranger would get, presses the same button and stops where the stranger stops. A simulated visitor records the step, a screenshot and any failed request on that step, so you can match the stop to the request rather than guess from an inbox that stays empty.

Mimiq is independent and not affiliated with the platforms it names. Names belong to their owners.

What you get with Mimiq

  1. 01

    Run it by hand, or on every pull request

    Paste a link and a task in the app and watch the visitors work. Or run them on every preview deploy: the GitHub Action comments on the pull request, any other CI can call the MCP endpoint, and your coding agent can run it too.

  2. 02

    Bugs and usability problems in one report

    The browser records errors and failed or slow requests on the step they happened. The visitors say where the wording or the steps confused them, and where they left.

  3. 03

    Visitors that behave like your audience

    Each visitor is a different profile with a reason to be there, matched to who the page is for, described by you, or built from your own customers.

  4. 04

    A prompt to fix each problem

    Every problem comes with a fix to paste into Cursor, Claude Code, Lovable or any coding agent, and one prompt hands over the top problems at once. Then send the same visitors through again.

  5. 05

    Follow every visitor

    See each visitor's whole path, step by step with screenshots, and what it was thinking at every step. Ask any visitor a question.

The browser records relevant JavaScript errors and failed or slow app requests encountered during the run, attached to the step where they occurred. The visitors are simulated: they find problems, they do not predict how many real people will convert.

A cache rule can serve the broken form again after you fix it

Clearing the cache fixes the copy in front of you, but the rule that builds the next copy stays the same, so the form can break again on the next cached visit. After each change, run the same signed-out visitors through the contact page and compare how far each one got. Repeat the check after every plugin update, too.

Starter

Try it on one launch

$9 once
120 credits, never expire

About 4 tests of 5 visitors

  • Visitors on your landing page, signup and checkout
  • Where they left and why, with a fix to copy for each problem
  • Run it in the app or on every pull request
  • Ask any visitor a question, included
  • Test accounts and protected previews
Buy 120 credits

Builder

Test every build

$19 a month
500 credits every month

About 20 tests of 5 visitors

  • Everything in Starter
  • Credits refill each month, and what is left rolls over once
  • Cancel anytime
Choose Builder

Pro

Test every release, as a team

$49 a month
1,500 credits every month

About 60 tests of 5 visitors

  • Everything in Starter
  • Credits refill each month, and what is left rolls over once
  • Cancel anytime
Choose Pro

Scale

Test at scale, every day

$149 a month
6,000 credits every month

About 240 tests of 5 visitors

  • Everything in Starter
  • Credits refill each month, and what is left rolls over once
  • Priority support
  • Cancel anytime
Choose Scale
$0for your first test, with a free account (Google sign-in, no card). It includes 50 credits, enough for 10 visitors. After that a visitor uses 5 credits, and packs start at $9 for 120 credits.
See a sample report

Questions

Will clearing my browser cache fix it?

It helps you see a fresh page, but it does not change the copy visitors receive. That copy sits on the server or in a caching layer that visitors share, so clear the site cache, then test signed out.

Can a simulated visitor submit the form?

Yes. A simulated visitor fills the fields, presses the button and reports what happens on that step, including a refused request. If the form sends a confirmation email, the visitor's inbox can receive it, so you can see whether the send completed.

Does this tell me whether the message reaches my inbox?

No. The test shows whether the form responds and where it stops. It does not check your spam settings or how an email service handles the message, and it does not predict how many visitors will send one. Confirm delivery with a message you send through the live form.

Should I turn off caching while I work on the form?

Turning it off while you build is reasonable, but turn it back on before you publish, then test signed out. A form that works with caching off can still fail once the cache is on, and that is the case you need to check.

Keep reading

Send visitors and see what breaks first.

Your first test is free: sign in with Google and it starts right away. Last checked 2026-11-02.

5 visitors try to .