WordPress menu not showing a new page: 3 reasons you can't see it

A WordPress menu not showing a new page usually comes down to three reasons. Nobody added the page, because WordPress doesn't usually do it by itself. The page went into a menu the theme doesn't display in the header. Or the theme is a block theme and the header has its own navigation, separate from Appearance → Menus. Check them in that order.

Author: The TellMyShop team. A guide for WordPress site and WooCommerce store owners: the cause, the manual fix and the same work in a chat conversation.
Last updated: · 6 min read

Before you start: which kind of theme do you have?

The answer decides where you look, and you can check it in half a minute. Go to the admin and expand Appearance.

What you see under AppearanceKind of themeWhere you change the menu
Menus, Customize, WidgetsclassicAppearance → Menus or Appearance → Customize → Menus
Editor, no Menus itemblockAppearance → Editor → Navigation
Editor and Menus at the same timeblock theme with classic menusdepends on what's in the Navigation block in the header

How menus work in both kinds of theme is described in the WordPress documentation: the Appearance → Menus screen for classic themes and site editor navigation for block themes.

Reason 1: nobody added the page to the menu

Publishing a page doesn't add it to the menu. It's the most common cause and the quickest fix.

  1. Go to Appearance → Menus and choose the menu that's in the header from the list.
  2. In the left-hand column, expand the Pages section and tick the new page. If it isn't there, click the View All tab or use the search.
  3. Click Add to Menu. The item appears at the end of the list.
  4. Drag it to the right place. Moving it slightly to the right under another item turns it into a submenu.
  5. Click Save Menu and check the site in a private window.

Domenomania has a good description of these steps with screenshots (in Polish). If a section is missing from the left-hand column, for example product categories, turn it on in Screen Options at the top right.

Below the list of items there's an option to automatically add new top-level pages to the menu. It only works for pages without a parent page and only for those you publish after ticking it. It won't add a page that's a child page.

Also make sure the page is published. A draft or a private page won't show in the menu for visitors.

Reason 2: you're editing the wrong menu

A site often has several menus: main, footer, mobile, an old menu from before a theme change. The theme shows only the ones assigned to its locations, for example the header. Adding a page to a menu with no assignment changes nothing on the site.

You check this in Appearance → Menus, in the settings at the bottom of the selected menu or in the Manage Locations tab. There you'll see which menu is in the header, which in the footer, and which nowhere. Appearance → Customize → Menus shows the same. Location names such as Primary Menu or Footer Menu are chosen by the theme author, so they may differ in every theme. For whoever looks after the site: themes register menu locations in their code, as described in the theme developer documentation.

A common case: the theme has a separate location for the mobile menu. On a computer the new item is there, and on a phone it isn't, because the phone shows a different menu.

Reason 3: a block theme has its own navigation

In a block theme the header is a template with a Navigation block. That block can hold its own list of links, independent of the menu in Appearance → Menus. Then you can add a page to a classic menu and nothing changes in the header.

Go to Appearance → Editor → Navigation, or open the header template and click the Navigation block. In the block settings you'll see which menu it uses. That's where you add the new page and save the template. Remember that a change in the header template applies to the whole site as soon as you save, so look at the preview in the editor first.

Rarer cases when everything looks fine

If all three reasons are ruled out, check three more things. First, caching: a caching plugin or your host may show the old header until it's cleared. Second, a plugin that swaps menus, for example for multiple languages, because each language can have its own menu. Third, a submenu that only opens on hover or after tapping an arrow. Clearing the cache and settings of such plugins are a job for whoever looks after the site.

How the chat checks menus and adds items with a preview

The TellMyShop plugin for WordPress and WooCommerce reads menus even in TellMyShop Free. Your chat (Claude or ChatGPT) sees all classic menus with their item tree and assignment to theme locations. It also sees locations without a menu and block navigations. When you ask “why can't I see this page”, it checks whether the page is in any menu. If the page isn't in Google either, read the guide on why a WordPress site isn't showing in Google.

You: I added a Delivery and returns page, but it isn't in the menu. Add it under Shop.

Your chat: You have three menus. Main menu is in the header, Footer is in the footer, and Old menu isn't assigned anywhere. The Delivery and returns page isn't in any of them. Preview for Main menu:

The item goes in as a sub-item of Shop, at the end. I'll save it after your ‘yes’.

You: Yes.

Your chat: Saved. The item has its own number in the change history, and you can undo it with one request.

Card status: waiting for your “yes”
change preview

old version: Shop: Lanterns, Garden lighting

new version: Shop: Lanterns, Garden lighting, Delivery and returns

Illustration: products, numbers and replies are examples.

In TellMyShop Pro the chat adds, changes and removes up to 30 items in one batch. It adds a link to a published page, post, product, category or a custom address. It changes an item's label, position and parent item. It won't add a link to a draft, because that would lead to a 404 error, covered in the guide to the 404 error in WordPress.

There are two limits. The chat changes only classic menus, not block navigation in block themes. And it doesn't assign menus to theme locations. If you change a menu that isn't assigned anywhere, the preview says so plainly and tells you where to set it. A removed item can be restored from the change history.

The plugin is described on the TellMyShop for WordPress and WooCommerce page, prices are on the pricing page, and more guides on the blog.

Questions and answers

Does WordPress add new pages to the menu by itself?

Usually not. A new page has to be added to the menu by hand. The exception is a classic menu with the option to automatically add new top-level pages ticked. That option doesn't apply to posts, categories or child pages.

How do I make a submenu in WordPress?

In Appearance → Menus, drag an item below another and move it slightly to the right. It then becomes its sub-item. In a block theme you do it in the Navigation block, by adding a submenu to the chosen item. On a phone the submenu usually opens only after tapping the arrow.

Where is Appearance → Menus in newer WordPress?

In block themes this item usually isn't there, because navigation is changed in Appearance → Editor, in the Navigation section. Appearance → Menus is available in classic themes. If you don't know which kind of theme you have, see whether the Appearance menu has an Editor item.

I added the page to the menu, but it's not there on my phone. Why?

Many themes have a separate location for the mobile menu. If a different menu is assigned there, a change in the main menu won't appear on the phone. Check which menu is assigned to each location in the theme.

Can the chat assign a menu to a theme location?

No. The chat reads menus and their assignments, and adds, changes and removes items in classic menus. When a menu isn't assigned to any location, it says so in the preview and tells you where to set it. You do the assignment itself in the WordPress admin.

WordPress is a trademark of the WordPress Foundation. WooCommerce is a trademark of Automattic Inc. Claude is a trademark of Anthropic PBC. ChatGPT and OpenAI are trademarks of OpenAI. TellMyShop is not affiliated with these companies.

TellMyShop for WordPress and WooCommerce

Your chat reads the site, shows every change before saving it and saves only after your yes. You can undo most changes with one sentence. Works with Claude or ChatGPT, free accounts included.

Read next