Components: Breadcrumb Navigation
Guides breadcrumb implementation for SEO, UX, and GEO. Breadcrumbs show users their location in the site hierarchy and help search engines understand content taxonomy. Well-implemented breadcrumbs can increase CTR by 20–30%, reduce bounce rates by up to 30%, and strengthen internal linking.
When invoking: On first use, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On subsequent use or when the user asks to skip, go directly to the main output.
Scope
- Breadcrumb UI: Visual trail (Home > Category > Page)
- BreadcrumbList schema: JSON-LD structured data for rich results
- Placement: Typically below header, above main content
Breadcrumb Types
| Type |
Use case |
Recommendation |
| Location-based |
Reflects site hierarchy (Home > Blog > SEO > Page) |
Recommended — most SEO-friendly; clear structure |
| Attribute-based |
Shows product attributes (Home > Electronics > Phone > iPhone 15) |
E-commerce; product classification |
| Path-based |
Shows user's browsing path |
Avoid — different users, different paths; can cause confusion |
Default: Use location-based for most sites. Use attribute-based for e-commerce product pages.
Initial Assessment
Check for project context first: If .claude/project-context.md or .cursor/project-context.md exists, read it for site structure and key pages.
Identify:
- Site structure: Hierarchy depth (e.g., Home > Category > Subcategory > Product)
- Page types: Blog, e-commerce, docs, etc.
- Multi-category: Products in multiple categories—need canonical path
Best Practices
Structure & Hierarchy
| Practice |
Guideline |
| Depth |
3–5 levels optimal; avoid very long trails |
| Anchor text |
Keyword-rich, human-readable; descriptive |
| Consistency |
Same pattern across all pages (blog, category, product) |
| Canonical path |
For items in multiple categories, define one canonical breadcrumb to avoid diluted link equity |
Schema (BreadcrumbList)
See schema-markup for BreadcrumbList requirements, JSON-LD example, and multiple paths. Schema must match visible breadcrumbs exactly.
Placement & Design
| Practice |
Guideline |
| Position |
Below nav bar or above page title; top of content area |
| Visual |
Smaller font, lighter color; avoid competing with main content |
| Separator |
Clear separator (>, /, ›); consistent across site |
| Naming |
Match page title or nav menu; concise, descriptive |
UX & Accessibility
| Practice |
Guideline |
| Mobile |
Tappable; short, readable text; high contrast |
| Long trails |
Horizontal scroll container rather than truncating |
| Current page |
Last item non-linked; use aria-current="page" |
| Screen readers |
nav with aria-label="Breadcrumb"; proper landmark |
SEO Impact
- Internal linking: Breadcrumbs distribute link equity
- Crawlability: Helps crawlers understand taxonomy
- GEO: BreadcrumbList appears frequently on pages cited by Google AI Mode
- Note: Google removed visual breadcrumbs from mobile SERPs (Jan 2025) to save space, but schema and algorithmic value remain important for crawlers and AI. See serp-features for breadcrumb SERP display.
Implementation
Semantic HTML
<nav aria-label="Breadcrumb">
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://example.com/"><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="https://example.com/category/"><span itemprop="name">Category</span></a>
<meta itemprop="position" content="2" />
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem" aria-current="page">
<span itemprop="name">Current Page</span>
<meta itemprop="position" content="3" />
</li>
</ol>
</nav>
Implementation: Generate BreadcrumbList from route segments or page metadata. Ensure item URLs are absolute. Use next-seo BreadcrumbJsonLd or custom component. See schema-markup for JSON-LD structure.
When to Use Breadcrumbs
| Site type |
Use case |
| E-commerce |
Category > Subcategory > Product |
| Blog |
Home > Blog > Category > Post (see article-page-generator for article page structure) |
| Docs |
Home > Docs > Section > Page |
| Large sites |
Any site with 3+ level hierarchy |
Skip on flat sites (e.g., single-page, 1–2 level depth).
Deep pages: For 6+ levels, consider omitting middle levels; show only the most important categories to avoid clutter.
Platform Notes
| Platform |
Options |
| WordPress |
Yoast SEO, Rank Math, Breadcrumb NavXT |
| Next.js |
next-seo BreadcrumbJsonLd, custom from route segments |
| Shopify, Drupal, Joomla |
Built-in or plugin support |
Common Errors
| Error |
Fix |
| Relative URLs in schema |
Use absolute URLs (https://) |
| Schema doesn't match visible trail |
Keep schema and UI in sync |
| Missing position |
Include sequential position (1, 2, 3…) |
| Last item linked |
Current page typically not a link |
| Too many levels |
Limit to 5–7; omit middle levels for deep paths |
| Inaccurate path |
Breadcrumb must reflect actual site structure |
| No schema |
Add BreadcrumbList per schema-markup; otherwise no SERP breadcrumbs; see serp-features |
Output Format
- Structure recommendation (levels, labels)
- BreadcrumbList JSON-LD — see schema-markup for structure; with absolute URLs
- HTML structure (semantic, accessible)
- Placement (below header, above main)
- Validation: Rich Results Test, Schema Markup Validator, Search Console enhanced report
Related Skills
- article-page-generator: Article pages use breadcrumbs (Home > Blog > Category > Post)
- schema-markup: BreadcrumbList schema implementation; JSON-LD structure, requirements
- navigation-menu-generator: Header nav; breadcrumbs complement primary nav
- internal-links: Breadcrumbs are internal links; distribute link equity
- site-crawlability: Breadcrumbs help crawlers understand structure
- category-page-generator: Category hierarchy in breadcrumbs
- products-page-generator: Product pages often need breadcrumbs (Category > Product)
- serp-features: Breadcrumb SERP display; rich results
1---
2name: breadcrumb-generator
3description: When the user wants to add, optimize, or audit breadcrumb navigation. Also use when the user mentions "breadcrumbs," "breadcrumb trail," "breadcrumb nav," "breadcrumb links," "path navigation," "site breadcrumb," "BreadcrumbList schema," "location-based breadcrumb," "attribute-based breadcrumb," "site hierarchy display," "add breadcrumbs," or "breadcrumb SEO." For BreadcrumbList JSON-LD, use schema-markup. For main nav, use navigation-menu-generator.
4metadata:
5 version: 1.2.0
6---
7
8# Components: Breadcrumb Navigation
9
10Guides breadcrumb implementation for SEO, UX, and GEO. Breadcrumbs show users their location in the site hierarchy and help search engines understand content taxonomy. Well-implemented breadcrumbs can increase CTR by 20–30%, reduce bounce rates by up to 30%, and strengthen internal linking.
11
12**When invoking**: On **first use**, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output.
13
14## Scope
15
16- **Breadcrumb UI**: Visual trail (Home > Category > Page)
17- **BreadcrumbList schema**: JSON-LD structured data for rich results
18- **Placement**: Typically below header, above main content
19
20## Breadcrumb Types
21
22| Type | Use case | Recommendation |
23|------|----------|----------------|
24| **Location-based** | Reflects site hierarchy (Home > Blog > SEO > Page) | **Recommended** — most SEO-friendly; clear structure |
25| **Attribute-based** | Shows product attributes (Home > Electronics > Phone > iPhone 15) | E-commerce; product classification |
26| **Path-based** | Shows user's browsing path | **Avoid** — different users, different paths; can cause confusion |
27
28**Default**: Use location-based for most sites. Use attribute-based for e-commerce product pages.
29
30## Initial Assessment
31
32**Check for project context first:** If `.claude/project-context.md` or `.cursor/project-context.md` exists, read it for site structure and key pages.
33
34Identify:
351. **Site structure**: Hierarchy depth (e.g., Home > Category > Subcategory > Product)
362. **Page types**: Blog, e-commerce, docs, etc.
373. **Multi-category**: Products in multiple categories—need canonical path
38
39## Best Practices
40
41### Structure & Hierarchy
42
43| Practice | Guideline |
44|----------|-----------|
45| **Depth** | 3–5 levels optimal; avoid very long trails |
46| **Anchor text** | Keyword-rich, human-readable; descriptive |
47| **Consistency** | Same pattern across all pages (blog, category, product) |
48| **Canonical path** | For items in multiple categories, define one canonical breadcrumb to avoid diluted link equity |
49
50### Schema (BreadcrumbList)
51
52See **schema-markup** for BreadcrumbList requirements, JSON-LD example, and multiple paths. Schema must match visible breadcrumbs exactly.
53
54### Placement & Design
55
56| Practice | Guideline |
57|----------|-----------|
58| **Position** | Below nav bar or above page title; top of content area |
59| **Visual** | Smaller font, lighter color; avoid competing with main content |
60| **Separator** | Clear separator (>, /, ›); consistent across site |
61| **Naming** | Match page title or nav menu; concise, descriptive |
62
63### UX & Accessibility
64
65| Practice | Guideline |
66|----------|-----------|
67| **Mobile** | Tappable; short, readable text; high contrast |
68| **Long trails** | Horizontal scroll container rather than truncating |
69| **Current page** | Last item non-linked; use `aria-current="page"` |
70| **Screen readers** | `nav` with `aria-label="Breadcrumb"`; proper landmark |
71
72### SEO Impact
73
74- **Internal linking**: Breadcrumbs distribute link equity
75- **Crawlability**: Helps crawlers understand taxonomy
76- **GEO**: BreadcrumbList appears frequently on pages cited by Google AI Mode
77- **Note**: Google removed visual breadcrumbs from mobile SERPs (Jan 2025) to save space, but schema and algorithmic value remain important for crawlers and AI. See **serp-features** for breadcrumb SERP display.
78
79## Implementation
80
81### Semantic HTML
82
83```html
84<nav aria-label="Breadcrumb">
85 <ol itemscope itemtype="https://schema.org/BreadcrumbList">
86 <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
87 <a itemprop="item" href="https://example.com/"><span itemprop="name">Home</span></a>
88 <meta itemprop="position" content="1" />
89 </li>
90 <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
91 <a itemprop="item" href="https://example.com/category/"><span itemprop="name">Category</span></a>
92 <meta itemprop="position" content="2" />
93 </li>
94 <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem" aria-current="page">
95 <span itemprop="name">Current Page</span>
96 <meta itemprop="position" content="3" />
97 </li>
98 </ol>
99</nav>
100```
101
102**Implementation**: Generate BreadcrumbList from route segments or page metadata. Ensure `item` URLs are absolute. Use `next-seo` BreadcrumbJsonLd or custom component. See **schema-markup** for JSON-LD structure.
103
104## When to Use Breadcrumbs
105
106| Site type | Use case |
107|-----------|----------|
108| **E-commerce** | Category > Subcategory > Product |
109| **Blog** | Home > Blog > Category > Post (see **article-page-generator** for article page structure) |
110| **Docs** | Home > Docs > Section > Page |
111| **Large sites** | Any site with 3+ level hierarchy |
112
113**Skip** on flat sites (e.g., single-page, 1–2 level depth).
114
115**Deep pages**: For 6+ levels, consider omitting middle levels; show only the most important categories to avoid clutter.
116
117## Platform Notes
118
119| Platform | Options |
120|----------|---------|
121| **WordPress** | Yoast SEO, Rank Math, Breadcrumb NavXT |
122| **Next.js** | next-seo BreadcrumbJsonLd, custom from route segments |
123| **Shopify, Drupal, Joomla** | Built-in or plugin support |
124
125## Common Errors
126
127| Error | Fix |
128|-------|-----|
129| Relative URLs in schema | Use absolute URLs (https://) |
130| Schema doesn't match visible trail | Keep schema and UI in sync |
131| Missing position | Include sequential position (1, 2, 3…) |
132| Last item linked | Current page typically not a link |
133| Too many levels | Limit to 5–7; omit middle levels for deep paths |
134| Inaccurate path | Breadcrumb must reflect actual site structure |
135| No schema | Add BreadcrumbList per **schema-markup**; otherwise no SERP breadcrumbs; see **serp-features** |
136
137## Output Format
138
139- **Structure** recommendation (levels, labels)
140- **BreadcrumbList** JSON-LD — see **schema-markup** for structure; with absolute URLs
141- **HTML** structure (semantic, accessible)
142- **Placement** (below header, above main)
143- **Validation**: [Rich Results Test](https://search.google.com/test/rich-results), [Schema Markup Validator](https://validator.schema.org/), Search Console enhanced report
144
145## Related Skills
146
147- **article-page-generator**: Article pages use breadcrumbs (Home > Blog > Category > Post)
148- **schema-markup**: BreadcrumbList schema implementation; JSON-LD structure, requirements
149- **navigation-menu-generator**: Header nav; breadcrumbs complement primary nav
150- **internal-links**: Breadcrumbs are internal links; distribute link equity
151- **site-crawlability**: Breadcrumbs help crawlers understand structure
152- **category-page-generator**: Category hierarchy in breadcrumbs
153- **products-page-generator**: Product pages often need breadcrumbs (Category > Product)
154- **serp-features**: Breadcrumb SERP display; rich results