Skip to content

Joomla Menu System — Menu Types, Menu Items and Hierarchy

DodaTech Updated 2026-06-27 10 min read

In this tutorial, you'll learn how the Joomla menu system works — creating menus and menu items, understanding menu item types like Single Article and Category Blog, building menu hierarchy with parent items, and assigning menu modules to positions.

What You'll Learn

  • The Menu Manager and how it lists all menus on your site
  • Creating new menus and defining their properties
  • Creating menu items with various types
  • Understanding menu item types: Single Article, Category Blog, Category List, Featured Articles, and more
  • Building menu hierarchy with parent items and ordering
  • Assigning menu modules to positions on your site
  • Configuring menu item options: page display, page title, template style
  • Using system links for URL, separator, and heading items

Why It Matters

In Joomla, every page must be linked to a menu item. Even if you hide the menu module, the menu item must exist for the page to be accessible. This makes the menu system central to your site's architecture. Understanding how menus work — not just how to add items but how they control page URLs, metadata, and template style — is essential for building any Joomla site.

Real-World Use

A restaurant website needs: a homepage with featured dishes, a menu page listing all menu items (category blog), a contact page with a contact form, an about page (single article), and a reservations link (external URL). Each of these is a menu item of a different type. The main navigation menu in the header, a footer menu with privacy and terms links, and a sidebar menu with food categories. Joomla's menu system handles all of these.

Learning Path

flowchart LR
  A["Workflow & Publishing"] --> B["Menu System
You are here"]:::current B --> C["Menu Item Types"] C --> D["Modules & Positions"] D --> E["Custom HTML Modules"] classDef current fill:#38bdf8,color:#0f172a,stroke-width:2px

The Menu Manager is accessed through Menus > Manage. It lists all the menus on your site. The default Joomla installation creates one menu:

  • Main Menu: The primary navigation menu

Each row shows:

  • Title: Human-readable menu name
  • Menu Type: Unique system name used by the menu module (e.g., "mainmenu")
  • Description: Optional description of the menu's purpose
  • # Items: Number of menu items in this menu
  • ID: Internal database ID

Creating a New Menu

To create a new menu:

  1. Go to Menus > Manage.
  2. Click the New button.
  3. Enter a Title (e.g., "Footer Menu").
  4. Enter a Menu Type (e.g., "footermenu" — must be unique, no spaces).
  5. Optionally enter a Description.
  6. Save.

When you create a new menu, Joomla also creates a corresponding module of type "Menu" that is unpublished by default. You must configure and publish this module for the menu to appear on the front end.

Creating Menu Items

To create a menu item:

  1. Go to Menus > [Menu Name] or Menus > All Menu Items.
  2. Click the New button.
  3. Choose a Menu Item Type.
  4. Fill in the menu item details.
  5. Configure options.
  6. Save.

Menu item types are organized by category:

Articles:

  • Single Article: Display one specific article
  • Category Blog: Display articles in blog format
  • Category List: Display articles in list format
  • Featured Articles: Display all featured articles
  • Archived Articles: Display archived articles grouped by month
  • All Categories: Show all categories in a list

Contacts:

  • Single Contact: Display one contact
  • Category List: Display contacts in a category
  • Featured Contacts: Display featured contacts

Search:

  • Search: Basic search form
  • Smart Search: Enhanced search with filters

News Feeds:

  • Single News Feed: Display one RSS feed
  • Category List: List news feeds in a category

System Links:

  • External URL: Link to any URL
  • Separator: Visual separator in the menu
  • Heading: Non-clickable heading in the menu

Language Switcher:

  • Language Switcher: Switch between site languages

Tags:

  • Tagged Items: Display items with a specific tag
  • Compact List of Tags: List all tags

Users:

  • Login Form: Display login form
  • User Profile: Display user profile
  • Registration Form: Display registration form

After choosing a type, configure these basic fields:

  • Menu Title: Text that appears in the menu
  • Alias: URL-friendly version (auto-generated)
  • Menu Location: Which menu this item belongs to
  • Status: Published or Unpublished
  • Access: View level (Public, Registered, Special)
  • Parent Item: If this is a sub-item, select the parent
  • Default Page: Set as the home page
  • Target Window: Open in same window, new window, or modal

The Options tab controls page display:

  • Browser Page Title: The title tag for this page
  • Page Heading: The h1 heading shown on the page
  • Show Page Heading: Whether to display the heading
  • Page Class: CSS class for the page wrapper div
  • Template Style: Override the template for this page
  • Menu Style: Override the menu style for this item
  • Show Breadcrumbs: Show or hide breadcrumbs on this page

Menu items can be organized hierarchically. A parent item can have child items, creating dropdown menus.

Creating Parent-Child Relationships

When creating or editing a menu item, the Parent Item field lists all existing items in the same menu. Select a parent to make this item a child.

Example hierarchy:

Home (parent: none)
About Us (parent: none)
  Our Team (parent: About Us)
  Our History (parent: About Us)
Services (parent: none)
  Web Design (parent: Services)
  Development (parent: Services)
    PHP (parent: Development)
    JavaScript (parent: Development)
Contact (parent: none)

Ordering Menu Items

In the menu items list, you can reorder items by:

  • Dragging the order icon up or down
  • Editing the order number in the Order column

The order determines the sequence in the menu module.

A menu module displays a menu on the front end. Each menu automatically gets a corresponding module when created, but it is unpublished by default.

Configuring a Menu Module

  1. Go to Extensions > Modules.
  2. Find the module matching your menu (e.g., "Main Menu").
  3. Configure:
    • Title: Display title (can be hidden)
    • Show Title: Show or hide the module title
    • Position: Where the menu appears on the page
    • Select Menu: Which menu this module displays
    • Base Item: The starting point for the menu tree
    • Start Level: Minimum depth to show
    • End Level: Maximum depth to show
    • Show Sub-menu Items: Expand child items
  4. Assign to menu items (typically "All" for the main nav).
  5. Set access level and publishing dates.

Multiple Menu Modules

You can display the same menu in multiple positions with different configurations. For example:

  • Main navigation in header: start level 0, end level 1 (shows top level only for horizontal nav)
  • Sidebar navigation: start level 0, end level 3 (shows full tree for side nav)

Default Menu Item

The Default Page star icon designates which menu item is the home page of your site. Only one menu item across all menus can be set as default.

When you install Joomla, the first article you see is whatever menu item is marked with the star. To change your home page, go to Menus > All Menu Items and click the star icon on a different item.

External URL

Use this to link to any URL outside your Joomla site. Enter the full URL including http:// or https://. Set the target to "New Window with Navigation" to open external links in a new tab.

Separator

A separator creates a visual break in the menu without being clickable. Useful for grouping related menu items visually.

Heading

A heading is a non-clickable text item in the menu. Use headings to label groups of sub-items in dropdown menus.

Common Mistakes

  1. Creating articles without menu items: Beginners create articles and cannot find them on the front end. Every article needs a menu item (or a module) linking to it to be accessible.

  2. Not setting a default menu item: If no menu item is marked as the default (star), visitors see a blank page or error when visiting your site root URL.

  3. Creating too many top-level menu items: A horizontal nav bar with 10+ items forces users to scroll or squeezes text. Keep top-level items to 5-7 max and use sub-menus for deeper content.

  4. Ignoring the Base Item setting in menu modules: The "Base Item" setting controls which branch of the menu tree is displayed. Set it to "Current" to show only the active branch in side menus.

  5. Forgetting to publish the menu module: Creating a menu and its items is only half the work. The menu module must be published and assigned to a position for the menu to appear on the front end.

Practice Questions

  1. Why must every article in Joomla be linked to a menu item? Answer: Joomla uses menu items as the primary routing mechanism. Article URLs are derived from menu items. Without a menu item pointing to an article, there is no URL path to access it.

  2. What is the difference between a Menu and a Menu Item? Answer: A Menu is a collection of items (like "Main Menu"). A Menu Item is a single link within a menu (like "About Us"). A menu module displays a menu on the front end.

  3. How do you create a dropdown sub-menu in Joomla? Answer: Create child menu items by setting the "Parent Item" field when creating or editing the item. The menu module's "End Level" setting controls how many levels display in the dropdown.

  4. Challenge: Create a complete navigation structure for a university website with at least 4 menus: Main Navigation, Footer Links, Student Resources, and Academic Departments. Include at least 20 menu items across all menus with proper hierarchy (3 levels deep in some areas). Create corresponding menu modules for each menu and assign them to appropriate positions.

FAQ

Can I have a page without a menu item?

Yes, but it cannot be the primary access point. You can link to articles directly from other content, modules, or external URLs. However, for normal browsing, every page should have a menu item.

How many menus can I create in Joomla?

There is no limit. You can create as many menus as you need — main navigation, footer links, sidebar menus, utility menus, language switchers.

Can the same menu item appear in multiple menus?

No, each menu item belongs to one menu. Create separate menu items if the same link needs to appear in different menus.

How do I link to an external website from a Joomla menu?

Create a menu item with type 'External URL'. Enter the full URL and set the target to 'New Window' for external links.

What happens if I delete a menu?

Deleting a menu also deletes all its menu items. The content (articles, categories) remains, but links to those content items from the deleted menu are lost.

Mini Project

Your task: Build the full navigation system for a portfolio website.

  1. Create a Main Menu with these items:

    • Home (Featured Articles, set as default)
    • Portfolio (Category Blog, with "Web" and "Design" sub-items)
    • About Me (Single Article)
    • Blog (Category List)
    • Contact (Single Contact)
    • External: GitHub (External URL)
  2. Create a Footer Menu with:

    • Privacy Policy (Single Article)
    • Terms of Service (Single Article)
    • RSS Feed (External URL)
  3. Create a sidebar menu module showing the Portfolio branch with sub-items expanded.

  4. Configure the Main Menu module in the header position (position-1) showing only the top level.

  5. Set appropriate page titles, headings, and template styles for each menu item.

  6. Test navigation on the front end, verifying all links work and dropdowns function.

What's Next

Now that you understand the menu system, explore every menu item type in detail:

Continue to Lesson 12: Menu Item Types — Detailed guide to every Joomla menu item type from Single Article to Language Switcher.

Related lessons:

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro