WordPress
Turn on breadcrumbs in Yoast or Rank Math first. For a single page, use a plugin such as WPCode.
Paste a page URL to build a BreadcrumbList trail in one click, then edit the names, reorder the levels and copy valid JSON-LD into the page. Free, no sign-up, and nothing leaves your browser.
Lets a WebPage on the same page point to this trail with "breadcrumb": {"@id": …}.
Optional. Useful when a page has more than one trail.
Breadcrumb schema is structured data, based on the schema.org BreadcrumbList type, that describes where a page sits in your site, such as Home › Shoes › Running Shoes. Each level is a ListItem with a position, a name and a URL.
Google uses breadcrumb markup to understand how your site is organised, and can show the trail in place of the raw URL in desktop search results. A clear trail tells searchers what section a page belongs to before they click.
Breadcrumbs are one of the simplest types of structured data to add, and one of the few that still earn a visible feature in Google for almost any kind of site.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://www.example.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Shoes",
"item": "https://www.example.com/shoes/"
},
{
"@type": "ListItem",
"position": 3,
"name": "Running Shoes"
}
]
}A breadcrumb has only four properties that matter, and Google requires all of them, with one exception for the last level.
| Property | What it holds | Google status |
|---|---|---|
itemListElement | The ordered list of levels. Google needs at least two. | Required |
position | The level’s place in the trail, starting at 1. The generator numbers it for you. | Required |
name | The label for the level, matching the breadcrumb visitors see | Required |
item | The full URL of the level | Required, except the last level |
@id, name on the list | A label and identifier for the whole trail | Optional |
Since early 2025, Google shows breadcrumb trails on desktop results only. Mobile results show the site name and domain instead. The markup still matters on mobile, because it helps Google understand your structure.
The trail replaces the URL path under your site name.
Only the site name and domain appear above the title.
Google’s guidelines and common audit findings come down to four rules. The Trail checks panel in the generator tests each one as you type.
<script type="application/ld+json">
{ "@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1,
"name": "Books",
"item": "https://www.example.com/books/" },
{ "@type": "ListItem", "position": 2,
"name": "Science Fiction" }
] }
</script>
<script type="application/ld+json">
{ "@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1,
"name": "Literature",
"item": "https://www.example.com/literature/" },
{ "@type": "ListItem", "position": 2,
"name": "Award Winners" }
] }
</script>The generator above writes the code. These four steps take it from a URL to a live, tested page.
Paste the page URL and select Build trail, or paste a list of levels.
Match each name to the breadcrumb visitors see, and reorder if needed.
Copy the script tag, or download the JSON file.
Add it to the page’s head, then run the Rich Results Test.
Each page needs its own trail. Yoast, Rank Math and many themes already output BreadcrumbList markup, so check your page source and adjust those settings rather than adding a second copy. For large sites, add breadcrumbs to your page templates so every page gets them automatically.
Add the code only to the page the trail describes.
Turn on breadcrumbs in Yoast or Rank Math first. For a single page, use a plugin such as WPCode.
Paste the script into the template for that page type, such as product or collection, before the closing head tag.
Open the page’s SEO settings, choose Advanced SEO, then Structured data markup, and paste the JSON.
Create a Custom HTML tag with the script and fire it only on the matching page.
Short answers on properties, display and placement.
Breadcrumb schema describes where a page sits in your site’s hierarchy, level by level. Google uses it to understand your site structure and can show the trail in desktop search results in place of the URL.
Google requires at least two ListItem entries. Each one needs a position and a name, and every level except the last needs an item with the page’s full URL.
It is optional. The last level is usually the current page, so Google accepts it with or without an item URL. This generator lets you choose either way.
Yes, on desktop. Since early 2025 Google has shown breadcrumb trails only on desktop results, while mobile results show the site name and domain. The markup still helps Google understand your site on every device.
Yes. If a page can be reached through several paths, add one BreadcrumbList for each path, each in its own script block. Google may use any of them.
No. Breadcrumbs should show a typical path a user takes through your site, which can differ from the folders in the URL. Use Build trail as a starting point, then rename and reorder the levels.
Not directly. Structured data is not a ranking factor on its own. It helps Google understand your structure and can make results clearer, which may help searchers choose your page.
Paste the script into the head of the page it describes, next to a visible breadcrumb that matches it. Check first whether your theme or SEO plugin already adds breadcrumb markup.
Google says AI features need no special markup. Breadcrumb schema still gives search engines a clear record of how your content is organised. It does not guarantee being cited.
Yes. It is completely free, with no sign-up and no limit. Everything runs in your browser, so your URLs are never uploaded to a server.
Breadcrumbs sit alongside the main markup for each type of page.
Search Savvy’s technical SEO team adds structured data to every page type, fixes site architecture and monitors it in Search Console.