Structured Data fix

How to add breadcrumb schema

Breadcrumb schema turns the ugly green URL under your result into a clean, readable trail like Home › Shoes › Blue Suede — clearer for users, and a small structure signal for Google.

Breadcrumb schema is a BreadcrumbList block of JSON-LD that describes where a page sits in your site's hierarchy. Google uses it to render a breadcrumb trail in the search result instead of the plain URL.

It pairs naturally with a visible breadcrumb navigation on the page — the schema formalises for machines the same path a visitor can see.

Why it matters

Breadcrumbs in the SERP look more trustworthy and give context about where the page lives, which can lift click-through. They also reinforce your site structure to search engines, helping them understand how your pages relate.

How to tell if this is you

Abby flags “Breadcrumb Schema” when a page (especially a deep product or category page) has no BreadcrumbList markup. The fix is one JSON-LD block listing each step from your homepage to the current page.

Not sure if your site has this?

Run Abby's free scan — it checks this and 25 other on-page, technical, and structured-data signals in about 60 seconds, no signup.

Scan my site free

The fix

Add BreadcrumbList schema: <script type="application/ld+json"> {"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://example.com/"}]} </script>

Before

<!-- Breadcrumb nav shown on the page, but no BreadcrumbList schema -->

After

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {"@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com/"},
    {"@type": "ListItem", "position": 2, "name": "Shoes", "item": "https://example.com/shoes"}
  ]
}
</script>

Fix it on your platform

WordPress

Enable breadcrumbs in Yoast SEO (SEO > Search Appearance > Breadcrumbs). Add the breadcrumb shortcode to your theme. Yoast automatically adds the schema.

Shopify

Add breadcrumb navigation to your theme and include BreadcrumbList JSON-LD. Some themes have built-in breadcrumb support.

Wix

Wix doesn't have native breadcrumbs. Add breadcrumb navigation manually and include the BreadcrumbList JSON-LD via Advanced SEO settings.

Squarespace

Squarespace doesn't have native breadcrumbs. Add them via code injection along with BreadcrumbList JSON-LD schema.

Next.js

Add BreadcrumbList JSON-LD in your layout or page component. Use dangerouslySetInnerHTML to inject the schema script tag. Consider building the breadcrumb list dynamically from your route segments using usePathname().

When this doesn’t apply

Most valuable for multi-level hierarchies — e-commerce categories, documentation trees, large editorial archives. Single-page apps, news aggregators, and discussion forums often have flat navigation where breadcrumbs add noise without value.

Fix every issue at once.

Abby's free scan finds which of 26 checks your site fails. The $8.99 fix guide turns each one into a copy-ready fix for your exact pages — prioritized, with code — or bundle it with a security fix guide for $19.99.

Get my fix plan

FAQ

Do I need visible breadcrumbs on the page too?

It's best practice to have both — a visible breadcrumb nav and matching schema. The schema describes the same path the user can see; they should agree.

What order do the breadcrumb items go in?

From the top of the hierarchy down to the current page, with position 1 = Home, incrementing by one. The final item is the current page.

Can one page belong to multiple breadcrumb trails?

Yes — you can include more than one BreadcrumbList if a page is genuinely reachable via multiple paths, but a single clear trail is simpler and usually enough.