Drupal Menus, Blocks & Taxonomies — Navigation & Classification Guide
Navigation and content classification are the road signs of your website. Without clear menus, visitors get lost. Without taxonomy, your content is a pile of unrelated pages. Drupal gives you powerful tools for both — menus with unlimited nesting, blocks that slot into theme regions, and a taxonomy system far more flexible than WordPress’s simple categories and tags.
What You’ll Learn
- Creating and managing menus with hierarchical links
- Understanding theme regions and placing blocks
- Building taxonomy vocabularies with parent-child terms
- Managing comments with moderation workflows
- Configuring block visibility by path, role, or content type
Why Navigation Architecture Matters
Think of your website like a shopping mall. Menus are the directory signs telling visitors where things are. Blocks are the stores and kiosks that appear in different parts of the mall. Taxonomies are the aisle labels that group related items together.
A well-organized navigation architecture means visitors find what they need in seconds. Poor navigation? They leave. DodaTech’s own tutorials use hierarchical menus and taxonomy-based cross-references — the same principles that keep Durga Antivirus Pro’s documentation intuitive.
flowchart LR
A["Drupal Content Management"] --> B["Menus, Blocks & Taxonomies<br/><strong>You are here</strong>"]:::current
B --> C["Themes, Layouts & Extensions"]
classDef current fill:#38bdf8,color:#0f172a,stroke-width:2px;
Menus in Drupal
Drupal provides three default menus: Main Navigation, Footer, and User Menu. You can create unlimited custom menus for different purposes.
Creating a Menu
- Structure → Menus → Add menu
- Enter a title (e.g., “Secondary Navigation”)
- Click Save
Adding Links to a Menu
- Click Add link on the menu page
- Configure:
- Link — Internal path (
/node/1,/contact) or external URL - Menu link title — Display text visible to users
- Description — Tooltip text (shown by some themes)
- Parent link — Nest items to create hierarchical menus
- Weight — Sort order (lighter values float to the top)
- Enabled — Show or hide the link without deleting it
- Link — Internal path (
Menu Hierarchy Example
Main Navigation
├── Home (/node/1)
├── About Us (/node/2)
│ ├── Our Team (/node/5)
│ └── Careers (/node/6)
├── Services (/node/3)
│ ├── Web Dev (/node/7)
│ └── Design (/node/8)
└── Contact (/contact)Limit nesting to 3 levels maximum — deeper menus confuse users and harm mobile usability.
Blocks and Regions
Blocks are discrete pieces of content that you place in regions (named areas defined by the theme). Think of regions as parking spaces and blocks as cars — each region can hold multiple blocks, and blocks can be rearranged between regions.
Default Blocks
Drupal installs with several built-in blocks:
- Page title — Displays the page title
- Main page content — Renders the primary content
- Breadcrumb — Navigation breadcrumb trail
- User login — Login form block
- Powered by Drupal — Footer credit
- Primary admin actions — Action buttons for content editors
Placing a Block
- Structure → Block layout
- Find the region (e.g., Sidebar First) and click Place block
- Search or browse available blocks
- Configure:
- Title — Override or hide the block title
- Visibility settings — Show on specific pages, content types, or user roles
- Region — Which region to appear in
- Weight — Order within the region
Block Visibility
One of Drupal’s most powerful features: you can show/hide blocks based on:
| Condition | Example |
|---|---|
| Page path | Show “Contact Info” block only on /contact |
| Content type | Show “Related Articles” block only on Article pages |
| User role | Show “Admin Links” block only for administrators |
| Language | Show language-specific content blocks |
Custom Block Types
Create custom block types with fields (like content types):
- Structure → Block layout → Block types → Add block type
- Add fields (text, image, file, link)
- Create instances at Block layout → Place block → Custom block
Taxonomies
Taxonomy is Drupal’s content classification system. Unlike WordPress which has exactly two taxonomies (Categories and Tags), Drupal gives you unlimited vocabularies — each with its own fields and hierarchy.
Core Concepts
| Term | Meaning | Example |
|---|---|---|
| Vocabulary | A set of terms (like a category group) | “Topics”, “Departments”, “Regions” |
| Term | A single classification | “Technology”, “HR”, “Europe” |
| Hierarchy | Parent-child relationships | Technology → Web Dev → Frontend |
Creating a Vocabulary
- Structure → Taxonomy → Add vocabulary
- Name it (e.g., “Topics”)
- Configure settings:
- Hierarchy — Allow parent-child term relationships
- Tags-style — Allow free-tagging (terms created on the fly)
- Click Save
Adding Terms
- Click Add term on the vocabulary page
- Enter Name and optional Description
- Set Parent term if hierarchical
- Add custom fields if configured
- Click Save
Attaching Taxonomy to Content
- Structure → Content types → Manage fields (e.g., Article)
- Add a field of type Term reference
- Select the vocabulary (e.g., “Topics”)
- Configure the widget type:
- Select list — Predefined choices
- Autocomplete — Type to search
- Checkboxes/radio buttons — Quick selection
Listing Content by Taxonomy
Use Views to create taxonomy-filtered listings:
- Structure → Views → Add view
- Show Content filtered by Taxonomy term
- Add a contextual filter: Content: Has taxonomy term ID
- Visit
/taxonomy/term/{tid}to see matching content
Comments
Enabling Comments
- Structure → Content types → Edit (e.g., Article)
- Under Comment settings:
- Open — New comments allowed
- Closed — No new comments, existing ones hidden
- Hidden — Comments disabled entirely
- Configure:
- Threading — Allow nested replies
- Permalink — Link to individual comments
- Default number of comments — Per page
- Anonymous commenting — Allow or require login
Moderating Comments
- Content → Comments (
/admin/content/comment) - Review comments in the Unapproved tab
- Publish, Unpublish, or Delete individual comments
Common Mistakes
1. Too Many Menu Levels
Deeply nested menus (beyond 3 levels) harm usability. Use taxonomy or search for deeper content discovery.
2. Not Using Block Visibility
Placing blocks on every page without configuring visibility settings leads to clutter. Show blocks only on relevant pages via path rules or content type conditions.
3. Ignoring Taxonomy Field Weight
When adding terms, the weight field determines sort order. All terms with the same weight sort alphabetically — use weight to enforce a custom order.
4. Enabling Comments Without Moderation
Unmoderated comments quickly fill with spam. Always require manual approval for anonymous or new users.
5. Forgetting to Rebuild Cache After Menu Changes
Menu and block changes don’t always appear immediately. Run drush cr to rebuild the cache and see your changes.
Practice Questions
What is the difference between a block and a region?
Answer: Regions are placeholders in the theme template (header, sidebar, footer). Blocks are the content that fills those placeholders. A region can contain multiple blocks.How is Drupal’s taxonomy different from WordPress’s categories/tags?
Answer: WordPress has exactly two fixed taxonomies. Drupal supports unlimited vocabularies, each configurable as hierarchical or flat, with custom fields on terms.What does block visibility configuration let you control?
Answer: You can show/hide blocks based on page path, content type, user role, language, and custom PHP conditions.Challenge: Create a “Topics” vocabulary with terms: Technology, Design, Marketing. Under Technology, add sub-terms: Web Development, AI/ML, Mobile Apps. Attach the Topics vocabulary to the Article content type. Create a View that lists articles filtered by topic. Create a block that shows the topic taxonomy tree in the sidebar.
FAQ
Try It Yourself
- Create a custom menu “Resources” with 5 links (2 with parent-child hierarchy)
- Place a “User Login” block in the sidebar, visible only for anonymous users
- Create a “Departments” vocabulary with 4 terms and attach it to the Basic Page content type
- Enable comments on Articles and configure threading
- Run
drush crafter making changes
What’s Next
| Topic | Description |
|---|---|
| Themes, Layouts & Extensions | Twig templating, Layout Builder, and contributed modules |
| Users, Security & Administration | User roles, permissions, security hardening, multilingual |
| HTML | Understanding block and region markup |
| CSS | Styling blocks and menus |
| PHP | Creating custom block plugins |
What’s Next
Congratulations on completing this Drupal Menus Blocks Taxonomies tutorial! Here’s where to go from here:
- Practice daily — Consistency is more important than long study sessions
- Build a project — Apply what you learned by building something real
- Explore related topics — Check out other tutorials in the same category
- Join the community — Discuss with other learners and share your progress
Remember: every expert was once a beginner. Keep coding!
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro