Skip to content

Troubleshooting

Contact Form Not Working? How to Find and Fix It

A broken contact form is easy to miss. The page looks fine, nobody complains — the enquiries just stop. This guide helps you work out what kind of broken it is, fix the usual causes on the platform you use, and make sure you hear about it next time before a week of leads goes missing.

  • A 2-minute test to see what is actually broken
  • Fixes for WordPress, Elementor, Divi, Squarespace and Shopify
  • How to know the next time it breaks
Nicky Christensen, Founder of Sitewatch

By Nicky Christensen· Founder, Sitewatch

01Do this first

Work out what kind of broken it is

"The contact form isn't working" can mean three quite different problems, with different fixes. A two-minute test tells you which one you have.

The test

  1. Open your contact page in a private (incognito) window, so you see what a visitor sees, not a cached or logged-in version.
  2. Fill in the form with a real email address you can check, and press send.
  3. Watch what happens on the page, then check the inbox the form is meant to send to — including spam.

What the result tells you

  • Nothing happens, the button spins forever, or you get an error. The form itself is broken on the page. Usually a plugin conflict, a caching problem, or spam protection that failed to load. See common causes.
  • You see "Thank you, your message was sent" — but no email arrives. The form works; the email doesn't get delivered. This is the most common problem by far, especially on WordPress. Jump to your platform.
  • The email arrives, but in spam. A delivery problem too. The fix is the same: send the form's emails from a properly set up address on your own domain.

Also check the form's own list of entries, if it has one (most form plugins, Squarespace and many builders store submissions). If the entries are there, you haven't lost the messages — they just never reached your inbox.

028 common causes

Why contact forms stop working

Your host won't deliver the email

Critical

Many website hosts limit or block the basic way websites send email. The form says "sent", but the message is dropped or lands in spam. The most common cause on WordPress.

The "from" address doesn't match your domain

Critical

If the form sends as the visitor's address, or as an address on a different domain, inbox providers treat it as suspicious and quietly filter it out.

A plugin or theme update

Critical

An update to the form plugin, the theme or an unrelated plugin clashes with the form. The send button stops responding, or the form disappears.

Spam protection failed

Critical

reCAPTCHA, hCaptcha or a honeypot fails to load or is misconfigured, so every submission is rejected — including real ones.

Caching

Moderate

A caching plugin or CDN serves an old copy of the page, or caches a security token the form needs. The form looks normal and fails when sent.

A security plugin or firewall

Moderate

Some forms send in the background. A security plugin or firewall that blocks that request makes the form fail with a vague error.

Wrong or old recipient address

Moderate

The form still sends to a former employee, an old mailbox or a typo. Everything works — to an inbox nobody reads.

Email or DNS settings changed

Moderate

Moving email provider or changing domain settings can break delivery for the whole domain, forms included.

03Fixes

How to fix it on your platform

WordPress (Contact Form 7, WPForms and others)

If the form says "sent" but nothing arrives, the fix is almost always the same: stop relying on your host to send email. Install an SMTP plugin (WP Mail SMTP, FluentSMTP or Post SMTP) and connect it to a real email account or sending service — Google Workspace, Microsoft 365, or a service like Brevo or Postmark. Then send a test email from the plugin's settings page.

In Contact Form 7, open the form's Mail tab. Make sure the "From" address is on your own domain (for example website@yourdomain.com) and put the visitor's address in "Reply-To" instead. Contact Form 7 shows a warning in the form editor when the settings are likely to cause delivery problems — fix anything it flags.

If the send button just spins, or you see a red error: clear your caching plugin, then temporarily switch off other plugins one at a time to find a conflict. Security plugins that block background requests are a common culprit with Contact Form 7.

Elementor forms

Edit the form widget and open Actions After Submit. Check that "Email" is one of the actions, then open the Email section and confirm the "To" address is correct. Elementor sends through WordPress, so if the email never arrives, the WordPress SMTP fix above applies. If the form shows an error on submit, check the reCAPTCHA keys in Elementor's settings and clear any cache.

Divi contact form

Open the Contact Form module and check the Email field in its settings. If it's empty, Divi sends to the site's admin email address — which may be an address nobody checks. Divi also sends through WordPress, so if messages don't arrive, set up an SMTP plugin as described above. If you use Divi's spam protection or captcha, test that it isn't rejecting real submissions.

Squarespace

Edit the form block and open its Storage settings. Check which email address submissions go to, and that it's one you can still receive. Look in spam, and add Squarespace's sending address to your contacts. Squarespace can also send submissions to Google Drive or a mailing list tool — if a connected account was disconnected, that storage stops too.

Shopify

The contact form sends to your store's contact email. Check it under Settings → Store details (or General on older admin layouts), and make sure it's an inbox you read. If you use a theme or app for a custom contact form, check that app's own settings too — theme updates are a common reason a customised contact page stops sending.

GoDaddy

If your site uses GoDaddy's website builder, open the contact section and check the email address submissions go to. If you run WordPress on GoDaddy hosting, the WordPress SMTP fix above is usually the answer — hosting providers commonly restrict how websites send email.

20

Detection rules

23+

Stack playbooks

Free

1 site

04Never again

How to find out the next time it breaks

Send yourself a test every month

Put a monthly reminder in your calendar to submit your own form and check it arrives. It's the only way to be sure email delivery still works end to end.

Test after every update

Most forms break right after a plugin, theme or site update. Make "send a test message" part of every update.

Watch for a sudden drop

If you normally get a few enquiries a week and suddenly get none, check the form before assuming it's a quiet week.

Have the page checked for you

Sitewatch checks your contact page on a schedule and alerts you when the form or anything it needs to work stops loading — so you hear about it from an alert, not from a customer who gave up.

Contact form FAQ

Stop finding out from customers that your form is broken

Free plan for 1 site. Your contact page checked in minutes.