SchemaFree

BreadcrumbList Schema

Detects BreadcrumbList schema that communicates your site hierarchy to AI engines. Helps establish page context within your site.

Why It Matters for AI Visibility

BreadcrumbList schema tells AI engines exactly where a page sits in your site hierarchy. When ChatGPT or Perplexity encounters a breadcrumb path like "Home > Blog > JavaScript > Async/Await Guide," it understands the page is a specific guide within a broader JavaScript section -- not a generic homepage or a top-level category. This hierarchical context is a relevance signal AI engines use when selecting sources for targeted queries. Specificity matters for AI citations. A page nested under "Blog > JavaScript > Tutorials" is more citable for a query about JavaScript async patterns than a top-level page with no structural context. BreadcrumbList schema makes this nesting explicit and machine-readable, removing the guesswork AI engines would otherwise perform by analyzing URL paths or navigation menus. Google AI Overviews use breadcrumbs to display source attribution with context. Proper BreadcrumbList schema enables your site structure to appear in AI-generated results, improving click-through rates and brand recognition. When your source appears as "example.com > Blog > JavaScript" instead of just a bare URL, users understand what they are clicking on before they arrive.

How We Score It

This factor uses near-binary scoring. No BreadcrumbList schema at all scores a 0. A valid BreadcrumbList with properly formed ListItems scores a 10. If a BreadcrumbList exists but the itemListElement array is empty or malformed, you score a 5 for partial implementation. A valid ListItem must have three things: `@type: "ListItem"`, a `position` number, and an `item` object (typically containing `name` and `@id` or URL). The analyzer sorts items by position and builds a visual breadcrumb path for verification. This is one of the most straightforward factors -- either you have valid breadcrumbs or you do not.
See how your site scores on this factorAnalyze My Site

How to Improve

  • 1

    Add BreadcrumbList schema matching your site navigation

    Create a JSON-LD block reflecting your page's hierarchy path. Start with Home at position 1, add category levels, and end with the current page. Each ListItem needs `@type`, `position`, and an `item` object with `name` and `@id` (the full URL). A three-level breadcrumb for a blog post takes five minutes to implement.

  • 2

    Generate breadcrumbs automatically from your URL structure

    Most CMS platforms and frameworks can auto-generate BreadcrumbList schema from the URL path. WordPress plugins like Yoast and RankMath do this out of the box. In Next.js, you can build a component that generates the JSON-LD from route segments. Automatic generation ensures every page has breadcrumbs without manual maintenance.

  • 3

    Include both JSON-LD schema and visible breadcrumbs

    Visible breadcrumb navigation should match the JSON-LD schema. This provides consistent signals to both users and AI engines. Use the same labels and hierarchy in both the visible UI breadcrumbs and the structured data. Mismatches between visible and schema breadcrumbs create conflicting signals.

  • 4

    Keep breadcrumb paths under 5 levels deep

    Deep hierarchies of 6 or more levels can suggest poor site architecture. AI engines prefer clean, shallow hierarchies where content is accessible within a few clicks of the homepage. If your breadcrumb path is excessively deep, consider flattening your site structure.

Before & After

Before
<!-- No BreadcrumbList schema. Score: 0 -->
<article>
  <h1>Understanding Async/Await in JavaScript</h1>
  ...
</article>
After
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {"@type": "ListItem", "position": 1, "item": {"@id": "https://example.com", "name": "Home"}},
    {"@type": "ListItem", "position": 2, "item": {"@id": "https://example.com/blog", "name": "Blog"}},
    {"@type": "ListItem", "position": 3, "item": {"@id": "https://example.com/blog/async-await", "name": "Async/Await Guide"}}
  ]
}
</script>
<!-- Score: 10 -->

Code Examples

Complete BreadcrumbList JSON-LD

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "item": {
        "@id": "https://example.com",
        "name": "Home"
      }
    },
    {
      "@type": "ListItem",
      "position": 2,
      "item": {
        "@id": "https://example.com/docs",
        "name": "Documentation"
      }
    },
    {
      "@type": "ListItem",
      "position": 3,
      "item": {
        "@id": "https://example.com/docs/getting-started",
        "name": "Getting Started"
      }
    }
  ]
}

Frequently Asked Questions

Is BreadcrumbList schema worth adding if my site is flat?

Yes. Even a two-level breadcrumb ("Home > Page Title") provides context. The scoring is binary -- any valid BreadcrumbList earns a perfect 10. It also helps AI engines understand that your page is part of a larger site, not an isolated document.

Should the breadcrumb include the current page?

Yes. Include the current page as the last ListItem. This gives AI engines the complete path from root to the current page, which they use for context and source attribution. Omitting the current page leaves the path incomplete.

Can I use Microdata breadcrumbs instead of JSON-LD?

The analyzer specifically checks JSON-LD script blocks. Microdata breadcrumbs in HTML attributes are not detected. Use JSON-LD for maximum compatibility with this analyzer and with AI engines. JSON-LD is the format recommended by Google and preferred by most AI crawlers.

Related Factors

Check Your GEO Score

Run a free analysis on your website and see how you score across all 52 factors.

Analyze My Site