Fix-it guide

Add BreadcrumbList JSON-LD structured data

BreadcrumbList schema is a small JSON-LD block that tells Google your site's navigation path for the current page, for example, "Home > Services > Drain Cleaning.

Low impact~1 hourStructured data & social

What it is

BreadcrumbList schema is a small JSON-LD block that tells Google your site's navigation path for the current page, for example, "Home > Services > Drain Cleaning." When present, Google often replaces the green URL in your search listing with that breadcrumb trail, which is more readable and trustworthy than a long URL.

Why it matters

Breadcrumbs in SERPs measurably lift click-through rate, searchers can tell at a glance how the page fits in your site. They also reinforce site hierarchy to Google, which helps inner pages rank for their topic. The fix takes 15 minutes per page (or once, via a template).

How to fix it

  1. Map the breadcrumb path for the page

    For a page at /services/drain-cleaning, the chain is: Home → Services → Drain Cleaning. Each step has a name and a URL. The final step (the current page) often omits the URL.

  2. Add the JSON-LD block in <head>

    Each ListItem gets a `position` (1-based), a `name`, and an `item` (the URL). Use full absolute URLs.

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://apexcarservice.com/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Services",
          "item": "https://apexcarservice.com/services"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Airport Car Service",
          "item": "https://apexcarservice.com/services/airport-car-service"
        }
      ]
    }
    </script>
  3. Show a real, visible breadcrumb too

    Schema works best when the page actually displays the same breadcrumb trail to humans. A simple ordered list near the top of the page is fine, and helps with both UX and Google's "match what you show" rule.

    <nav aria-label="Breadcrumb">
      <ol>
        <li><a href="/">Home</a></li>
        <li><a href="/services">Services</a></li>
        <li aria-current="page">Airport Car Service</li>
      </ol>
    </nav>
  4. Generate it dynamically in your framework

    Build a helper that takes the route segments and emits the JSON-LD. Apply it in your layout so every page gets schema automatically.

How to verify the fix

Paste the page URL into the Rich Results Test, it should detect "Breadcrumbs" with no errors. Over the next few weeks, watch your SERP listings: the green URL should be replaced by your breadcrumb trail.

Further reading

Confirm the fix

Run a fresh audit to make sure the issue is gone.

We’ll re-grade every category and confirm this issue is no longer firing.

Run a fresh audit