Structure
BreadcrumbList uses itemListElement containing ListItem nodes. Each item has position, name and optionally item with the URL. Positions should be sequential starting at one.
Use real navigation
Visible breadcrumbs are the best source. If the page shows Home → Catalog → Category → Product, structured data should describe the same hierarchy.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"name": "BreadcrumbList example"
}
A single item
When the parser finds only Home, avoid generating BreadcrumbList just to increase a score. Report that a complete trail could not be determined.
Last item
The final ListItem can represent the current page. Normalize URLs and avoid technical ports or tracking parameters.
Relationship to the page
BreadcrumbList is an auxiliary entity and should not change the primary classification of Product, Article, Service or WebPage.
Validation
Check item count, position order, absolute URLs and whether labels match the site navigation.
Common questions
Can structured data always be improved to 100% automatically?
Only when the required data actually exists in the JSON-LD or on the page. A tool should not invent prices, authors, ratings, addresses or other values.
Should every possible Schema.org property be added?
No. A smaller set of accurate properties is better than irrelevant or fabricated values.