Troubleshoot menus and links
Reduce the problem to one menu item, one target locale, and one public request. Record the item ID, its WordPress type, source label, source URL, expected destination, and actual destination before changing anything.
The menu item is missing
- Open Appearance → Menus and confirm the item still belongs to the rendered menu.
- Review Display in languages. An explicit list must contain the current locale.
- Check whether the menu item or its linked subject is excluded for that locale.
- Confirm the theme renders the expected WordPress menu location.
- Save the menu and retest in a private browser window.
Remember that leaving all language checkboxes clear displays the item everywhere.
The label is not translated
Save the source menu first, then open Translations → Translate contents and filter All objects to Nav menu. Search for the exact current source label, choose the correct object, complete the destination locale, and save.
If the item is a POM Translate language switcher, stop: switcher items are intentionally excluded from ordinary menu-string translation.
The label is correct but the URL is wrong
Identify the item type:
- For a native post, page, archive, or term item, inspect Translate URLs → Content URLs and the complete localized route.
- For an external link or file, inspect Translate URLs → Custom links.
- For a same-site Custom Link, prefer a native object-backed menu item when one exists.
- For a fragment-only link, expect the fragment to remain unchanged.
Check the URL host, port, site subdirectory, language prefix, query, fragment, and trailing slash separately.
A custom URL does not appear
Automatic collection focuses on external destinations, recognized file extensions, iframe sources, supported video sources, and explicit downloads. Save the page to refresh detected video URLs; see Translate custom URLs. Add another URL manually with Add custom URL when it is valid but outside those discovery rules. Use the exact source value rendered by the site.
A saved change appears stale
Saving a menu item reparses its source values. Saving a menu translation or custom URL mapping invalidates the affected runtime menu cache. If the old result persists after those saves:
- verify that the public request reaches the same site and locale;
- clear any separate page cache, reverse proxy, or CDN cache;
- retest without an editor session or old language cookie;
- inspect the final rendered
href, not only the address shown in the admin editor.
Do not create duplicate menus or duplicate posts as a cache workaround.