How do I generate breadcrumb schema?
Add each step above, starting at home and ending on the current page. Submit, then copy the JSON-LD into the page head inside a script tag with type application/ld+json. This page writes only the values you type. It does not crawl your site, and it does not draw the visible breadcrumb menu.
| Field | JSON-LD property | Example |
|---|---|---|
| Page name | itemListElement[].name | Home |
| Page URL | itemListElement[].item | https://example.com/ |
Do breadcrumbs need to match the visible navigation?
Yes. The trail in the markup should be a path a visitor can see and click. Google can show that path in search when the markup matches the page. A trail that exists only in the script is not a breadcrumb.
Should the last breadcrumb item have a URL?
Leave it blank when that step is the current page. The name is enough. Earlier steps should have the URL a visitor would open. This generator omits an empty URL instead of writing a blank one.
How do I add breadcrumb schema to a page?
Paste one JSON-LD script in the page head, keep every name and URL identical to the visible trail, then test the published URL. This page checks that the first step has a name. It does not fetch your site, so a draft here can pass while the live page is still missing the script.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://example.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Lighting",
"item": "https://example.com/lighting"
},
{
"@type": "ListItem",
"position": 3,
"name": "Aurora Desk Lamp"
}
]
}
Other types, including Organization, Article, and Product, are on the schema markup generator.