Glossary · Technical SEO

What are breadcrumbs?

Breadcrumbs are navigation links showing a page's place in a site's hierarchy. Breadcrumb structured data can describe that hierarchy to Google without replacing the visible navigation.

Updated

What are breadcrumbs on a website?

A breadcrumb trail shows where the current page belongs within a website’s hierarchy. It offers links to broader parent sections so visitors can move upward without retracing their browsing history. The visible navigation serves people, while corresponding structured data describes the hierarchy in a format a search engine can interpret.

  • A visitor may land directly on a detailed service page from search.

    They have not seen the homepage or followed the main menu. A useful trail provides the missing context immediately: which service family contains this page, and where to compare related options.

  • Breadcrumbs are particularly helpful when pages sit within several levels of meaningful categories.

    A short website with only independent top-level pages may gain little from an elaborate trail. The navigation should express an actual relationship rather than create artificial depth to accommodate more keywords.

  • Google’s breadcrumb documentation, accessed October 8, 2026, distinguishes the hierarchy and its supported search appearance.

    The current documentation describes desktop availability. A missing breadcrumb presentation on a mobile search result therefore does not, by itself, identify a broken implementation.

  • Consider an illustrative trail: Services, Drain Services, Drain Camera Inspection.

    The middle destination should help someone evaluate the broader drain-service category. If it instead opens a generic homepage, the trail’s label promises a relationship that its destination does not deliver.

How does a hierarchy differ from browsing history?

Hierarchical breadcrumbs describe a stable relationship between the current page and its parent sections. Browsing history records the visitor’s previous actions, which may include unrelated pages or outside websites. A hierarchy remains understandable when someone opens a deep page directly, while a history-based trail depends on a journey they may never have taken.

How does a hierarchy differ from browsing history?
Point to considerExplanation and application
The browser’s Back function already handles movement through visited pages.Turning a breadcrumb into a copy of that sequence makes its meaning unpredictable. A person arriving from a search result should not receive a different site hierarchy from someone arriving through an email.
An attribute-based filter trail has a different purpose again.A product listing might show selected size or material filters that can be removed. Those controls describe the current selection. They do not automatically qualify as parent pages within the site’s information architecture.
Review the intended site structure before generating trails.Determine whether each segment names a genuine broader section, a filter state, or a recent visit. Keep these functions visually understandable when a page needs more than one of them.
An illustrative repair guide could belong under Resources and Plumbing Guides.Its reader may previously have visited a pricing page. The pricing page does not become the guide’s parent because it appeared earlier in that particular session.

Should breadcrumbs follow every segment of the URL?

Breadcrumb labels should reflect a useful browsing hierarchy rather than mechanically copy the page’s address. URL paths can contain routing prefixes, technical identifiers, or historical naming choices that do not represent parent sections. Choose destinations people can use, then maintain a deliberate relationship between those destinations and the page’s assigned category.

  • A route such as /content/services/drains/camera/ may include a technical content prefix.

    Creating a visible Content breadcrumb just because that directory exists would add a label without a useful destination. Routing structure and editorial hierarchy can agree, but they are separate implementation decisions.

  • Conversely, a flat URL such as /drain-camera-inspection/ can still belong beneath a drain-service category.

    A shallow address does not forbid a deeper navigational relationship. The parent assignment should come from maintained page data rather than speculative string splitting.

  • Google’s current breadcrumb guidance, verified October 8, 2026, recommends a typical user path rather than mirroring URL structure.

    It also explains that including the domain and current page is not required in every trail. These choices need consistent handling across templates.

  • For a content management system, store a parent reference or category assignment that resolves to a real page.

    Validate that reference when publishing. A deleted parent should produce an actionable editorial issue rather than a fabricated link assembled from the child’s address.

  • Check what happens when the URL changes but the category remains the same.

    The visible labels may remain appropriate, while the destination must update. Also check the reverse case: a category move can require a different breadcrumb even if the page keeps its existing URL.

What should a useful parent destination contain?

A parent destination should explain or organize the broader subject represented by its breadcrumb label. It should let visitors find relevant sibling pages or understand available options. A working response alone does not establish usefulness, because a generic landing page can load successfully while failing to provide the promised category context.

  • Inspect the parent page as a visitor, not merely as a URL in a spreadsheet.

    A drain-service overview should distinguish the service types it links to. A resources category should make its guides discoverable. An empty category heading offers little help beyond confirming that the page exists.

  • This matters for internal linking because the trail creates repeated links from child pages to their parents.

    Those links should support a sensible route through the site. They cannot compensate for a parent page that never explains what its category contains.

  • Avoid assigning every child to the most commercially desirable page without considering the relationship.

    A general maintenance guide may belong in an educational library. Its connection to a booking page can be expressed through a separate contextual link rather than misrepresented as ancestry.

  • An illustrative diagnostic question is simple: after selecting the parent, can a visitor find another relevant child without opening the main menu?

    If the answer is no, inspect the category’s content and navigation before adding more breadcrumb levels.

  • Sometimes a parent page is intentionally retired.

    Decide whether its children move to a surviving category or become direct children of another section. Leaving a retired destination in the trail creates a navigation problem even when a redirect eventually carries visitors somewhere accessible.

How should visible breadcrumbs support accessibility?

An accessible trail uses understandable links inside a labeled navigation region and identifies the current page appropriately. Its order should remain meaningful without decorative separators or visual styling. Visitors using a keyboard or assistive technology need to distinguish the breadcrumb from other navigation and understand which entries lead to broader pages.

  • The W3C breadcrumb pattern, accessed October 8, 2026, places the trail within a navigation landmark.

    That region receives an accessible label through aria-label or aria-labelledby. The pattern also explains current-page identification using aria-current when the current page is a link.

  • If the current page is plain text rather than a link, W3C describes aria-current as optional.

    Do not add a redundant self-link merely to satisfy a mistaken belief that every trail entry must be clickable. Choose a consistent design that clearly distinguishes parents from the current location.

  • An illustrative HTML outline is:

<nav aria-label="Breadcrumb">
  <ol>
    <li><a href="/services/">Services</a></li>
    <li><a href="/services/drains/">Drain services</a></li>
    <li aria-current="page">Camera inspection</li>
  </ol>
</nav>

This example demonstrates structure, not a complete visual component. Test the actual styled version with keyboard navigation. Confirm visible focus and readable link names. A small clickable region or low-contrast label can make otherwise sensible markup difficult to use.

Decorative chevrons should not become unexplained interactive controls. If separators are inserted as markup, examine their effect in the accessibility tree. The parent links carry the navigation function; a separator should not interrupt their meaning or appear to name another destination.

How should a long trail behave on a narrow screen?

A narrow-screen breadcrumb should preserve useful parent navigation without hiding essential context behind an unclear visual shortcut. Wrapping, scrolling, or deliberate abbreviation each has tradeoffs. Test the chosen design with long labels and real interaction rather than assuming that a trail which fits on a desktop remains usable on a phone.

  • Wrapping can preserve the full text, but the resulting lines must still read in the correct order.

    A separator stranded on its own line can make the relationship confusing. Inspect the component at the actual widths where labels wrap rather than testing only a convenient device preset.

  • Horizontal scrolling retains labels but may conceal a parent outside the visible area.

    Provide a discoverable interaction if using this approach. A clipped trail with no indication of additional content can look complete even though the visitor cannot see its broader starting point.

  • Collapsing intermediate entries requires another decision.

    If an ellipsis opens a menu, it becomes an interactive control with its own accessible name and keyboard behavior. A decorative ellipsis that simply removes useful parent links should not be treated as an equivalent navigation experience.

  • Avoid abbreviating a category until its label becomes ambiguous.

    An inspection page might fit beneath Plumbing without shortening the label. A specialized technical category may need its full name so the reader understands why it contains the current page.

What does BreadcrumbList structured data describe?

BreadcrumbList structured data expresses the ordered entries of a breadcrumb trail as machine-readable items. It records each entry’s position, readable name, and relevant destination where required. This representation complements the visible navigation, but it does not create usable links for visitors or repair a hierarchy that is misleading on the page.

  • Google’s supported implementation uses BreadcrumbList with an itemListElement collection of ListItem entries.

    This structured data uses position to establish where each entry belongs in the trail. A descriptive name communicates its meaning, while the item identifies the corresponding page.

  • The required-property details in Google’s documentation, accessed October 8, 2026, specify at least two ListItem entries.

    They also allow omission of the final item’s destination, in which case Google uses the containing page’s URL. That documented exception does not justify missing destinations for earlier parent entries.

  • A schema markup vocabulary and a search engine’s supported feature requirements are related but distinct.

    A general validator can recognize vocabulary without proving that Google’s breadcrumb requirements are satisfied. Use the appropriate feature test alongside a review of the actual hierarchy.

  • Do not put promotional sentences into the entry names.

    The label should identify the parent or current page. Replacing Drain Services with a string of cities and sales claims changes the data from navigation context into an advertising fragment.

  • If markup comes from a different component than visible navigation, inspect both outputs after edits.

    A category rename can update the visible trail while leaving a stale name in the structured data. Shared page data reduces that drift, but the rendered output still needs verification.

How can JSON-LD encode a breadcrumb trail?

JSON-LD can encode the breadcrumb as a data block whose ordered list contains the trail’s entries. The block must be valid JSON and use the properties expected for the breadcrumb feature. Generate it from the same maintained hierarchy as visible navigation so category changes update labels and destinations consistently across both outputs.

An illustrative minimal block follows the service hierarchy already described:

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Services",
      "item": "https://example.com/services/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Drain services",
      "item": "https://example.com/services/drains/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Camera inspection"
    }
  ]
}

The example is syntax guidance, not evidence that an actual business has these pages. Its positions communicate the sequence, and its final entry uses the documented option to omit the item URL. The preceding parent destinations remain explicit.

  • When implementing JSON-LD, use a serializer rather than manually concatenating labels into a string.

    Quotes in a category name can otherwise break the JSON. Inspect the delivered block after escaping, because source data that looks correct in an editor may produce invalid output.

  • Check whether multiple plugins or components generate duplicate trails.

    Separate blocks are not automatically an error when they express legitimate alternate paths. However, conflicting copies of the same intended trail indicate that more than one component owns data which should remain coordinated.

  • A successful parse establishes that the block is readable JSON.

    It does not establish the truth of its hierarchy, destination availability, or compliance with every feature rule. Review those questions separately instead of treating syntax success as a complete validation result.

When are multiple breadcrumb trails appropriate?

Multiple trails are appropriate when the same page genuinely belongs to more than one navigable hierarchy. Each trail should provide a coherent route through real parent sections. Alternate paths should describe meaningful relationships, not duplicate the same ancestry with keyword variations or add locations that the website does not actually organize around.

When are multiple breadcrumb trails appropriate?
Point to considerExplanation and application
Google’s documentation explicitly includes multiple-trail examples.Its fictional award page can be reached through different literary categories. The important principle is that the alternate route remains a real categorization of the same destination, rather than a manufactured sequence chosen for a search phrase.
A service resource might genuinely belong beneath both Plumbing Guides and Property Maintenance.That relationship requires maintained categories with relevant content. Simply replacing the parent label while pointing both trails to an unrelated homepage does not create two useful hierarchies.
Decide which trail should appear in visible navigation and how alternate routes should be communicated.Showing several long trails can overwhelm a small page header. The design can express alternate categorization elsewhere, provided the structured representation does not invent a relationship absent from the site’s actual organization.
Also distinguish alternate hierarchy from canonicalization.A single page can have several legitimate category paths without needing several equivalent URLs. Breadcrumbs describe organization; canonical signals address preferred representations of duplicate or similar pages.
If category routes generate duplicate page URLs, inspect that separate URL behavior.A correct breadcrumb does not resolve conflicting canonical signals. Keep category membership and URL identity as explicit decisions, so the navigation component does not accidentally create a new crawlable address for each parent assignment.

How should breadcrumb destinations handle changed URLs?

Breadcrumb destinations should stay aligned with the currently intended parent pages after URL changes or category moves. Check the final response and meaning of each destination rather than assuming that an old address remains suitable because it redirects. Navigation updates should reflect the new hierarchy, while redirects preserve access from older references where appropriate.

  • An old parent URL can continue to function through a redirect, but the trail should ordinarily point directly to the intended destination.

    Otherwise every child retains an unnecessary dependency on a historical route. This is especially visible when the redirect target changes again during a later site restructuring.

  • A redirect chain can conceal a more serious semantic error.

    The original drain category may pass through several redirects and end on a general services page. A visitor still reaches a live page, but the breadcrumb’s specific label no longer matches the destination.

  • Check parent links after changes to capitalization, host, or trailing slash conventions.

    The component may assemble a path differently from the routing system. Test the actual href and final URL, not merely the destination stored in the CMS record.

  • An illustrative migration review starts with a child whose parent has moved.

    Confirm the parent’s new content, update its reference, and inspect both visible navigation and JSON-LD. Then open the old parent address separately to evaluate the redirect; that is a distinct compatibility check.

How do you validate breadcrumbs after publication?

Validate the visible trail, its destinations, and its structured representation as separate parts of the same implementation. Begin with the public page a visitor receives, then inspect the machine-readable block and feature-test results. A passing structured-data test cannot establish that the labels are useful or that every parent page provides a sensible next step.

  • Open the public URL without relying on an authenticated editing session.

    Follow each parent link and inspect its final destination. Confirm that the current page is recognizable and that the trail retains its order on a narrow viewport. This catches navigation problems which code validation alone cannot describe.

  • Use Google’s Rich Results Test for the supported breadcrumb implementation.

    Google’s current documentation recommends resolving critical errors and checking deployed URLs through URL Inspection. Record the tested URL and whether the result came from pasted code or a live page, because those tests inspect different evidence.

  • A pasted block can be valid while production serves an older template.

    Conversely, a live test may reveal that an otherwise correct block never reaches the public response. When JavaScript SEO is involved, compare the delivered source with the rendered output and investigate the generation path.

  • For an illustrative missing-name error, first identify the exact affected entry.

    Inspect its category record, then inspect the generated list item. If a parent reference resolves but its label is blank, repairing JSON punctuation alone will not address the underlying missing data.

  • Google’s documentation also recommends monitoring the relevant Search Console report after deployment.

    An invalid-item change can point to a template problem, but the report is not a complete inventory of every page. Confirm a representative affected URL directly before attributing the issue to a specific component.

What do valid breadcrumb reports actually establish?

A valid breadcrumb report establishes that the detected implementation meets the checks represented by that report. It does not establish improved rankings, a specific search-result presentation, or a measurable increase in inquiries. Interpret validity as implementation evidence, then use separate observations to evaluate navigation usefulness and the search appearances actually reported for the page.

  • Google’s breadcrumb guidance, accessed October 8, 2026, explains that correct implementation does not compel a particular rich-result presentation.

    Search appearance can vary. A page without an observed breadcrumb display should therefore receive a diagnosis based on the relevant evidence rather than an assumed penalty.

  • Separate a live implementation check from Google’s last processed version.

    A repaired page may look correct in a current test while a report still reflects older processing. Preserve those distinctions when reporting the issue; otherwise the team may repeatedly change code that has already been corrected.

Continue the public-page review

The website SEO checker can support an initial page review. Verify breadcrumb hierarchy, accessibility, and feature eligibility with the specific checks described here. For implementation work across templates and navigation, explore technical SEO services.

Questions about Breadcrumbs

How are breadcrumbs different from a URL path?

Breadcrumbs represent the site's meaningful hierarchy for the reader. URL segments can resemble that hierarchy, but the trail should not blindly copy every path component.

Google Search documentation ↗
Can a page have more than one breadcrumb trail?

Yes. Google documents multiple trails when a page can sensibly fit more than one navigation hierarchy. Each trail should represent a useful path.

Google Search documentation ↗
What information belongs in BreadcrumbList markup?

Describe the ordered ListItem entries with their position, name and appropriate item URL. Follow Google's current required-property guidance and visible page context.

Google Search documentation ↗
Does breadcrumb markup guarantee a visible search feature?

No. Valid markup establishes implementation, not a guaranteed search presentation. Google's systems decide when a supported feature is useful.

Google Search documentation ↗

Continue learning

Try a relevant tool

  • Website SEO checker →

    Inspect whether structured data is present before validating breadcrumb hierarchy and properties.

Sources

How To Add Breadcrumb (BreadcrumbList) Markup | Google Search Central  |  Documentation  |  Google for Developers ↗Accessed October 8, 2026 Breadcrumb Pattern | APG | WAI | W3C ↗Accessed October 8, 2026

Published . Definitions and examples link to their supporting sources. Our SEO methodology →

SEO · Content · Local · Web Design

Connect the website work to your business.

We assess the pages, search demand, and customer actions that matter to your business, then explain where to focus the work.