QAlaunch

WordPress mobile menu not working: how to find the cause

A WordPress mobile menu that will not open is almost always one of three things: a caching or optimisation plugin has deferred, combined or delayed the theme’s menu script, another plugin is throwing a JavaScript error before the toggle code runs, or an invisible element is sitting on top of the hamburger icon. Load the page on your phone with ?nocache=1 added to the URL first. If the menu works that way, your optimiser is the cause; if it does not, open the console and inspect the icon.

Opens your site in a real browser on desktop and phone. Free, about two minutes, no signup. Full report from $19.

What you'll see

On a phone the hamburger icon does nothing when tapped, opens and snaps shut again, or only responds on the second or third tap. The desktop navigation is fine, so the owner often never notices until a visitor mentions it. Sometimes the menu works on the home page and fails on posts, or the other way round.

Why it happens

1. An optimisation plugin is holding the menu script back

WP Rocket, LiteSpeed Cache, Autoptimize, Perfmatters and similar tools can minify, combine, defer or “delay JavaScript execution until user interaction”. With delay turned on, the first tap only wakes the scripts up, so the menu needs a second tap, or the combined file breaks the toggle code entirely.

2. A different plugin throws an error first

Browsers stop running a script at the first uncaught error. If a slider, analytics or chat plugin errors out higher in the page, the theme’s navigation handler may never be attached, and the icon becomes decoration.

3. Something invisible covers the toggle

A wide logo, a header widget area, a transparent container or a sticky banner can overlap the icon at phone width. Your finger lands on that layer instead, which is why the menu sometimes works once the logo is removed.

4. Two menu systems fight over one button

Adding a mobile menu plugin on top of a theme that already has its own responsive menu means two scripts react to the same tap. One opens the panel and the other immediately closes it.

How to fix it

  1. On your phone, open the page with ?nocache=1 (or any made-up query string) on the end of the URL. If the menu now works, the cached or optimised version of the page is the problem.
  2. In your optimisation plugin, add the theme’s navigation script to the exclusion lists for minify, combine, defer and delay JavaScript. Theme docs usually name the file, for example navigation.js or a menu bundle. Then purge every cache layer, including the host’s and any CDN.
  3. On a computer, open Chrome DevTools, switch on device mode at 375px wide and watch the Console while you tap the icon. Red errors point to the plugin responsible; the Elements panel shows whether the menu receives its “toggled” or “open” class.
  4. Right-click the hamburger and choose Inspect. If DevTools highlights a logo, container or widget instead of the button, shrink or reposition that element, or give the toggle a higher z-index.
  5. Go to Appearance > Menus (or Appearance > Editor > Navigation on block themes) and confirm a menu is actually assigned to the primary or mobile location.
  6. Install the Health Check & Troubleshooting plugin and use Troubleshooting Mode to switch plugins back on one at a time for your session only, so visitors are not affected while you test.

How to check it's fixed

  • On a real phone and at 375px in DevTools, one tap opens the menu, every link navigates and one tap closes it.
  • Repeat the test on the home page and on an inner page or post, because themes often load different scripts per template.
  • Reload with the console open and confirm no red errors appear before you touch anything.

What a QAlaunch scan shows for this

  • Phone-width screenshots with a visual review that points out a header where the icon is overlapped, cut off or does not fit.
  • JavaScript console errors on the page and failed requests for script files, including combined or minified bundles that 404.
  • Navigation links that return 404 or time out once reached.
  • The scan does not tap through your menu step by step, so a toggle that looks right but does nothing still needs a quick tap test on a phone.

See exactly what a full report contains in the sample report.

Frequently asked questions

Why does my mobile menu need two taps?

That pattern almost always comes from a “delay JavaScript until interaction” option. The first tap is treated as the interaction that loads the scripts, and only the second reaches the menu. Exclude the menu script from delay and it opens first time.

The menu works in the Customizer preview but not on the live site. Why?

The Customizer bypasses page caching and most optimisation, so it shows the untouched page. Visitors get the cached, combined version. That gap is a strong hint the optimiser or a stale cache is involved.

Do I need a separate mobile menu plugin?

Usually not. Most current themes include a responsive menu. Adding a plugin on top is a common source of double toggles, so try fixing the theme’s own menu before layering another one over it.

Done for you · not automated

Rather have a QA engineer test it by hand?

If this is a site you're launching or handing to a client, I'll go through it by hand, including the WordPress-specific issues a scan can't reach, like logged-in flows.

$299one-time · 3 business days
  • Up to 10 key pages tested by hand, not a scan
  • Every flow a customer uses: forms, sign-up, checkout, booking
  • Real mobile and desktop browsers
  • A written report in plain language, with screenshots
  • A 15-minute call to walk you through it
  • 10 years of professional QA experience

Tell me about your site and I'll reply personally, usually the same day.

No payment now. I'll confirm scope and price first.

More for WordPress: all WordPress fixes · WordPress testing · why WordPress breaks after updates · why contact forms fail silently

Written by Waqas Ahmad, QA engineer with 10 years of professional testing experience. Last checked October 26, 2026.

Sources: GeneratePress forum: hamburger menu not opening on mobile · WordPress.org support: burger menu not opening · Codeable: WordPress mobile menu not working