Module 2.5 – Menus and Navigation

Menus and navigation look simple on the surface, but Acquia uses this module to test whether you understand the difference between navigation, classification, and content structure.

Many wrong answers come from using menus where taxonomy or content types should be used, or from hardcoding navigation instead of using Drupal’s menu system.


What menus are in Drupal

Menus are navigation structures.

They answer questions like:

  • Where can the user go next
  • How pages are organized hierarchically
  • What links should appear consistently across the site

Menus are not content and not classification tools.


Core menus you should recognize

Drupal provides several default menus:

  • Main navigation
  • Footer
  • Tools (administration-related)
  • Account menu (user actions)

These can be customized, extended, or replaced.


Where menus are managed (UI anchors)

These paths help you anchor the concept visually.

  • Menus list:
    /admin/structure/menu
  • Edit a menu:
    /admin/structure/menu/manage/{menu_name}
  • Menu block placement:
    /admin/structure/block

Menu links

Menu links are individual navigation items.

They can point to:

  • Internal paths
  • External URLs
  • Routed paths

Menu links support:

  • Hierarchy (parent/child)
  • Weight (ordering)
  • Permissions and access control

Site Builder perspective

Site builders:

  • Create and organize menus
  • Control hierarchy and ordering
  • Manage menu visibility

They focus on usability and consistency.


Frontend developer perspective

Frontend developers:

  • Theme menus
  • Control markup and styling
  • Ensure accessibility

They avoid hardcoded navigation.


Backend developer perspective

Backend developers:

  • Rarely build menus manually
  • May create dynamic menu links when needed
  • Respect menu routing and access

Menus reduce the need for custom navigation code.


Architect perspective

Architects consider:

  • Navigation clarity
  • Scalability of menu structures
  • Editor governance

Menus should remain manageable as the site grows.


Menus vs taxonomy (very common exam trap)

Use menus when:

  • You are defining navigation paths
  • Order matters
  • Users click links to move between pages

Use taxonomy when:

  • You are classifying content
  • Filtering is required
  • Order is secondary

Menus are for navigation. Taxonomy is for classification.


Menus vs content types

Menus should not store content.

Bad practice:

  • Creating content types to represent menu items

Correct practice:

  • Content types store content
  • Menus reference content via links

Menu blocks

Menus are rendered using blocks.

This allows:

  • Placement in regions
  • Visibility conditions
  • Reuse across layouts

Menu blocks integrate with Layout Builder.


Accessibility considerations

Menus must be accessible.

Drupal core menus:

  • Use semantic HTML
  • Support keyboard navigation
  • Integrate with ARIA roles

Hardcoded navigation often breaks accessibility.


Common exam traps in Module 2.5

  • Using taxonomy to build navigation
  • Hardcoding navigation in Twig
  • Using content types for menus
  • Ignoring menu access permissions

Correct answers favor Drupal’s menu system.


Real scenario walkthrough

Scenario:
A site needs a primary navigation that editors can update without code changes.

Correct solution:

  • Use Main menu
  • Place menu block
  • Control hierarchy via menu UI

Incorrect solution:

  • Hardcoded links in theme templates

Key exam takeaways

  • Menus are for navigation
  • Taxonomy is for classification
  • Content types store content
  • Menu blocks control placement
  • Configuration comes before code

Practice check

  • Navigation hierarchy: menu
  • Content grouping: taxonomy
  • Reusable navigation links: menu
  • Editor-managed navigation: menu