Breadcrumb Schema Generator

Builds BreadcrumbList structured data for a collection-to-product path, as JSON-LD or a Shopify Liquid snippet.

Describe the result you need. AI will set up the tool and ask for any missing details.

Configure with AI

Enter to submit · Shift + Enter for a new line

Sent to AI. Leave out passwords and private customer data.

Your details

Output
Trail

Breadcrumb markup

html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://harbourandco.com/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Kitchen",
      "item": "https://harbourandco.com/collections/kitchen"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Mugs",
      "item": "https://harbourandco.com/collections/mugs"
    },
    {
      "@type": "ListItem",
      "position": 4,
      "name": "Teal Stoneware Mug"
    }
  ]
}
</script>

4 levels: Home › Kitchen › Mugs › Teal Stoneware Mug. Test it with Google's Rich Results Test.

What BreadcrumbList markup does

It tells Google the path from your home page down to the current one (Home › Kitchen › Mugs › Teal Stoneware Mug), which Google can show as a breadcrumb trail in search results instead of a long, raw URL. It doesn't affect ranking on its own, but it's cheap to add and improves how a listing looks.

Google's documentation requires each item to have a position and name. The item URL is required for every level except the last: Google's own guidance says that if you leave it off the final item, Google uses the page's own URL, which is what this tool does by default.

Adding it to your site

  1. 01

    One page at a time (JSON-LD)

    Fill in the trail and paste the generated <script type="application/ld+json"> tag into that page's template, right before </head> or </body>.

  2. 02

    Every Shopify product page at once

    Switch Output to Shopify product template. Create snippets/breadcrumb-schema.liquid in Online Store → Themes → Edit code with the generated code, then add {% render 'breadcrumb-schema', collection: collection, product: product %} inside sections/main-product.liquid. It automatically uses the collection the shopper arrived through, or falls back to the product's first collection.

  3. 03

    WooCommerce

    Most SEO plugins (Yoast, Rank Math) generate BreadcrumbList data from your visible breadcrumb trail automatically. Check whether yours already does this before adding a second, separate script.

Common mistakes

  • A URL on the last item. It's not wrong, but it's also not required, and Google falls back to the page's own URL anyway if you leave it blank.
  • Breadcrumbs that don't match what's on the page. Google's guidance is that the markup should reflect a real, visible navigation path, not one invented purely for search.
  • Two competing breadcrumb scripts from an SEO plugin and a hand-added one on the same page, which can send Google conflicting data.

Questions people ask

Does the last breadcrumb need a URL?

No. Google's structured data documentation says the URL isn't required for the final item, and Google uses the current page's own URL if you leave it out.

Will this change my rankings?

Not directly. It's a display enhancement: Google can show your breadcrumb trail in the search result instead of the raw URL, which can make the listing easier to scan.

Can I use this without touching my theme's code?

The one-page JSON-LD option just needs the script pasted into that page. The Shopify snippet option needs a small code change once, but then covers every product page automatically.

What if my product isn't in any collection?

The Shopify snippet handles that: if there's no collection in the URL and the product isn't assigned to one either, it skips straight from Home to the product name.

Want this builtinto your store?

I'm Emmanuel, a Shopify and WooCommerce developer. If this tool pointed at something you'd rather have fixed for you (a faster store, cleaner product data, a migration, a custom feature), send me a note.

Emmanuel Asika

Emmanuel Asika

Shopify & WooCommerce developer, Dublin

I build and fix online stores: new builds, migrations, speed, SEO and the custom bits apps can't do.

hello@emmanuelasika.com