The site loads fine, but the buttons and form won't respond — what's going on?
If your page looks perfect but nothing reacts to a click, it's almost always a JavaScript error, a plugin conflict or caching. Here's how to diagnose it.
It's one of the most frustrating situations: the site opens, the images show up, the text is all in place — but when you tap a button, nothing happens, and the contact form refuses to send. It looks broken for no reason. The good news is that, in most cases, the culprit is one of three things: a JavaScript error, a conflict between plugins, or caching.
The visual layer (HTML and CSS) and the interactive layer (JavaScript) load separately. That's why a page can look flawless while the logic behind the buttons is completely dead. In this article I'll show you, step by step and without needless jargon, how to figure out which of the three is to blame — and what you can concretely do about each one.
First move: open the browser console
Before anything else, you want to see whether the browser is telling you what's wrong. It almost always is.
- On desktop, right-click the page → "Inspect" (or press F12), then go to the "Console" tab.
- Reload the page, then click the button that won't respond.
If red error lines appear — messages like "Uncaught TypeError", "is not defined", or "Failed to load resource" — you've found your direction. A single JavaScript error can halt all the code that was supposed to run after it, including button clicks and form validation.
You don't need to understand the code. Just note or screenshot the red text. Even if you hand it to whoever manages the site, that message cuts diagnosis from hours to minutes.
Suspect number one: a JavaScript error
Buttons, dropdown menus, sliders and forms all run on JavaScript. If a script loads only partway, gets blocked, or clashes with another, the rest of the interactions fail silently.
Common causes:
- An external script (chat widget, map, marketing pixel, cookie banner) no longer loads because the service is down or its address changed.
- A recent theme or plugin update introduced code that argues with what was already there.
- An ad blocker or a browser extension of yours is blocking the script — test in an incognito window with extensions disabled.
If everything works in incognito, the problem is your browser, not the site. If the error persists in incognito and on your phone too, it's in the site and needs to be fixed at the source.
Suspect number two: a plugin conflict (especially on WordPress)
On sites built from many plugins — typically WordPress — two extensions can load different versions of the same library, or activate in the wrong order. The result is exactly your symptom: a page that looks fine but won't respond.
The classic test, if you have admin access:
- Disable plugins one at a time and check after each whether the button comes back to life.
- When interactivity returns, the last plugin you disabled is the culprit.
- Ideally do this on a test or staging site, not directly on the live one, so you don't leave it broken in front of customers.
Often the culprit is the form plugin itself, or an "optimization" or cache plugin that combines and compresses scripts too aggressively. If you just ran an update, start there.
Suspect number three: the cache is serving you an old version
Sometimes the site is already fixed, but you're still seeing the broken version. The cache — in your browser, in a caching plugin, or at a CDN like Cloudflare — can hold on to an old, incomplete script.
What to try, in order:
- A hard refresh: Ctrl+Shift+R (on Mac, Cmd+Shift+R).
- Open the page in incognito or another browser — if it works there, it's clearly cache.
- If you have a cache plugin, clear it from the admin panel.
- If you use Cloudflare or another CDN, hit "Purge cache".
The golden rule: after any change to scripts, clear the cache before concluding that "it still doesn't work". A great many "the site is broken" panics are solved by a simple purge.
When it's worth calling someone — and how we work
If you've been through the console, incognito and cache and the buttons are still dead, the problem is at the source and needs someone who goes into the code. There's nothing wrong with that — a contact form that won't send means lost customers every day, so it's not something to leave for "later".
At MPO Web Studio we work remotely, across the whole country, and we start from a simple rule: we tell you exactly what was broken and why, not vague talk. We show you the console error and fix the cause, not just the symptom. And if your current site is hard to maintain, we can build you a free demo of a cleaner, faster version up front, so you can see the difference before you pay anything.
If you want a second pair of eyes on the problem, send us a WhatsApp message with your site's address and which button won't work — we'll come back with a first direction.
Frequently asked questions
Why does the site look perfect if it's "broken"?+
Because the visual layer (HTML and CSS) loads separately from the interactive layer (JavaScript). The look can be complete while the code that makes buttons respond is blocked by an error. That's why the page seems intact but nothing reacts to a click.
How do I tell if it's my problem or the site's?+
Open the page in an incognito window with your browser extensions disabled, and try it from your phone too. If it works there, the problem is your browser or extensions. If the buttons stay dead everywhere, it's in the site and needs fixing at the source.
I updated a plugin and now nothing works. What do I do?+
Most likely the update introduced a conflict. If you can, disable plugins one at a time — preferably on a test site — and check after each when interactivity returns. The last one you disabled before the buttons started working is the culprit.
Can clearing the cache break anything?+
No. Clearing the cache just forces the newest version of the files to load. At worst, the first load afterward is slightly slower for a few visitors, then everything is back to normal. It's one of the safest first things to try.
How long does the fix usually take?+
It depends on the cause. A cache to clear or an obvious plugin conflict often gets solved the same day. A JavaScript error buried in the code can take longer, but the console error message shortens the search a lot — that's why we ask for a screenshot of it first.
7 mistakes that drive clients away from your website
Leave your email and get the guide right here, instantly. No spam.
Want to see what your business's website could look like?
Message us on WhatsApp and we'll build you a free demo website with your business name on it. See it first, then decide — no strings attached.