Skill Tracer
Skills › Marketing Skills › site-architecture › navigation-patterns.md

navigation-patterns.md

305 lines · skills/site-architecture/references/navigation-patterns.md at 88c79f6

Open on GitHub
1# Navigation Patterns
2
3Detailed navigation patterns for different site types and contexts.
4
5---
6

Navigation Patterns

Detailed navigation patterns for different site types and contexts.


Raw lines 1 to 6
7## Header Navigation
8

Header Navigation

Raw lines 7 to 8
9### Simple Header (4-6 items)
11Best for: small businesses, simple SaaS, portfolios.
13```
14[Logo] Features Pricing Blog About [CTA Button]
15```
17Rules:
18- Logo always links to homepage
19- CTA button is rightmost, visually distinct (filled button, contrasting color)
20- Items ordered by priority (most visited first)
21- Active page gets visual indicator (underline, bold, color)

Simple Header (4-6 items)

Best for: small businesses, simple SaaS, portfolios.

[Logo]   Features   Pricing   Blog   About   [CTA Button]

Rules:

  • Logo always links to homepage
  • CTA button is rightmost, visually distinct (filled button, contrasting color)
  • Items ordered by priority (most visited first)
  • Active page gets visual indicator (underline, bold, color)
Raw lines 9 to 22
23### Mega Menu Header
25Best for: SaaS with many features, e-commerce with categories, large content sites.
27```
28[Logo] Product ▾ Solutions ▾ Resources ▾ Pricing Docs [CTA]
29```
31When "Product" is hovered/clicked:
33```
34┌─────────────────────────────────────────────────┐
35│ Features Platform Integrations │
36│ ───────── ───────── ──────────── │
37│ Analytics Security Slack │
38│ Automation API HubSpot │
39│ Reporting Compliance Salesforce │
40│ Dashboards Zapier │
41│ │
42│ [See all features →] │
43└─────────────────────────────────────────────────┘
44```
46Mega menu rules:
47- 2-4 columns max
48- Group items logically (by feature area, use case, or audience)
49- Include a "See all" link at the bottom
50- Don't nest dropdowns inside mega menus
51- Show descriptions for items when labels alone aren't clear

Mega Menu Header

Best for: SaaS with many features, e-commerce with categories, large content sites.

[Logo]   Product ▾   Solutions ▾   Resources ▾   Pricing   Docs   [CTA]

When "Product" is hovered/clicked:

┌─────────────────────────────────────────────────┐
│  Features           Platform        Integrations │
│  ─────────          ─────────       ──────────── │
│  Analytics           Security       Slack         │
│  Automation          API            HubSpot       │
│  Reporting           Compliance     Salesforce    │
│  Dashboards                         Zapier        │
│                                                   │
│  [See all features →]                             │
└─────────────────────────────────────────────────┘

Mega menu rules:

  • 2-4 columns max
  • Group items logically (by feature area, use case, or audience)
  • Include a "See all" link at the bottom
  • Don't nest dropdowns inside mega menus
  • Show descriptions for items when labels alone aren't clear
Raw lines 23 to 52
53### Split Navigation
55Best for: apps with both marketing and product nav.
57```
58[Logo] Features Pricing Blog [Login] [Sign Up]
59├── Marketing nav (left) ──────┘ └── Auth nav (right) ──┤
60```
62Right side handles authentication actions. Left side handles page navigation.
64---

Split Navigation

Best for: apps with both marketing and product nav.

[Logo]   Features   Pricing   Blog        [Login]   [Sign Up]
├── Marketing nav (left) ──────┘          └── Auth nav (right) ──┤

Right side handles authentication actions. Left side handles page navigation.


Raw lines 53 to 65
66## Footer Navigation

Footer Navigation

Raw lines 66 to 67
68### Column-Based Footer (Standard)
70Best for: most sites. Organize links into 3-5 themed columns.
72```
73┌──────────────────────────────────────────────────────────┐
74│ │
75│ Product Resources Company Legal │
76│ ───────── ────────── ───────── ───── │
77│ Features Blog About Privacy │
78│ Pricing Guides Careers Terms │
79│ Integrations Templates Contact GDPR │
80│ Changelog Case Studies Press │
81│ Security Webinars Partners │
82│ │
83│ [Logo] © 2026 Company Name │
84│ Social: [Twitter] [LinkedIn] [GitHub] │
85│ │
86└──────────────────────────────────────────────────────────┘
87```

Column-Based Footer (Standard)

Best for: most sites. Organize links into 3-5 themed columns.

┌──────────────────────────────────────────────────────────┐
│                                                          │
│  Product          Resources        Company       Legal   │
│  ─────────        ──────────       ─────────     ─────   │
│  Features         Blog             About         Privacy │
│  Pricing          Guides           Careers       Terms   │
│  Integrations     Templates        Contact       GDPR    │
│  Changelog        Case Studies     Press                 │
│  Security         Webinars         Partners              │
│                                                          │
│  [Logo]  © 2026 Company Name                             │
│  Social: [Twitter] [LinkedIn] [GitHub]                   │
│                                                          │
└──────────────────────────────────────────────────────────┘
Raw lines 68 to 88
89### Minimal Footer
91Best for: simple sites, landing pages.
93```
94┌──────────────────────────────────────────────────────────┐
95│ [Logo] │
96│ © 2026 Company · Privacy · Terms · Contact │
97└──────────────────────────────────────────────────────────┘
98```

Minimal Footer

Best for: simple sites, landing pages.

┌──────────────────────────────────────────────────────────┐
│  [Logo]                                                  │
│  © 2026 Company  ·  Privacy  ·  Terms  ·  Contact        │
└──────────────────────────────────────────────────────────┘
Raw lines 89 to 99
100### Expanded Footer
102Best for: sites using footer for SEO (comparison pages, location pages, resource links).
104```
105┌──────────────────────────────────────────────────────────┐
106│ Product Resources Compare Use Cases │
107│ Features Blog vs Competitor A For Startups │
108│ Pricing Guides vs Competitor B For Enterprise│
109│ API Templates vs Competitor C For Agencies │
110│ │
111│ Integrations Popular Posts │
112│ Slack Zapier How to Do X │
113│ HubSpot Salesforce Guide to Y │
114│ Template: Z │
115│ │
116│ [Logo] © 2026 · Privacy · Terms · Security │
117└──────────────────────────────────────────────────────────┘
118```
120---

Expanded Footer

Best for: sites using footer for SEO (comparison pages, location pages, resource links).

┌──────────────────────────────────────────────────────────┐
│  Product     Resources    Compare         Use Cases      │
│  Features    Blog         vs Competitor A  For Startups  │
│  Pricing     Guides       vs Competitor B  For Enterprise│
│  API         Templates    vs Competitor C  For Agencies  │
│                                                          │
│  Integrations             Popular Posts                  │
│  Slack       Zapier       How to Do X                    │
│  HubSpot     Salesforce   Guide to Y                     │
│                           Template: Z                    │
│                                                          │
│  [Logo]  © 2026  ·  Privacy  ·  Terms  ·  Security      │
└──────────────────────────────────────────────────────────┘

Raw lines 100 to 121
122## Sidebar Navigation

Sidebar Navigation

Raw lines 122 to 123
124### Documentation Sidebar
126Persistent left sidebar with collapsible sections.
128```
129Getting Started
130 ├── Installation
131 ├── Quick Start
132 └── Configuration
134Guides
135 ├── Authentication
136 ├── Data Models
137 └── Deployment
139API Reference
140 ├── REST API
141 │ ├── Users
142 │ ├── Projects
143 │ └── Webhooks
144 └── GraphQL
146Examples
147 ├── Next.js
148 ├── Rails
149 └── Python
151Changelog
152```
154Rules:
155- Current page highlighted
156- Sections collapsible (expanded by default for active section)
157- Search at top of sidebar
158- "Previous / Next" page navigation at bottom of content area
159- Sticky on scroll (doesn't scroll away)

Documentation Sidebar

Persistent left sidebar with collapsible sections.

Getting Started
  ├── Installation
  ├── Quick Start
  └── Configuration

Guides
  ├── Authentication
  ├── Data Models
  └── Deployment

API Reference
  ├── REST API
  │   ├── Users
  │   ├── Projects
  │   └── Webhooks
  └── GraphQL

Examples
  ├── Next.js
  ├── Rails
  └── Python

Changelog

Rules:

  • Current page highlighted
  • Sections collapsible (expanded by default for active section)
  • Search at top of sidebar
  • "Previous / Next" page navigation at bottom of content area
  • Sticky on scroll (doesn't scroll away)
Raw lines 124 to 160
161### Blog Category Sidebar
163```
164Categories
165 ├── SEO (24)
166 ├── CRO (18)
167 ├── Content (15)
168 ├── Paid Ads (12)
169 └── Analytics (9)
171Popular Posts
172 ├── How to Improve SEO
173 ├── Landing Page Guide
174 └── Analytics Setup
176Newsletter
177 └── [Email signup form]
178```
180---

Blog Category Sidebar

Categories
  ├── SEO (24)
  ├── CRO (18)
  ├── Content (15)
  ├── Paid Ads (12)
  └── Analytics (9)

Popular Posts
  ├── How to Improve SEO
  ├── Landing Page Guide
  └── Analytics Setup

Newsletter
  └── [Email signup form]

Raw lines 161 to 181
182## Breadcrumbs
184### Standard Format
186```
187Home > Features > Analytics
188Home > Blog > SEO Category > How to Do Keyword Research
189Home > Docs > API Reference > Authentication
190```
192Rules:
193- Separator: `>` or `/` (be consistent)
194- Every segment is a link except the current page
195- Current page is plain text (not linked)
196- Don't include the current page if the title is already visible as an H1

Standard Format

Home > Features > Analytics
Home > Blog > SEO Category > How to Do Keyword Research
Home > Docs > API Reference > Authentication

Rules:

  • Separator: > or / (be consistent)
  • Every segment is a link except the current page
  • Current page is plain text (not linked)
  • Don't include the current page if the title is already visible as an H1
Raw lines 184 to 197
198### With Schema Markup
200```html
201<nav aria-label="Breadcrumb">
202 <ol itemscope itemtype="https://schema.org/BreadcrumbList">
203 <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
204 <a itemprop="item" href="/"><span itemprop="name">Home</span></a>
205 <meta itemprop="position" content="1" />
206 </li>
207 <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
208 <a itemprop="item" href="/features"><span itemprop="name">Features</span></a>
209 <meta itemprop="position" content="2" />
210 </li>
211 <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
212 <span itemprop="name">Analytics</span>
213 <meta itemprop="position" content="3" />
214 </li>
215 </ol>
216</nav>
217```
219Or use JSON-LD (recommended):
221```json
223 "@context": "https://schema.org",
224 "@type": "BreadcrumbList",
225 "itemListElement": [
226 { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com/" },
227 { "@type": "ListItem", "position": 2, "name": "Features", "item": "https://example.com/features" },
228 { "@type": "ListItem", "position": 3, "name": "Analytics" }
229 ]
231```
233---

With Schema Markup

<nav aria-label="Breadcrumb">
  <ol itemscope itemtype="https://schema.org/BreadcrumbList">
    <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
      <a itemprop="item" href="/"><span itemprop="name">Home</span></a>
      <meta itemprop="position" content="1" />
    </li>
    <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
      <a itemprop="item" href="/features"><span itemprop="name">Features</span></a>
      <meta itemprop="position" content="2" />
    </li>
    <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
      <span itemprop="name">Analytics</span>
      <meta itemprop="position" content="3" />
    </li>
  </ol>
</nav>

Or use JSON-LD (recommended):

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com/" },
    { "@type": "ListItem", "position": 2, "name": "Features", "item": "https://example.com/features" },
    { "@type": "ListItem", "position": 3, "name": "Analytics" }
  ]
}

Raw lines 198 to 234
235## Mobile Navigation

Mobile Navigation

Raw lines 235 to 236
237### Hamburger Menu
239Standard for mobile. All nav items collapse into a menu icon.
241Rules:
242- Hamburger icon (three lines) top-right or top-left
243- Full-screen or slide-out panel
244- CTA button visible without opening the menu (sticky header)
245- Search accessible from mobile menu
246- Accordion pattern for nested items

Hamburger Menu

Standard for mobile. All nav items collapse into a menu icon.

Rules:

  • Hamburger icon (three lines) top-right or top-left
  • Full-screen or slide-out panel
  • CTA button visible without opening the menu (sticky header)
  • Search accessible from mobile menu
  • Accordion pattern for nested items
Raw lines 237 to 247
248### Bottom Tab Bar
250Best for: web apps, PWAs, mobile-first products.
252```
253┌──────────────────────────────────────┐
254│ │
255│ [Page Content] │
256│ │
257├──────────────────────────────────────┤
258│ Home Search Create Profile │
259│ 🏠 🔍 ➕ 👤 │
260└──────────────────────────────────────┘
261```
263Rules:
264- 3-5 items max
265- Icons + labels (not just icons)
266- Active state clearly indicated
267- Most important action in the center
269---

Bottom Tab Bar

Best for: web apps, PWAs, mobile-first products.

┌──────────────────────────────────────┐
│                                      │
│           [Page Content]             │
│                                      │
├──────────────────────────────────────┤
│  Home    Search    Create    Profile │
│   🏠       🔍        ➕       👤    │
└──────────────────────────────────────┘

Rules:

  • 3-5 items max
  • Icons + labels (not just icons)
  • Active state clearly indicated
  • Most important action in the center

Raw lines 248 to 270
271## Anti-Patterns
273### Things to Avoid
275- **Too many header items** (8+): causes decision paralysis, nav becomes unreadable on smaller screens
276- **Dropdown inception**: dropdowns inside dropdowns inside dropdowns
277- **Mystery icons**: icons without labels — users don't know what they mean
278- **Hidden primary nav**: burying important pages in hamburger menus on desktop
279- **Inconsistent nav between pages**: nav should be identical across the site (except app vs marketing)
280- **No mobile consideration**: desktop nav that doesn't translate to mobile
281- **Footer as sitemap dump**: 50+ links in the footer with no organization
282- **Breadcrumbs that don't match URLs**: breadcrumb says "Products > Widget" but URL is `/shop/widget-pro`

Things to Avoid

  • Too many header items (8+): causes decision paralysis, nav becomes unreadable on smaller screens
  • Dropdown inception: dropdowns inside dropdowns inside dropdowns
  • Mystery icons: icons without labels — users don't know what they mean
  • Hidden primary nav: burying important pages in hamburger menus on desktop
  • Inconsistent nav between pages: nav should be identical across the site (except app vs marketing)
  • No mobile consideration: desktop nav that doesn't translate to mobile
  • Footer as sitemap dump: 50+ links in the footer with no organization
  • Breadcrumbs that don't match URLs: breadcrumb says "Products > Widget" but URL is /shop/widget-pro
Raw lines 273 to 283
284### Common Fixes
286| Problem | Fix |
287|---------|-----|
288| Too many nav items | Group into dropdowns or mega menus |
289| Users can't find pages | Add search, improve labeling |
290| High bounce from nav | Simplify choices, use clearer labels |
291| SEO pages not linked | Add to footer or resource sections |
292| Mobile nav is broken | Test on real devices, use hamburger pattern |
294---

Common Fixes

ProblemFix
Too many nav itemsGroup into dropdowns or mega menus
Users can't find pagesAdd search, improve labeling
High bounce from navSimplify choices, use clearer labels
SEO pages not linkedAdd to footer or resource sections
Mobile nav is brokenTest on real devices, use hamburger pattern

Raw lines 284 to 295
296## Navigation for SEO
298Internal links in navigation pass PageRank. Use this strategically:
300- **Header nav links are strongest** — put your most important pages here
301- **Footer links pass less value** but still matter — good for comparison pages, location pages
302- **Sidebar links** help with section-level authority — good for blog categories, doc sections
303- **Breadcrumbs** provide structural signals to search engines — implement with schema markup
304- **Don't use JavaScript-only nav** — search engines need crawlable HTML links
305- **Use descriptive anchor text** — "Analytics Features" not just "Features"

Navigation for SEO

Internal links in navigation pass PageRank. Use this strategically:

  • Header nav links are strongest — put your most important pages here
  • Footer links pass less value but still matter — good for comparison pages, location pages
  • Sidebar links help with section-level authority — good for blog categories, doc sections
  • Breadcrumbs provide structural signals to search engines — implement with schema markup
  • Don't use JavaScript-only nav — search engines need crawlable HTML links
  • Use descriptive anchor text — "Analytics Features" not just "Features"
Raw lines 296 to 305