🏠 Home πŸ–₯️ Hosting 🎨 Themes πŸ”Œ Plugins πŸ› οΈ Dev Tools ⚑ WordPress πŸ”₯ Joomla!
Tutorial

Managing Menus and Menu Modules in Joomla 6: The Complete Advanced Guide

Managing Menus and Menu Modules in Joomla 6: The Complete Advanced Guide

Quick Answer

Advanced menu management in Joomla 6 means combining several purpose-built menus, nesting menu items several levels deep with the redesigned drag-and-drop Menu Manager, using a Menu Item Alias to stop duplicate URLs, scoping each menu module to specific pages with Menu Assignment, locking items down with Access Levels, and β€” when you need full control β€” overriding mod_menu at the template level.

What you'll needDetails
Joomla version6.0 or later. This guide is written against 6.1.3 (current stable as of August 2026).
Access levelSuper User, or a user group with Menu Manager and Module Manager permissions.
Starting pointAt least one menu with a few basic items already created.
TemplateAny Joomla 6 template with multi-level dropdown support (Cassiopeia works out of the box).
OptionalFile Manager or FTP access β€” only needed for the template override in Step 6.

This guide picks up where the basics leave off. If you haven't created a menu or a menu item yet, start with our beginner guide to menus in Joomla 6 first. From here, we're covering the parts that trip up intermediate builders: running several menus at once, nesting items cleanly, keeping URLs duplicate-free, controlling exactly where each module shows up, and locking parts of the navigation down by user group.

Menu vs. Menu Module: A 10-Second Recap

A menu is the data structure β€” the ordered, nestable list of items (Home, Blog, Contact, and so on) and where each one points. A menu module is what actually renders that structure on the front end, in a module position of your choosing, like the header, sidebar, or footer. One menu can feed more than one module at the same time, each with its own position, styling, and depth settings β€” that separation is what makes advanced layouts possible.

πŸ–ΌοΈ [SCREENSHOT NEEDED] Joomla 6 admin, Menus β†’ Manage β†’ All Menus, showing several menus (Main Menu, Footer Menu, Support Menu) each with an item count and assigned module column visible.
Suggested alt text: "Joomla 6 Menu Manager listing multiple menus with item counts and assigned modules"

Step 1: Plan Separate Menus for Separate Site Sections

Before touching module settings, decide how many menus your site actually needs. A single flat "Main Menu" works for small sites, but once a site grows a help center, a members' area, or a footer with its own link set, splitting these into dedicated menus keeps each one easier to reason about and to assign independently.

MenuTypical purposeUsually shown to
Main MenuPrimary site navigationEveryone
Footer MenuLegal links, sitemap, secondary pagesEveryone
Support MenuNavigation local to a help center or docs sectionEveryone, but only on those pages
User MenuAccount, profile, logout linksLogged-in users only

Each menu still needs its own module to appear anywhere β€” creating the menu under Menus β†’ Manage β†’ Add New Menu only builds the structure. The module is what you'll scope in Step 4.

Step 2: Build Nested (Multi-Level) Menu Structures

Joomla 6 rebuilt the Menu Manager around a proper nested tree with drag-and-drop reordering. To turn a flat list into a dropdown-ready hierarchy:

  • Open the menu's item list under Menus β†’ [Your Menu Name].
  • Grab the drag handle next to the item you want to nest.
  • Drop it slightly to the right, directly under the item you want as its parent.
  • Repeat for additional levels β€” most templates comfortably support two to three levels deep before dropdowns get unwieldy.

A template that supports nested navigation will render this automatically as a dropdown or flyout on the front end β€” no extra configuration needed on the menu item itself.

πŸ–ΌοΈ [SCREENSHOT NEEDED] Menu item list mid-drag: cursor holding the drag handle of a child item, indented slightly under a parent item, with the indent guideline visible.
Suggested alt text: "Dragging a Joomla 6 menu item to nest it under a parent menu item"

⚠️ Don't over-nest

Test every added level on mobile. A dropdown that's easy to use on desktop can overflow or become untappable on a small screen once you go three or four levels deep.

Step 3: Stop Duplicate URLs with a Menu Item Alias

Linking the same piece of content from two different menus is a common cause of duplicate URLs β€” Joomla generates a separate route for each menu item, even when both point at the same article or category. Rather than recreating the item, link to the original one:

  • In the second menu, click New to create a menu item.
  • Set Menu Item Type to System Links β†’ Menu Item Alias.
  • Choose the original menu item you want to reference.
  • Save. This creates a shortcut that reuses the original item's route instead of generating a new one.
πŸ“Š [SCREENSHOT NEEDED] Menu Item Type picker modal, with "System Links" category expanded and "Menu Item Alias" highlighted/selected.
Suggested alt text: "Selecting Menu Item Alias under System Links in the Joomla 6 menu item type picker"

Step 4: Control Exactly Which Pages Show Each Module

Every menu module has a Menu Assignment tab with four options:

OptionBehavior
On all pagesModule shows site-wide.
No pagesModule is effectively disabled without unpublishing it.
Only on the pages selectedModule appears only on the menu items you tick.
On all pages except those selectedModule shows everywhere except the pages you tick.

This is how a Support Menu can appear only inside a help center, while the Main Menu module keeps showing everywhere. Set the Support Menu module to Only on the pages selected, then tick every menu item that lives under your Help Center section.

πŸ–ΌοΈ [SCREENSHOT NEEDED] Menu Assignment tab of a module edit screen, "Only on the pages selected" chosen, with a handful of Help Center pages checked in the list below.
Suggested alt text: "Joomla 6 Menu Assignment tab set to show a module only on selected Help Center pages"

Step 5: Restrict Menu Items by Access Level

To keep a page out of navigation for certain visitors:

  • Open the menu item and go to its Details tab.
  • Set Access to the level you need β€” Public, Registered, Special, Super Users, or a custom access level your site defines.
  • Set the same restriction on the module that displays the menu, so the item doesn't render as a dead or redirecting link for users who shouldn't see it.
πŸ–ΌοΈ [SCREENSHOT NEEDED] Menu item Details tab with the Access dropdown open, showing options like Public, Registered, Special, Super Users.
Suggested alt text: "Access level dropdown on a Joomla 6 menu item, set to Registered"

Step 6: Customize Menu Markup with a mod_menu Override

Menu styling that goes beyond CSS β€” custom markup, extra wrapper elements, different dropdown behavior β€” belongs in a template override, not in edits to core files:

  • Go to System β†’ Site Templates β†’ Templates β†’ [Your Template].
  • Open the Create Overrides tab and select mod_menu.
  • Joomla copies the module's layout files into your template folder, under html/mod_menu/.
  • Edit the copied files to adjust the markup β€” the original module files stay untouched.
πŸ–ΌοΈ [SCREENSHOT NEEDED] Create Overrides tab inside a Joomla 6 template's edit screen, with mod_menu selected from the list of core modules.
Suggested alt text: "Creating a mod_menu template override from the Joomla 6 template manager"

πŸ’‘ Why override instead of edit core files

Overrides live in your template folder and survive Joomla core updates. Direct edits to modules/mod_menu get wiped out the next time Joomla updates that module.

Bonus: Running Several Modules Off One Menu

Because a menu and a menu module are separate objects, nothing stops you from creating two module instances that both pull from the same menu β€” for example, a full multi-level version in the desktop header and a shallower, single-level version in a mobile off-canvas panel. Each module instance keeps its own position, start/end level range, and styling options independently, without duplicating the underlying menu structure.

Frequently Asked Questions

What's the difference between a menu and a menu module in Joomla 6?

A menu is the data structure β€” the list of items and their hierarchy. A menu module is what displays that structure on the front end, in a chosen position like header or sidebar. One menu can power several modules at once.

How do I nest menu items in Joomla 6's new Menu Manager?

Open the menu's item list, grab the drag handle next to an item, and drop it slightly to the right of the item you want as its parent. A supporting template renders the result as a dropdown automatically.

Why does my site show two URLs for the same page?

This usually happens when the same content is linked from two separate menu items. Instead of duplicating the item, add a Menu Item Alias in the second menu β€” it reuses the original item's route rather than creating a new one.

Can different pages on one Joomla site show completely different menus?

Yes. Create a module for each menu, then use its Menu Assignment tab and choose "Only on the pages selected" to scope it β€” for example, a Support menu that only appears inside a help center section.

How do I hide a menu item from guests or specific user groups?

Open the menu item's Details tab and set Access to a level like Registered or Special. Set the same restriction on the module that displays it, so the link doesn't render for users without access.

Do I need to edit core files to change how a menu looks?

No β€” create a template override for mod_menu instead, via System β†’ Site Templates β†’ Create Overrides. Overrides live in your template folder and survive core updates; direct edits to core files don't.

Common Mistakes to Avoid

  • Building the menu, forgetting the module. The item tree exists in the database, but nothing shows on the site until a module is created and assigned a position.
  • Duplicating items instead of using an Alias. This quietly creates duplicate URLs and can dilute the page's SEO signals.
  • Restricting the item but not the module. A menu item set to "Registered" only can still appear as a dead or redirecting link if the module itself is public.
  • Nesting deeper than the template supports. Test every added level on a small screen β€” dropdowns that work on desktop can overflow on mobile.
  • Editing mod_menu's core files directly. Any customization made this way is lost on the next Joomla update; use a template override instead.

What's Next

βœ… Last verified on Joomla 6.1.3 β€” August 2026
Thanh Le
Thanh Le
Joomla Specialist & Technical Writer

Thanh Le is a Joomla expert and technical writer at Jlvextension.com, known for creating in-depth tutorials, extension reviews, and optimization guides. His work focuses on helping developers and webs