12

This question has been asked a few times but I came across something that I feel changes the answer.

Whenever I use breadcrumbs on my site, I always include a link to the home page. Since I usually use an icon, I do something like this:

<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
  <a itemscope itemtype="http://schema.org/Thing" itemprop="item" href="/">
    <i itemprop="name" content="Home" class="icon-home-filled"></i>
  </a>
  <meta itemprop="position" content="1" />
</li>

Well, recently, I realized that Google started displaying search results to my pages like this:

enter image description here

Home now looks like it's a section of my website and not the home page. It hadn't done this in the past. I went to Schema.org to see if I could find any info on whether or not to use the Home page in breadcrumbs. I didn't find an answer but I did realize that Schema.org also doesn't include the home page in their own breadcrumbs.

So my question is, is using the Home page, not a best practice?

Update 1 (06/16/2016):

I removed the itemprop="name" content="Home" and my breadcrumbs stopped showing up in search results.

enter image description here

Update 2 (06/23/2016):

I removed all schema markup for the homepage and now my breadcrumbs look normal again:

enter image description here

Interesting note

Previously, I had been using the RDFa version of schema for breadcrumbs. I have always had breadcrumb markup on my homepage and Home never showed up in the breadcrumbs inside search results. Well, now they are. So this is something that Google has recently changed.

Update 3 (08/10/2016):

Everything still looks normal for the breadcrumbs on the page that I've been using an example but I came across something new — the root category (that's using the same structure of schema markup) is not displaying the breadcrumb structure in search results:

enter image description here

2

Good question! I'd never thought of attempting to redefine/rename the root.

The root directory is assumed to be the domain itself. By defining it with a link, you've caused it to create a new directory 'Home' that is assuming the same position as the root. This has created both the assumed root and the 'Home' directory in the structure and the situation you've outlined in your question.

Extrapolating from this - it would appear that not defining your root directory is the best practice. Instead, define only the sub directories/categories/topics after the root. Where these are different language sites dynamically created on the main domain using, say, a query string: Then best practice would be to do what you've done above and re-define the root depending on the region targeted (usa+google.com, UK+google.co.uk, etc.).

2

One thing you should try is using the domain instead of a relative slash / for home. But if that doesn't fix it, yes there is an error. Google shouldn't be displaying home like that, it takes the form of domain. Why? Who knows. But here is what we do, this could change at any time:

If you properly mark up your breadcrumbs with the older data-vocab syntax you will not have issues. For some reason Google and friends have been dropping the ball (or kicking it around) on Schema.org breadcrumb/list support, especially via JSON-LD, to the point that we have been waiting almost a year as of Jun2 2016 to drop data-vocab from our sites.

It's similar behavior to how they recommended JSON-LD markup for things like product reviews, then backtracked and said they don't recommend it with a tiny alerts on the docs, before finally recommending it again before they actually "activated" it in SERPS. The result was on-off-on-wrong-off-wtf-on-off-on style product markup in SERPS.

So our solution right now, is to put Schema.org right beside the older data-vocab inline markup within the breadcrumbs. Both entity styles are found and "validated" in GWT without errors, but whenever we test removing the data-vocab, the schema on JSON-LD causes hiccups or non-displays. Here is an example of the markup in case you were curious:

<div class="breadcrumb">
<script type="application/ld+json"> {
"@context" : "http://schema.org",
"@type" : "BreadcrumbList",
"itemListElement" : [
    {
    "@type" : "ListItem",
    "position" : 1,
    "item" : {
        "@id" : "https://www.example.com/",
        "name" : "Home"
        }
    },  {
    "@type" : "ListItem",
    "position" : 2,
    "item" : {
        "@id" : "https://www.example.com/parent",
        "name" : "Parent Category"
        }
    },  {
    "@type" : "ListItem",
    "position" : 3,
    "item" : {
        "@id" : "https://www.example.com/parent/child",
        "name" : "Child Category"
        }
    }
]}
</script>
<span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<a href="https://www.example.com/" itemprop="url"><span itemprop="title">Home</span></a></span>
<span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
» <a href="https://www.example.com/parent" itemprop="url"><span itemprop="title">Parent Category</span></a></span>
<span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
» <a href="https://www.example.com/parent/child" itemprop="url"><span itemprop="title">Child Category</span></a></span>
</div>
  • Interesting. I will try using the domain for home on a few pages and see what happens. – John R Perry Jun 14 '16 at 16:11
1

In answer to the titular question: Yes, it is best practice to include Home in the breadcrumb because it's the starting point in the path to the current page. Without the starting point displayed, it's not so clear in showing the path to the current page.

Similarly, it is also best practice to mention the current page at the end of the breadcrumb, as it's the endpoint which is an equally vital reference when trying to clearly show the path to the current page.

This is basic logic for accessibile web design; but as Google's microdata vocabulary is still in its infancy, it doesn't always accommodate best practices of accessible web design. Therefore, like you've done, you do have to strip the microdata from Home item in order for things to display correctly in Google search results these days.

Regarding your Update 3, about breadcrumbs not showing for top-level pages/categories, of course they don't! Because the breadcrumb would only be Home (start point) > Category Name (end point). The start point is displayed in the form of the domain name, and the end point is displayed in the form of the big blue title text at the top.

  • 2
    When none of Google's breadcrumb examples use the home page and the entire schema.org site doesn't use the home page with their own breadcrumbs, it seems like less of an oversight and more like what they're looking for. In regards to your last point... it doesn't match the results in the image. The first example (SEO for Webpages) displays the breadcrumb for that page. Also, if I do a search on my phone, Google displays the first category in the format of (domain > category). I don't know how this answer instantly got 2 upvotes when it conflicts with so much of the presented data. – John R Perry Dec 1 '16 at 18:29
  • It may seem like a non-oversight to you but it is still an oversight, as logic makes clear. When waypointing A to C it is obviously more clear to say "from A to B to C" than saying "to B to C" missing out the startpoint. Basic logic, which you seem to have overlooked in your reply. – Dan L Jan 20 '17 at 2:40
  • I agree with the logic bud. That's why I asked the question in the first place. I'm saying our 'logic' doesn't match the data. – John R Perry Jan 20 '17 at 6:08
  • Give it time. It's new technology, created by people who often fail to conduct their research exhaustively or see things totally objectively. Nearly everyone uses Home in their breadcrumbs, it's the microdata standard which is the anomoly, not my logic which is consistent with nearly all the breadcrumbs on the web. – Dan L Jan 23 '17 at 5:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.