What are breadcrumbs on a website?
Breadcrumbs are the row of links showing where the current page sits in a site's hierarchy, from the home page or a section down to it, for example Home › Women › Shirts. They let the visitor move up a level and, marked up with Schema.org's BreadcrumbList type, they tell a search engine the same thing.
Key takeaways
- Breadcrumbs show where a page is within the site, from general to specific, and each level is a link you can go back to.
- Google recommends they represent a typical user path to the page, not copy the URL structure.
- Since January 23, 2025, Google shows breadcrumbs only in desktop results; on mobile it shows just the domain, and the markup remains valid.
- BreadcrumbList markup needs at least two items, each with its position and its name, and it has to say the same as the path the visitor sees.
You see them above the title of almost any product page: Home › Women › Shirts › Linen shirt. The name comes from the story of Hansel and Gretel, who dropped crumbs to find their way back. In a store they do two jobs at once. They orient someone who lands on a product page from a search engine without passing through the home page, and they tell Google where in the catalog that page sits. They are navigation and structured data at the same time, and what matters is that they say the same thing in both places.
How they work
What the visitor sees. The W3C, in its accessibility patterns guide, defines breadcrumbs as a list of links to the parent pages of the current page, in hierarchical order. It asks for three things: that the list sit inside a navigation landmark, that the landmark have a label (with aria-label or aria-labelledby) and that the link to the current page carry aria-current="page", so a screen reader announces where you are.[1]W3C, WAI-ARIA Authoring Practices Guide. Breadcrumb Pattern Google describes the same idea from the other side: breadcrumbs indicate the page's position in the site hierarchy, can help it understand and explore the site, and let you go up one level at a time starting from the last crumb.[2]Google Search Central. Breadcrumb (BreadcrumbList) structured data
Which hierarchy they show. This is the decision that goes wrong most. Google recommends that breadcrumbs represent a typical user path to the page, rather than copy the URL structure. There is no need to include the domain level or the page itself, and a page reached by different paths can declare more than one: in Google's example, the same literary awards page hangs from "Books › Science Fiction Novels" and also from "Literature".[2]Google Search Central. Breadcrumb (BreadcrumbList) structured data
What the search engine reads. Breadcrumbs are marked up with the BreadcrumbList type from Schema.org, which the vocabulary defines as an ItemList made up of a chain of linked pages, normally described by their URL and name, and which usually ends at the current page. The position property is what rebuilds the order, starting at 1.[3]Schema.org. BreadcrumbList Google asks for a BreadcrumbList with at least two items of type ListItem, each with three properties: item (the URL of that crumb's page), name (the text the visitor sees) and position (its place in the path, where 1 is the start). The last crumb can go without item: Google then uses the URL of the page that contains it.[2]Google Search Central. Breadcrumb (BreadcrumbList) structured data
What changed in Google. On January 23, 2025, Google stopped showing breadcrumbs in mobile search results, in all languages and regions, because on small screens they got cut off and were not as useful. On mobile, the result's visible URL is reduced to the domain; on desktop it still shows the domain and the breadcrumb path. Google clarified that anyone using the markup does not need to do anything, because it still supports it for desktop results, and that the breadcrumb rich results report in Search Console and the Rich Results Test remain available.[4]Google Search Central Blog. Simplifying the visible URL element on mobile search results Its documentation says it that way today: the feature is available on desktop in all regions and languages where Search is available.[2]Google Search Central. Breadcrumb (BreadcrumbList) structured data
And every crumb is a link. Google uses links as a signal to decide how relevant pages are and to find new pages to crawl, and in general it can only follow a link if it is an <a> element with an href attribute.[5]Google Search Central. Link best practices for Google Breadcrumbs built with buttons that navigate through JavaScript look the same, but a crawler may not follow them.
In a store
The visible path and its markup, one below the other. Fictitious example: the store, the categories and the addresses are made up.
<nav aria-label="Breadcrumbs">
<ol>
<li><a href="https://www.example.com/">Home</a></li>
<li><a href="https://www.example.com/women">Women</a></li>
<li><a href="https://www.example.com/women/shirts">Shirts</a></li>
<li>
<a href="https://www.example.com/calella-linen-shirt" aria-current="page"
>Calella linen shirt</a
>
</li>
</ol>
</nav>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://www.example.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Women",
"item": "https://www.example.com/women"
},
{
"@type": "ListItem",
"position": 3,
"name": "Shirts",
"item": "https://www.example.com/women/shirts"
},
{ "@type": "ListItem", "position": 4, "name": "Calella linen shirt" }
]
}
</script>
You check them position by position: each name is the text of a visible crumb, each item is the address of its link, and the order is the same. The last crumb goes without item, because it is the page you are on. Notice that the product page's URL, /calella-linen-shirt, does not contain /women/shirts, and that is fine: breadcrumbs describe the visitor's path, not the address.[2]Google Search Central. Breadcrumb (BreadcrumbList) structured data If the same shirt is also in the sale section, the product page can declare a second path instead of picking one at random.[2]Google Search Central. Breadcrumb (BreadcrumbList) structured data
On a product page published with Clione, the BreadcrumbList sits inside the same @graph as the Organization, WebSite and Product nodes.
What gets mixed up
Removing the breadcrumb markup because Google no longer shows breadcrumbs on mobile. The January 2025 change was one of presentation: Google says that anyone using the markup does not need to do anything, that it still supports it for desktop results and that the Search Console report remains active.[4]Google Search Central Blog. Simplifying the visible URL element on mobile search results
How to check it
- Read the visible path on a product page and open its source code: every crumb except the last must be an
<a>link with anhref.[5]Google Search Central. Link best practices for Google - Run the URL through the Rich Results Test. It tells you which rich result types it finds, breadcrumbs among them, and with what errors or suggestions.[6]Search Console Help. Rich Results Test
- Compare crumb by crumb the
name, theitemand thepositionof each element with what the visitor sees, and confirm there are at least two.[2]Google Search Central. Breadcrumb (BreadcrumbList) structured data - Watch the Search Console breadcrumb report after changing theme or template. Google warns that an increase in invalid items after a change usually points to a template that is not working.[2]Google Search Central. Breadcrumb (BreadcrumbList) structured data
- Search for your product page on Google from a computer, not a phone: it is where Google still shows the breadcrumb path under the title.[4]Google Search Central Blog. Simplifying the visible URL element on mobile search results
Related concept: internal linking
Breadcrumbs are a form of internal linking, but they are not all of it. Internal linking is the set of links between pages on your own site: the menu, related products, links inside a description and also breadcrumbs. Google reads each link's text as a clue about the destination page, for people and for itself.[5]Google Search Central. Link best practices for Google In breadcrumbs that text is the name of each category page, so a good category name works twice: it orients the visitor and describes the page it points to. What sets breadcrumbs apart from the rest of the linking is their order: they do not show the whole site, as a menu does, but the path to the page you are on.
To keep going, the structured data reading path orders the rest of the terms, and the guide to auditing a product page's structured data includes breadcrumbs in the review of a full product page.
Synonyms
- English
- breadcrumbs, breadcrumb trail
- Español
- ruta de navegación, rastro de migas
Sources
- [5] Google Search Central. Link best practices for Google. Accessed . ↑ ↑ ↑
- [6] Search Console Help. Rich Results Test. Accessed . ↑
Change history
- First English version, translated from the Spanish original.
This definition is published under CC BY 4.0. Reuse this definition freely, crediting Clione with a link to this page.
Related terms
Structured data
What structured data is, which pieces make it up, what a store gets from it according to Google, and how to check it matches the product page.
JSON-LD
What JSON-LD is, what @context, @type, @id and @graph mean, why Google recommends it and how to find and check the block on your product page.
Schema markup
What schema markup means when an audit asks for it or an app promises it: which vocabulary, which format, which types, and what it gets a store today.
Internal linking
What internal linking is, how Google uses it to discover pages and gauge their importance, which links it cannot follow and how to audit it in your store.
Category page
What a category page is, how it differs from a filter or internal search results, how Google reads it and how to check it.
ItemList
What ItemList is in Schema.org, how ListItem orders it, which Google carousels use it with products and how to review the markup on your category pages.
Make your catalog easy for bots to read
Clione fills every product page with what bots read best: the JSON-LD graph with its structured data, the meta description and the FAQs. You review and press Push; then we check your live store so it all stays published.