3

I've used Google's example JSON-LD markup to display breadcrumbs in the search results (https://developers.google.com/search/docs/data-types/breadcrumbs). Google shows breadcrumbs in the search results but the target/current page is never shown.

For example a url looks like this:

https://www.example.com/laptop/brand/asus

I would like Google to shows the url as a breadcrumb in the search results like this:

https://www.example.com › Laptop › Brand › Asus

But Google shows the breadcrumb like this:

https://www.example.com › Laptop › Brand

My code:

<script type="application/ld+json">
{
    "@context": "http://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [{
        "@type": "ListItem",
        "position": 1,
        "item": {
            "@id": "/",
            "name": "Home"
        }
}, {
        "@type": "ListItem",
        "position": 2,
        "item": {
            "@id": "/laptop",
            "name": "Laptop"
        }
}, {
        "@type": "ListItem",
        "position": 3,
        "item": {
            "@id": "/laptop/brand",
            "name": "Brand"
        }
}, {
        "@type": "ListItem",
        "position": 4,
        "item": {
            "@id": "/laptop/brand/asus",
            "name": "Asus"
        }
}]
}
</script>

I've tested this code using Google's structured data testing tool. And everything seems fine.

In Google I can find other websites that have implemented their breadcrumbs in a similar way, and for those websites Google is showing the current page in the breadcrumbs.

Does anybody know how can I make sure that Google shows the target/current page in a breadcrumb?

*Update: this is an example of a Dutch website (not mine) for which their breadcrumb is shown with the target page in the last path of the breadcrumb:

URL:

https://www.kieskeurig.nl/laptop/merk/asus

Displayed in Google like this:

enter image description here

Their code

<script type="application/ld+json">
        {
            "@context"       : "http://schema.org",
            "@type"          : "BreadcrumbList",
            "@id"            : "#BreadcrumbList",
            "itemListElement": [
                                    {
                        "@type": "ListItem",
                        "position": 1,
                        "item": {
                        "@id": "/",
                        "name": "Home"
                    }
                },                                {
                        "@type": "ListItem",
                        "position": 2,
                        "item": {
                        "@id": "/computers",
                        "name": "Computers"
                    }
                },                                {
                        "@type": "ListItem",
                        "position": 3,
                        "item": {
                        "@id": "/laptops_en_ultrabooks",
                        "name": "Laptops en ultrabooks"
                    }
                },                                {
                        "@type": "ListItem",
                        "position": 4,
                        "item": {
                        "@id": "/laptop",
                        "name": "Laptop"
                    }
                },                                {
                        "@type": "ListItem",
                        "position": 5,
                        "item": {
                        "@id": "/laptop/merk",
                        "name": "Merk"
                    }
                },                                {
                        "@type": "ListItem",
                        "position": 6,
                        "item": {
                        "@id": "/laptop/merk/Asus",
                        "name": "Asus"
                    }
                }                        ]
        }
    </script>
1

Yes Google don't display the last folder or file in breadcrumb list. It generally treat them as file, no matter there is trailing slash(/) at the end of URL or not, since in server configuration, webmaster can configure weather to display trailing slash or not, for file or folder. So they treat them as file not a category or sub directory option. While breadcrumb is clear about navigating a website through directory.

If you want to display the last one in breadcrumb, use something like this https://www.example.com/laptop/brand/asus/article.html

  • 2
    Thx, makes sense, but please have a look at my updated example. For this website Google is showing the target page in the last path of the breadcrumb without a slash (/) at the end of the URL of .html for example – Chazz Nov 11 '16 at 9:44
  • The last child is not pointing to the current page. It just display asus in plain text. The webmaster have used only <spam> tag on <li> element while other child contain anchor link. I have used breadcrumb on my own website, no matter how long/short is, but when I point to the current url, it just don't display in snippet, hence I said it. – Goyllo Nov 16 '16 at 19:07
1

I know this is old but I have a suspicion that may help:

In the example you provide of the markup for kieskeurig.nl, the @id for the last ListItem is "/laptop/merk/Asus" (uppercase "A"). When you actually visit https://www.kieskeurig.nl/laptop/merk/Asus, you get a 301 redirect to https://www.kieskeurig.nl/laptop/merk/asus (with lowercase "a"). Many other landing pages on kieskeurig.nl seem to include the actual URL in the @id, i.e. without a redirect. In those cases, the final ListItem is not shown as a breadcrumb on the Google SERP.

I've noticed on other sites that the final ListItem item has a name, but no @id - and then the breadcrumb also gets shown on the Google SERP.

The conclusion may be that when the final breadcrumb has an @id that is equal to the actual page URL, it gets omitted in the SERP, whereas if the @id is different from the actual page URL, it gets shown.

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.