Guides

Why your website contact form is not working

Short answer

Send one test from a phone, then look in the inbox, in spam, and in the list of messages the form saved. A missing lead can be the message sitting in spam, going to an old address, or never leaving the page. This page is general information. It is not a guarantee that every message will arrive, or that a fix will bring more calls.

What you can do

  1. Send a test and check three places

    Do this before you call anyone. Use a phone, not only the laptop at the shop. A plumber in Medina and a landscaper in Brunswick can use the same steps. Open the page the way a customer would. Fill in every field with a real name, an email you can open, a real phone number, and a short note that says it is a test. Tap Send. Write down the time and the exact words the page shows, including a thank-you line or an error. Then check three places. The inbox that should receive the form. The spam folder of that same inbox. The list of messages the form tool saved. Different tools name that list differently. If you cannot find it, ask the person who set the form up. If the test is in that list and not in the inbox or in spam, the form kept it and the email did not arrive. If the test is not in that list, the form never accepted it, and the inbox was never the problem. Google says some legitimate messages may be marked as spam, and that marking a valid message as not spam means later messages from that sender should go to the inbox. WordPress.org says a message may have been routed to a spam folder, or discarded. Check spam before you decide the form is dead.

    Source: Email sender guidelines (Gmail Help); Mail (WordPress.org)

  2. Read the address the form sends to

    Open the form settings, or ask the person who can, and read the address that receives submissions. Compare it with the inbox you actually open. An old address, a former employee's inbox, or a typo sends the lead somewhere you will not see. That is a different problem from a form that never sends. On WordPress, also read the From address, which is the address the message claims to be from. WordPress.org says the default From address is wordpress@ followed by the site domain, and the From name is WordPress. It says to use a valid email address whose mailbox exists. Some older mail systems check that the From address can receive mail. WordPress.org says that check is less common now, and still recommends a real mailbox. If you use the default, confirm you can receive mail there. A message can arrive from an address you do not recognize and look like junk. Confirm both addresses: where the form delivers the message, and what it says in From. Changing the From address is a setting or a small code change for the person who edits the site. WordPress.org documents the wp_mail_from filter for that change. Leave the edit to them if you do not see a screen you understand.

    Source: Mail (WordPress.org)

  3. On WordPress, see how the mail is sent

    If the site is WordPress, the function that sends mail is wp_mail(). WordPress.org says it sends an email in a way similar to PHP's mail function. A true result does not automatically mean the person received the email. It only means the method used was able to process the request without any errors. A thank-you line on the form can appear in that case, and the message can still sit in spam or be discarded. WordPress.org says WordPress has never provided a mail server of its own by default. By default, wp_mail() tells the PHPMailer library to use PHP's mail() function, which needs a sendmail-compatible program on the server. WordPress.org says that on managed hosting there is typically nothing extra that needs to be done to send email, and that you should still ask the host about deliverability. Ask whether the host offers an SMTP relay in its panel. SMTP is a way to hand the message to a mail service instead of to PHP mail(). The phpmailer_init hook is one way code passes SMTP settings to that library. An SMTP plugin from the WordPress.org plugin directory can override the default and send through a remote mail service. If you do not already see a mail or SMTP screen you understand, ask the host or the person who edits the site which path the form uses. Do not paste a password into a random plugin until you know the host expects it.

    Source: wp_mail() (WordPress.org developer reference); phpmailer_init (WordPress.org developer reference); Mail (WordPress.org)

  4. Check SPF, DKIM, and DMARC

    These three records live in DNS, the settings that tell the internet about your domain. You do not type them into the contact form. Google's email sender guidelines apply when the message goes to a personal Gmail account, an address ending in @gmail.com or @googlemail.com. Google says every sender must set up SPF or DKIM. Senders of more than 5,000 messages a day to Gmail must set up SPF and DKIM and DMARC. Count your own messages before you assume the bulk rules apply. The all-senders rule still applies when the lead goes to Gmail. Google recommends SPF, DKIM, and DMARC for every sending domain, and says messages that are not authenticated with these methods might be marked as spam or rejected with a 5.7.26 error. If your host shows that code, read it back to them. SPF is a record that lists who may send mail for the domain. Google says messages from a sender that is not in that record are more likely to be marked as spam. DKIM lets the receiving server check that the domain owner sent the message. DMARC tells receiving servers what to do with messages that do not pass SPF or DKIM. For bulk senders, Google says the DMARC policy can be set to none. WordPress.org calls setting up SPF, DKIM, and DMARC a critical step so a message is less likely to be treated as spam, and says your own mail may be rejected as spam if SPF is not configured properly. It also says every server that sends as your domain has to be in the SPF record. Ask the host, or the company that sends the form mail, whether the domain in the From line has SPF or DKIM, and whether the server that actually sends the form is listed. Do not change DNS records while you are guessing. A rushed change can stop the site and the email.

    Source: Email sender guidelines (Gmail Help); Mail (WordPress.org)

  5. See whether a plugin update stopped the form

    WordPress.org lists plugin conflicts among the common causes of a critical error that stops WordPress from running as expected. If the whole site shows "There has been a critical error on this website," that is the case in the guide on a site that is down. WordPress emails the admin address a recovery mode link so an administrator can sign in and see which plugin or theme was paused. The pause does not repair it. If the page still loads and only the form is quiet, and the form is a plugin you updated the same day, treat that update as the first suspect. Turn that plugin off, or ask the person who edits the site to turn it off, and send the test again. Then turn it back on if the test still fails, so you are not guessing. WordPress.org says an SMTP plugin can replace the default mail setup. A conflict there is a mail problem, not proof the form fields are wrong. If you cannot log in, ask the person who can. Leave file edits to them.

    Source: Common WordPress errors (WordPress.org); Fatal error recovery mode in WordPress 5.2 (WordPress.org); Mail (WordPress.org)

    On this site: My business website is down or showing an error

  6. See whether a puzzle or a block stopped a real person

    Send the test the way a customer would, including any checkbox or puzzle the form shows before Send works. If the form refuses to send until that step is done, a customer who cannot finish it never reaches your inbox. If the page says the message was blocked, the form stopped it before email was involved. Use the form tool's list of saved messages to tell the two cases apart. If your test is missing from that list, the form did not keep it. If the row is there and the inbox and spam are both empty, the problem is delivery, which is the mail setup above. Google's note that some legitimate messages may be marked as spam is about email after it is sent. A block on the form is earlier. Leave puzzle settings and spam rules to the person who edits the site if you cannot find a switch you understand.

    Source: Email sender guidelines (Gmail Help)

  7. Try every required field on a phone

    Use the form on a phone, not only on a laptop. web.dev says a field with type tel brings up a keypad meant for telephone numbers, and a field with type email brings up a keyboard with @. The required attribute makes a field mandatory. When you submit, the browser checks that a required field has a value. For an email field, it also checks that the value is a valid email address. MDN says an empty required field is a valueMissing error, and an email field that is not a valid email address is a typeMismatch error. The tel type does not, by itself, require one phone format. A pattern attribute does. MDN says the pattern has to match the entire value, and a value that does not match is a patternMismatch error. A pattern written for ten digits and nothing else will reject a number that includes spaces, parentheses, or a leading +1. MDN also says a minlength attribute rejects a non-empty value that is shorter than that minimum. A short note a customer would actually send can fail that check. If any of these checks fail, the browser blocks the send and shows an error on the first field that failed. web.dev says the wording is not the same in every browser. Look at the field after you tap Send. If an error is showing, the form did not send. Read the message, then try the same form with the number the way you would say it out loud.

    Source: Form fields (web.dev); Help users enter the right data in forms (web.dev); Using HTML form validation (MDN); pattern attribute (MDN); Client-side form validation (MDN)

  8. See whether a script error stopped the send

    MDN says that when a field fails validation, the browser blocks the submit and there is no submit event. MDN also says that if the fields are valid, the browser will submit the form unless something else stops it, and it names JavaScript as one example. web.dev shows a form that listens for submit, calls preventDefault() so the browser does not send the form the normal way, and then sends the data with JavaScript. If that script hits an error after it has stopped the normal send, the message does not go out the normal way. If you tap Send and the page does nothing, with no error on a field and no thank-you line, try a second browser and a phone. A script error is a job for the person who edits the site. Tell them what you tapped and what the page did not do.

    Source: Client-side form validation (MDN); HTML form submit event (MDN); JavaScript and forms (web.dev)

  9. Make the phone number a tel: link

    A contact form and a click-to-call button fail in different ways. MDN says a link can use a tel: URL for a telephone number, and that a cellular device can autodial that number. The same page says tel: behavior varies by device. A computer may open a calling app, save the number, or do something else. A number that is only text is not that link. The customer has to retype it. MDN also says a link should point at a real URL. A button or a link whose address is only #, or a javascript: address, can fail when a script errors or JavaScript is off. A tel: link does not need that script. Tap the number on a phone. If a call does not start, it is not a working tel: link. Put the number on the first screen, where a thumb can hit it. The free checker looks for a tel: link. It does not place a call, and it does not submit your form. The phone guide on this site is the longer check for whether the page fits a phone.

    Source: HTML anchor element, linking to telephone numbers (MDN)

    On this site: How to check if your website works on phones; How to get more calls from a trade website; Free website checker

  10. What you can fix, and when to get help

    You can send the test, read the inbox and spam, read the form's saved messages, and tap the phone number. You can change the receiving address when that setting is on a screen you can open. You can mark a real message as not spam. Hand the rest to the host or to the person who edits the site. That includes SMTP in place of PHP mail(), DNS records for SPF, DKIM, and DMARC, a plugin that errors after an update, a script error, and a pattern on a field that rejects a normal phone number. Do not edit DNS or plugin files while you are guessing. Retest after each change they make. One change at a time is how you learn what helped. If the whole site is down, use the down guide first. A form test cannot tell you anything until the page loads.

    Source: Mail (WordPress.org); Email sender guidelines (Gmail Help)

    On this site: My business website is down or showing an error

  11. A short checklist

    Read this on the site you have now. You sent one test from a phone, with a real name, a real email, a real phone number, and a short note. The test is in the inbox, or you found it in spam and marked it not spam. The form tool's list of saved messages shows the same test. The receiving address is an inbox you open. On a WordPress site, you know whether mail uses PHP mail() or SMTP, and the From address is a mailbox that exists. The domain that sends the form mail has SPF or DKIM, which Google requires for all senders to Gmail. You have asked whether DMARC is set too. Google requires DMARC when you send more than 5,000 messages a day to Gmail, and WordPress.org still recommends it. A puzzle or a block message did not stop the test. Required fields accepted the note you would actually send from a phone. Tapping the phone number on a phone starts a call. If a line fails, that line is the next job.

    Source: Email sender guidelines (Gmail Help)

    On this site: How to check if your website works on phones

  12. Check the page, or ask for help

    If the page loads, start with the free website checker. It reads one public page and reports HTTPS, the response status, and a tel: link. It logs the website address and the score, not personal data. It does not fill in the form, and it does not read your inbox. Website Quick Diagnostic is $19, paid once. An automated PDF within about 1 hour with your speed and mobile scores, the top 5 issues ranked, and a plain fix for each. The $19 is credited toward the $99 Checkup within 30 days. Website Checkup is $99, paid once: a ranked report of what to fix on your website first, covering speed, SEO, mobile, and AI search visibility, delivered within 2 business days. No login is needed. The report goes only to you. If the site is down and there is nothing to check, you get a refund. Those checks describe a page they can fetch. They do not repair a form, move mail out of spam, or edit DNS. If you want a new site, ask on the start page.

    On this site: Free website checker; Website Quick Diagnostic; Website Checkup; Start a site quote

Check a page now

The free website checker reads one public URL. It reports HTTPS, a mobile viewport tag, and whether GPTBot, ClaudeBot, PerplexityBot, and Google-Extended are blocked. It logs the website address and the score, not personal data.

The AI search readiness check is the free look for AI search. It reports whether OAI-SearchBot, ChatGPT-User, and PerplexityBot are blocked, and whether the words are in the server HTML. It logs the website address and the score, not personal data.

Website Checkup is $99, paid once. A ranked report of what to fix on your website first, covering speed, SEO, mobile, and AI search visibility, delivered within 2 business days. No login is needed. The report goes only to you.

FAQ

The form says the message was sent, but my inbox is empty. Did it work?

Not necessarily. WordPress.org says a true result from wp_mail() does not mean the recipient got the email. It means the send method reported no error. Check spam, then the list of messages the form saved. If that list has the test and the inbox and spam do not, the problem is delivery. If the list does not have the test, the message never left the form.

Does a small business contact form need SPF, DKIM, and DMARC?

Google says every sender to a personal Gmail account must set up SPF or DKIM. Senders of more than 5,000 messages a day to Gmail must set up SPF, DKIM, and DMARC. Google recommends all three for every sending domain, and says messages that are not authenticated this way might be marked as spam or rejected. WordPress.org calls SPF, DKIM, and DMARC a critical step so mail is less likely to be treated as spam. Count the messages you send before you treat the form as a bulk sender. The all-senders rule still applies when the message goes to Gmail.

Will fixing the form guarantee more calls?

No. A form that sends, and a phone number a person can tap, make a lead easier to receive. This page is general information. It is not a guarantee that every message will arrive, or that you will get more calls.

The phone number is on the page. Why can people not tap to call?

MDN says a link can use a tel: URL, and that a cellular device can autodial that number. A number that is only text is not that link. A button that depends on a script can also fail when JavaScript errors. Tap the number on a phone. If a call does not start, it is not a working tel: link.

Does the free checker submit my contact form?

No. It reads one public page and reports HTTPS, the response status, and a tel: link, among other public tags. It does not fill in the form, and it does not read your inbox. It logs the website address and the score, not personal data. Website Quick Diagnostic is $19, paid once. An automated PDF within about 1 hour with your speed and mobile scores, the top 5 issues ranked, and a plain fix for each. The $19 is credited toward the $99 Checkup within 30 days. Website Checkup is $99, paid once: a ranked report of what to fix on your website first, covering speed, SEO, mobile, and AI search visibility, delivered within 2 business days.

Can I fix a broken contact form without a new website?

Often, yes, when you can open the form settings, update the receiving address, and send a test. SMTP, DNS records for SPF, DKIM, and DMARC, a plugin conflict, and a script error are jobs for the host or for someone who edits the site. A new site is a separate ask on the start page. The free check and the paid reports do not repair the form.

  • Why your business is not showing up on Google

    A business can be missing from Google because the page is not in the index, because the words you searched are not the words a customer uses, or because the page is blocked. A page can also be in the index and still sit far down the results. The free check on this site reads the public page, and it does not look up a rank.

  • How much a small business website audit costs

    You can check a public page for free. The checker on this site reads one URL, reports what it found, and logs the website address and the score, not personal data. If you want a report that ranks what to fix first, Website Checkup is $99, paid once, and it is delivered within 2 business days.

  • How much does a small business website cost

    If you build it yourself, published US prices checked for this page start at $4 a month on WordPress.com when billed annually, $17.77 a month on Wix Light for a yearly plan, or $19 a month on Squarespace Basic billed annually ($228 for the year). If you hire an agency, Clutch says web design agencies typically charge $2,000 to $100,000, and that most reviewed projects cost less than $10,000. If Telep IO builds it, the founding offer is $500 to set up, then $50 a month. Limited to the first 3 Ohio businesses. The start page splits that setup into two payments and makes the first upkeep month free, which comes to $1,050 in the first year, then $50 a month.

  • What website maintenance costs a small business

    Website maintenance is the work that keeps a live site reachable and current: hosting, domain renewal, SSL, backups, software and plugin updates, security, small content edits, uptime checks, and keeping a Google Business Profile matched to the site. You do not always need a monthly plan. You need one when you will not do that work, or when a fee is the only way the site stays hosted and edited. Other providers set their own prices. This page does not print those prices. The only prices stated here are the ones Telep IO publishes.

  • How to hire a web designer for a small business

    Before you hire, ask who owns the domain and the site, what hosting costs, who edits it later, whether the page works on a phone, whether they will help with a Google Business Profile, and when you will see a first look. Walk away if you will not own the domain, if the contract locks you in, if there is no portfolio you can open, or if the monthly fee does not say what it covers. Other people set their own prices. Ranges vary. The only build price stated here is the one Telep IO publishes.

  • How to get your website back from a web designer

    Start with the domain. The registrar is the company that holds the registration. The registrant is the person or business the record lists as the holder. ICANN's free lookup shows the registrar and the contact data that registrar publishes. A hidden name, or a privacy service, is not proof that you own the name. If a former designer, a relative, or an agency stopped answering, write down the lookup, then ask that registrar about the account or a transfer. If the designer refuses, talk to a lawyer. This page is not legal advice.

  • My business website is down or showing an error

    First check whether the site fails for everyone, or only on your phone and your network. Then match the words on the screen to the usual cause, and contact the person who can fix that cause. This page is general information. It is not a guarantee that a step will bring the site back.

  • Signs your business website needs a redesign

    Redo the site when it no longer matches the business, you cannot edit it, or a customer on a phone cannot read it and call. Many of the usual problems can be fixed without a full rebuild. Old hours, a missing call link, a page that is hard to read on a phone, and an address that is not on HTTPS are often edits. A new look does not, by itself, put the business on Google or on Maps.

  • Does an outdated website hurt your business

    A visitor can miss you when the phone number is wrong, the hours are wrong, the form does not send, the page does not fit a phone, or the browser warns about the connection. An old year in the footer is a reminder to check those facts. Google says content is rated by quality, regardless of age, and that a trivial change to look fresh has no additional value. This page is general information. It is not a guarantee that fixing the page will rank higher or bring more calls.

  • Wix vs Squarespace vs hiring a web designer

    A DIY builder can be the right call when you will finish the page, you will own the domain, and a customer on a phone can tap to call, see the towns you serve, and open your Google Business Profile. Hire when you will not keep the page current, when the number cannot be tapped, or when the domain and the site would sit in an account you do not control. Wix, Squarespace, and the GoDaddy website builder are typical monthly subscription plans. This page does not print their prices. Other designers set their own prices. The founding offer is $500 to set up and $50 a month, limited to the first 3 Ohio businesses. Hosting and ordinary upkeep are included. You see a demo of your own site before you pay.

  • How to check if your website works on phones

    Open the site on a phone you already own and try to call the business from the page. If you have to pinch and zoom, or you cannot find the number, the page is hard to use on a phone. A viewport tag tells the browser to use the screen width. It is a setup signal, not a grade of the layout.

  • Why your small business website is slow

    A page feels slow when the main photo or the headline takes too long to appear, when a tap does nothing for a moment, or when the page jumps while it loads. You can test that for free with PageSpeed Insights. It runs a lab test called Lighthouse, and it can show real Chrome visits from the last 28 days when enough people have used the page. This page is general information. It is not a guarantee that a faster page will rank higher or bring more calls.

  • Broken links on my small business website: how to find and fix them

    A menu item that opens a page not found screen does not show the jobs, the towns, or the phone number on that page. A customer can leave before they call. MDN calls that screen a 404 when the server cannot find the page. Google says a 404 will not, in general, hurt search performance when the address should not exist. A link you still show in the menu is worth fixing because a person taps it. This page is general information. It is not a guarantee that fixing the link will rank higher or bring more calls.

  • My website says coming soon or under construction

    A customer who opens the address and sees coming soon, under construction, a parked page, or a builder message that the site was not found does not see the jobs, the towns, or a phone number to tap. Someone who found the business on a Google listing, or who heard the name from a neighbor, can leave before they call. Google says a success code does not guarantee indexing. A placeholder with little content about the business can look like a page Google excludes from Search when Google treats it as a soft 404. A private or unpublished builder site can also stay out of search results. The builder help page says which setting does that. This page is general information. It is not a guarantee that publishing the real page will rank higher or bring more calls.

  • My website was hacked and is showing spam

    A plumber, a roofer, a landscaper, or a contractor can open the site and find pages about gambling, pills, or a language the business does not use. Google results can show a spam title, or the words "This site may be hacked." The browser can say "Deceptive site ahead." The address can send people to another site. WordPress can show "There has been a critical error on this website." A warning scares the person who was about to call. Google says hacked content is placed on a site without permission, and that it tries to keep that content out of search results. Google also says sites that violate its spam policies may rank lower or not appear in results at all. Hacked content is one of those policies. This page is general information. It is not a guarantee that cleaning the site will remove a warning, rank higher, or bring more calls. Treat it as general guidance. If you are not sure which files are the real site, hire help or ask the host.

  • Can ChatGPT and other AI tools find your business

    An AI tool can mention your business when it has public information to use, or when a person typed the facts in. A robots.txt file can ask specific crawlers to stay off the site. That file is a request, not a record of what a tool has already saved. Blocking one crawler does not block every AI product.

  • Is a Facebook page enough without a website

    A Facebook page is not a website you control. Google's guidelines say the website on a Business Profile should represent the business, and they say not to use a page created on a social media site as that website. A site you control can name the work, the towns, and a phone number a person can tap.

  • What a small business website should include

    A local site should say what you do, name the towns you actually serve, and put a phone number a person can tap. It should also load on a phone. That is not a promise of a ranking or a set number of calls.

  • How to show up on Google Maps for your town

    Map results come from a Google Business Profile, which is separate from the website. Google says that when you add and verify a Business Profile, customers can find the business on Search and Maps, and that only verified businesses can show their info there. A website does not create the profile. This page does not create it for you.

  • How to get more Google reviews

    Ask a real customer after the job is done, and give them a direct review link from your Google Business Profile. Google lets you share that link, or a QR code, in a text or email, on a receipt, and at the counter. Do not pay for a review, do not offer a discount for one, and do not ask only the people who already said they are happy.

  • How to get more calls from a trade website

    A website does not promise a set number of calls. For an HVAC company, a plumber, or a landscaper, the page can make the call easy: the number is tappable, the jobs are named, and the towns are the ones you drive. If those facts are buried, the person on the phone has to hunt.

Know an owner who needs this? Share it on X, Facebook, or LinkedIn.

Local Web Tips

A monthly email of short practical website tips for Ohio small businesses and trades. One email a month. Unsubscribe anytime.

What you get. Privacy