Good AI Tools

>> skills/components/breadcrumb

stars: 26
forks: 6
watches: 26
last updated: 2026-03-05 06:09:38

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

TypeUse caseRecommendation
Location-basedReflects site hierarchy (Home > Blog > SEO > Page)Recommended — most SEO-friendly; clear structure
Attribute-basedShows product attributes (Home > Electronics > Phone > iPhone 15)E-commerce; product classification
Path-basedShows user's browsing pathAvoid — 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 product marketing context first: If .claude/product-marketing-context.md or .cursor/product-marketing-context.md exists, read it for site structure and key pages.

Identify:

  1. Site structure: Hierarchy depth (e.g., Home > Category > Subcategory > Product)
  2. Page types: Blog, e-commerce, docs, etc.
  3. Multi-category: Products in multiple categories—need canonical path

Best Practices

Structure & Hierarchy

PracticeGuideline
Depth3–5 levels optimal; avoid very long trails
Anchor textKeyword-rich, human-readable; descriptive
ConsistencySame pattern across all pages (blog, category, product)
Canonical pathFor items in multiple categories, define one canonical breadcrumb to avoid diluted link equity

Schema (BreadcrumbList)

RequirementGuideline
FormatJSON-LD in <script type="application/ld+json">
URLsAbsolute URLs with https:// for each item
PositionSequential integers starting from 1
MatchSchema must match visible breadcrumbs exactly
OrderItemListOrderAscending (position 1 first)

Placement & Design

PracticeGuideline
PositionBelow nav bar or above page title; top of content area
VisualSmaller font, lighter color; avoid competing with main content
SeparatorClear separator (>, /, ›); consistent across site
NamingMatch page title or nav menu; concise, descriptive

UX & Accessibility

PracticeGuideline
MobileTappable; short, readable text; high contrast
Long trailsHorizontal scroll container rather than truncating
Current pageLast item non-linked; use aria-current="page"
Screen readersnav 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>

BreadcrumbList JSON-LD

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://example.com/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Category",
      "item": "https://example.com/category/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Current Page",
      "item": "https://example.com/category/current-page/"
    }
  ]
}
</script>

Next.js (dynamic)

Generate BreadcrumbList from route segments or page metadata. Ensure item URLs are absolute. Use next-seo BreadcrumbJsonLd or custom component.

Multiple Breadcrumb Paths

When a page is reachable via multiple paths (e.g., product in multiple categories), Google supports multiple BreadcrumbList on the same page. Use an array of BreadcrumbList objects; define a canonical path to avoid diluted link equity when possible.

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [ /* path A */ ]
  },
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [ /* path B */ ]
  }
]
</script>

When to Use Breadcrumbs

Site typeUse case
E-commerceCategory > Subcategory > Product
BlogHome > Blog > Category > Post (see article-page-generator for article page structure)
DocsHome > Docs > Section > Page
Large sitesAny 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

PlatformOptions
WordPressYoast SEO, Rank Math, Breadcrumb NavXT
Next.jsnext-seo BreadcrumbJsonLd, custom from route segments
Shopify, Drupal, JoomlaBuilt-in or plugin support

Common Errors

ErrorFix
Relative URLs in schemaUse absolute URLs (https://)
Schema doesn't match visible trailKeep schema and UI in sync
Missing positionInclude sequential position (1, 2, 3…)
Last item linkedCurrent page typically not a link
Too many levelsLimit to 5–7; omit middle levels for deep paths
Inaccurate pathBreadcrumb must reflect actual site structure
No schemaAdd BreadcrumbList; otherwise no SERP breadcrumbs; see serp-features

Output Format

  • Structure recommendation (levels, labels)
  • BreadcrumbList JSON-LD (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 is a core schema type
  • 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