tech
How to fix: Visible breadcrumb matches BreadcrumbList schema
Why this matters
BreadcrumbList schema only unlocks the breadcrumb rich result if Google can verify it matches a visible breadcrumb nav on the page. Schema without a visible counterpart can be ignored; visible breadcrumbs without schema miss the rich result.
Background
BreadcrumbList schema only unlocks the breadcrumb rich result if Google can verify it matches a visible breadcrumb nav on the page. Schema without visible breadcrumb can be ignored.
References
Google Search Central · Breadcrumb rich result requirements
How to fix
Code snippet for each stack we cover. Pick the one matching your server / framework.
nginx
No server config.
apache
Same.
cloudflare
Same.
wordpress
Yoast / RankMath both emit BreadcrumbList schema + give you a [breadcrumb] shortcode for visible rendering. Use both.
flask
Render <nav aria-label="breadcrumb"> visibly + emit matching JSON-LD.
express
Same.
rails
Use the gretel gem for visible + schema breadcrumbs.
Verify it's working
Visit a deep page. Visible breadcrumb nav present? Validator.schema.org reports matching BreadcrumbList?
Want to know if your site has this issue?
Run a free 53-check audit — security, GDPR, NIS2, and technical SEO.
Audit my site →