Google search console warning that data-vocabulary.org schema is deprecated on my sites using Easy Breadcrumb. I've read that in April Google may change it to an error. Is there a plan to remove the itemtype data containing the reference to data-vocabulary.org?

div itemscope class="easy-breadcrumb" itemtype="http://data-vocabulary.org/Breadcrumb

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

lu_smithcon created an issue. See original summary.

memoday’s picture

I have just the same message from Google today. Any idea how to resolve this?

pjgermain’s picture

Same here, just received notice from Google Search Console.

ac’s picture

Here is a quick patch to remove it.

sabaruhee’s picture

Even I am facing the same issue.
"data-vocabulary.org schema deprecated".
But, I am not using 'Easy Breadcrumb' module.
Any suggestions?

Thanks in advance!

Vali Hutchison’s picture

You can also fix this by copying the easy-breadcrumb.tpl.php file that is in the tpl folder into the templates folder of your theme and then adjusting the HTML - in my case I simply changed:

<div itemscope class="easy-breadcrumb" itemtype="<?php print $list_type; ?>">

to

<div itemscope class="easy-breadcrumb">

Remmeber to clear the caches for Drupal to pick up on this template.

Abidkhan00314’s picture

Same Problem Here in Blogger What Should I Do to Fix it

Arm77’s picture

#4 Worked for me thanks ac.

memoday’s picture

The problem is that I am getting this and I don't even use easy_breadcrumb. I did search for ''data-vocabulary.org' across all files in my Drupal directory, and I cannot find it anywhere. I have no clue what and where to fix :-(

It seems it's happening on my blog posts where I use Debut Blog module.

If I view source, I see this:

    <!-- !Breadcrumbs -->
    <div id="breadcrumb" class="clearfix"><nav class="breadcrumb-wrapper clearfix" role="navigation" aria-labelledby="breadcrumb-label"><h2 id="breadcrumb-label" class="element-invisible">You are here</h2><ol id="crumbs" class="clearfix"><li class="crumb crumb-first"><span typeof="v:Breadcrumb"><a rel="v:url"  property="v:title"  href="/blog">Blog</a></span></li></ol></nav></div>
Vali Hutchison’s picture

@memoday - it might be that the ''data-vocabulary.org" part is inserted during page build (which looks to be the case with the easy breadcrumb module) - so maybe try searching across your Drupal install for this:

itemtype

If that doesn't work then look at the HTML source code of the page that Goolge has flagged up for the part in the HTML that contains the ''data-vocabulary.org" part and look for HTML close to that and search for that in your code.

memoday’s picture

Thank you so much @vali-hutchison for your support and help!

Here is what I get if I search for 'itemscope itemtype'

grep -iRl "itemscope itemtype" ./

./sites/all/modules/metatag/metatag_google_plus/metatag_google_plus.module
./sites/all/modules/metatag/metatag_google_plus/README.txt

Searching for 'itemtype' only, yields this:

grep -iRl "itemtype" ./

./sites/all/modules/metatag/metatag_google_plus/tests/metatag_google_plus.tags.test
./sites/all/modules/metatag/metatag_google_plus/metatag_google_plus.module
./sites/all/modules/metatag/metatag_google_plus/metatag_google_plus.metatag.inc
./sites/all/modules/metatag/metatag_google_plus/metatag_google_plus.inc
./sites/all/modules/metatag/metatag_google_plus/README.txt
./sites/all/modules/metatag/CHANGELOG.txt
./sites/all/modules/metatag/README.txt
./sites/all/modules/metatag/metatag_views/tests/metatag_views_tests.views_default.inc
./sites/all/modules/entity/includes/entity.wrapper.inc

Any idea if any of those is causing the problem? I need to dig more for this, and maybe open each file of those to see what is happening, but I cannot find any mention of 'data-vocabulary.org' which is driving me crazy.

Vali Hutchison’s picture

@memoday sounds like a it might be a combination of the metatag module plus another module (or theme) that is then injecting the text inot the itemtype attirbute. I think you are better off creating a new issue in the metatag module issue queue for this?

douglasbeale’s picture

Same issue and I'm also not using 'Easy Breadcrumb' module.

I do use Ubercart and had some redundant category names in which the pages Google flagged were in multiple.
I deleted the two redundancy and asked Google to Validate my fixes.

Will post if validation works or not in next few days.

mike_san’s picture

Thanks for this, I have two sites using this module - I'll check and see if I get any more Google notifications

oxy86’s picture

Affected too. Patch in #4 only works if 'schemaorg' module is present (it actually checks if it is installed).
It does not work when 'schema_metatag' is used. And if you try to change it to apply its magic if schema_metatag is installed you get warning in Google'e structured data tool.
Copying easy-breadcrumb.tpl.php into your theme and changing it as described in #6 fixes the issue - although Google's tool keeps warning about some Unspecified Type (due to "<span itemprop="title">")

vvcaressingaporepteltd’s picture

SIMPLE & SHORT meaning: - Google stopped to use the data-vocabulary markups [aka RDFa] - So, we need to change our websites to Schema.org markups.

We will keep update the working samples here. Keep check this page often for next few days..

There is a simple working examples listed on GOOGLE SEARCH CONSOLE WARNING data-vocabulary.org

vvcaressingaporepteltd’s picture

lebster’s picture

Priority: Normal » Major
Status: Active » Needs review

Patch #4 looks good.

http://data-vocabulary.org/Breadcrumb is 404 now.

As an another solution you could install schema.org module as well.

Arm77’s picture

I have installed schema.org module.
Then applied patch #4.
And now there is a new Google error: Missing field "itemListElement"
I see the problem is much deeper and the whole thing needs to be rewritten.

lebster’s picture

Hi guys, I have checked information regarding breadcrumb metadata and corresponding to this article I have added the necessary changes to the patch.

I have tested the result via Google's structured data testing tool and things looks good for me.

Before: https://d.pr/i/N35njE
After: https://d.pr/i/jojpt5

Arm77’s picture

Excellent work lebster, just applied your patch #20 all looks good and also passed the Google test. Thank you.

lu_smithcon’s picture

Thank you @lebster. #20 worked for me and the site looks good according to Google's structured data testing tool.

douglasbeale’s picture

douglasbeale commented 14 days ago

Same issue and I'm also not using 'Easy Breadcrumb' module.

I do use Ubercart and had some redundant category names in which the pages Google flagged were in multiple.

I deleted the two redundancy and asked Google to Validate my fixes.

Will post if validation works or not in next few days.

I also turned off the breadcrumbs, because I didn't need them, in template settings (Adaptivetheme).

I'm not sure what caused the correction, but now after 14 days when I go to

Breadcrumbs>data-vocabulary.org schema deprecated>Validation details

I can see that all pages have been moved from "Failed" to "Other"

Google say, "other is equivalent to pass, no more for you to do"

misterdidi’s picture

Using @lebster patch #20 almost fixed it for me. But I had to handle the specific case in which some of the breadcrumb items do not have any link. According to Google structured data testing tool, for these breadcrumb item, I was building a ListItem without an "item" element.

To fix it, I put the itemtype="http://schema.org/Thing" in the tpl.php file to ensure that a Thing element is given for each breadcrumb item.

Basically, I removed these two lines from the patched .module file:

      $variables['breadcrumb'][$i] .= l('<span itemprop="name">' . $breadcrumb['content'] . '</span>', $parsed_url['path'], array(
        'attributes' => array(
          'class' => $breadcrumb['class'],
-          'itemtype' => "http://schema.org/Thing",
-          'itemprop' => "item",
        ),

And added the following to the tpl.php file instead:

<span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
+        <span itemscope itemprop="item" itemtype="http://schema.org/Thing" itemid="#<?php print $i; ?>">
          <?php print $item; ?>
+        </span>
        <meta itemprop="position" content="<?php print $i; ?>" />
      </span>
lebster’s picture

Hi @misterdidi, not sure how it is possible. Check the screenshot https://d.pr/i/jSPMq3, there are two last items has no links.

misterdidi’s picture

Hi @lebster,
To be honest, I don't know either.
It's just that according to my own experience with the Google structured data testing tool, my structured data did not pass because the breadcrumb items without link were indeed in the scope of a ListItem type but Google kept telling me I was missing the ListItem "item" property (although I found no mention of it being a mandatory property) and "name" property did not apply to ListItem (which does not make sense to me as ListItem inherits from Thing).
In the end, I found out that embedding a Thing type as "item" property into each ListItem would solve my problem.

MattNHanna’s picture

lebster's patch in #20 proved insufficient for our sites as our breadcrumbs had relative links in them, causing the Google structured data testing tool to not pick up the anchor tags as being items. Explicitly creating a new item scope and setting the itemid as the absolute version of the URL in the tag's href was necessary to get it to pass the testing tool. I've attached a patch containing the changes in #20 with the additional changes I had made.

MattNHanna’s picture

I have additionally removed the schemaorg module as a dependency as the original patch in #20 does not seem to actually require it.

rcodina’s picture

Patch on #28 works for me!

Greg Boggs’s picture

Version: 7.x-2.17 » 2.x-dev
Greg Boggs’s picture

Version: 2.x-dev » 7.x-1.x-dev
pontus.froden’s picture

Patch in #28 works for me in 2.x version.

Greg Boggs’s picture

How is that possible? The 2.x branch is D9. This patch is D7?

pontus.froden’s picture

Sorry I meant 7.x-2.x :)

Greg Boggs’s picture

Version: 7.x-1.x-dev » 7.x-2.x-dev
Status: Needs review » Reviewed & tested by the community

Thanks for the review!

solideogloria’s picture

Category: Support request » Bug report
solideogloria’s picture

solideogloria’s picture

Status: Reviewed & tested by the community » Needs review

duplicate comment removed

solideogloria’s picture

The patch in #28 did not apply. I re-rolled the patch, and I fixed the coding standards issue from #28's job (I removed a comma). I also changed patched lines to use single quotes for strings, and HTTPS for schema.org links.

Status: Needs review » Needs work

The last submitted patch, 39: easy_breadcrumb-schema-org-3107889-38.patch, failed testing. View results

solideogloria’s picture

Status: Needs work » Needs review

The patch only "failed" because the branch is failing testing. It is actually an improvement, as it removes the coding standards issue from #28.

John_B’s picture

Status: Needs review » Reviewed & tested by the community

I have read the code, and checked that the patch applies to dev and works on our staging site. I find it good. Thanks solideogloria!

Greg Boggs’s picture

if we open this as a MR, Ill go ahead and merge it.

solideogloria’s picture

Here you go.

jonnyToomey’s picture

Can we add a the aria-label attribute to the anchor tag to fix accessibility issue if you're using an image for Home instead of text?

Patch #39 therefore would look like the attached