You’ve just turned on the Navi+ menu on your site, but the theme’s old menu is still right beside it. This isn’t a bug. It comes from the placement you picked when you clicked Publish. You only need to change one option.
Before you start
- You’re using a menu type attached to the header, such as Desktop Mega Menu, and you’ve put the menu in the header.
- You can see where the theme’s old menu appears on the page.
Why do two menus show?
In the Publish window, Navi+ has 3 ways to place a menu on the page:
| Placement | What happens on the page |
|---|---|
| Replace | Hides the spot you pick and puts the Navi+ menu in that exact place |
| Insert after | Keeps the old spot and puts the Navi+ menu right after it |
| Insert before | Keeps the old spot and puts the Navi+ menu right before it |
If both menus show on the web, you’re probably using Insert after or Insert before.
Switch to Replace to swap out the old menu
- Open Apps > Navi+, click the menu you’re using, then click the Publish step in the left step bar.
-
Choose Replace as the placement.
PublishMethod 1: Put the menu into a menu placementNo code needed — Navi+ already found where it fits on your theme.Turn onSTEP 1Enable Navi+ in Theme → App embeds Store Connector is on in Dawn. Review
This is Shopify’s standard method - safe and removable anytime.STEP 2Choose a menu placementWhere this Mega Menu shows up on your store.Replace your main menuYour desktop navigation is swapped for this Mega Menu. Logo, search and cart stay.Add below your headerA full-width bar inserted right under the header. Your navigation stays.Somewhere elseBefore, after or in place of any element you choose (CSS Selector).Placement found by Navi+header navSTEP 3Optimize speed & experience SetupSTEP 4Test this menu Open TestMethod 2: Insert as an App block in your theme editorChoose Replace to swap out the theme's menu - In the CSS Selector field, enter the address of just the menu bar in your theme. Don’t pick the whole header. A CSS selector is the identifier of each area on a web page. If you don’t know where to find it, open Navi+ Live and click the menu on the page to get it.
- Click save, then reload your website to check.
If you pick the whole header by mistake, your store also loses the logo, search box and cart. Only pick the small box that wraps the menu items.
When you switch to Replace, the old menu still shows
Some themes create two separate menu copies, for example a horizontal menu bar for computers and a drawer menu for phones. When you replace one, the other still shows. Handle it in one of these two ways:
Option 1: Enter several selectors at once
The CSS Selector field accepts several addresses separated by commas. Add (D) if it only applies to computers, (M) for phones, or leave it empty for both. For example:
.header__inline-menu(D), .menu-drawer__navigation(M)
Just replace the part before the ( with the menu address from your theme.
Option 2: Hide the leftover part with CSS
To hide the extra menu with styling code, open the menu in Navi+, go to Configure > CSS, and paste this code:
/* Hide the theme menu on computers.
Reason: Navi+ has replaced the menu, but the theme draws another copy in the header. */
@media (min-width: 990px) {
.header__inline-menu { display: none; }
}
Keep the rule short: target one selector and one specific screen size. That way, when you update the theme later, other parts of the header won’t be hidden by mistake.
Some themes also have a built-in toggle or a way to change the menu directly in the theme editor. Check Online Store > Themes > Customize before you use CSS.
Handle the ☰ button on phones
If you tap the ☰ button on a phone and the theme’s old drawer menu opens along with the Mobile Menu, don’t hide the ☰ button. Instead, set the theme’s ☰ button as the open button for the Mobile Menu by entering the CSS selector of the ☰ button in the open-menu setting. When a shopper taps it, the Navi+ Mobile Menu opens and the old drawer no longer slides out. For the steps, see Put the Mobile Menu live.
Don’t delete the Shopify original menu
You don’t need to delete the original menu under Online Store > Navigation in Shopify, and you don’t need to delete code in the theme. Navi+ replaces the menu on the page without touching the original code. Keep the old menu in place so that if you turn off or uninstall the app later, the theme’s menu comes back and your store doesn’t lose its navigation bar.
Code you've deleted from the theme stays deleted even after you uninstall Navi+. You'll be left with no menu at all.
Fix common problems
The old menu flashes before it disappears
The browser draws the theme’s menu first, and then Navi+ swaps in its menu. Since Nov 5, 2026 the menu is printed into the page ahead of time, so the flash is almost gone. If you still see it, in the Publish window click Setup on the Add a loading effect (optional) row at the bottom of the window. See how to do this in Settings that keep your menu loading fast and flicker-free.
Hidden on computers but still showing on phones
Each device usually has its own menu frame and its own CSS rules. Add a selector with the (M) suffix for phones, or write one more CSS rule for small screens.
Gone from the web after uninstalling Navi+
- If you hid the theme’s menu with CSS placed inside Navi+, uninstalling the app removes that CSS too, and the theme’s menu shows again.
- If you edited or deleted code in the theme before, restore it from the theme’s version history in Shopify, or use an older copy of the theme that you kept.
Other platforms
The steps above are for Shopify — the default way.
Wix has no Menu in Section app block. You can only place the menu with a CSS selector and choose Replace, as above.
WordPress and other websites have no Menu in Section app block. Place the menu only with a CSS selector: choose Replace and enter the selector of the existing menu. To hide the leftover part, paste the CSS into the CSS box of the menu.