As of April 6, 2020, data-vocabulary.org markup will no longer be eligible for Google rich result features. Nothing new here for webdevelopers and SEO specialist out there. However..
.. there seems to be a weird false positive, even when not using data-vocabulary. Google Search Console recently triggered this warning based on old (2018) BreadcrumbList results. After re-evaluating, it still says there are issues.
After running a manual test using Rich Results Test, the evaluation said the following:
- Not all markup is eligible for rich results
- Fix these issues to make the page eligible for relevant rich results in Google Search
- Missing field "item"
Strange, as their really was a field "item". So, I started debugging.
BreadcrumbList on Schema.org
I ended up copying the BreadcrumbList Microdata example from schema.org into our own source code, and tried:
- changing the first href to "index.html" as the first item in our breadcrumb list just had a slash as a href value (as the index.html page has a canonical to the root domain as well);
- changing the order of the HTML attributes, such as inserting the class-attribute as last attributes on the href and ol elements (although I could not think of reasons why the order of attributes would play a role);
- adding the domain name into the href-values.
How to solve "Missing field item" microdata warning
The last test seemed to solve the issue. However, not all href attributes needed the domain as a hyperlink-prefix. By just making the href-value of the first item completely absolute (so, including the domain), this issue was solved once I run a new test. Other href-value could remain relative, thus being hyperlinks with just the path and without the domain as a prefix.
I was surprised by these findings and ain't sure if it is part of moving away from data-vocabulary.
After evaluating well-known websites as well, I discovered this only happens when there are more than to list items within your breadcrumb markup. I also saw that when being Booking.com, href-values of all ListItems should have absolute paths, instead of relative paths. I did not test if this is due to the more nested and complex markup of their breadcrumbs.
Do you know of any other edge cases? Do let me know, so I can update this article.