5

I have a web page that returns in W3C Validator as fully validated (and is green).

But when I run a check of the same URL in many SEO testing websites, it fails and tells me the errors it failed on:

Bad value v:url for attribute rel on element a: The string v:url is not a registered keyword.

The relative code this is referring to is schema markup for the breadcrumbs:

<div id="breadcrumbs">
    <span prefix="v: http://rdf.data-vocabulary.org/#">
        <span typeof="v:Breadcrumb"><a href="http://www.bellavou.co.uk" rel="v:url" property="v:title"><span class="fa fa-home"><span class="breadcrumb_first">Home</span></span></a></span>
        <span class="fa fa-angle-right"></span>
        <span typeof="v:Breadcrumb"><a href="http://www.bellavou.co.uk/contact-us/" rel="v:url" property="v:title">Contact Us</a></span>
    </span>
</div>

It's also worth noting that the markup completely validates in Google's Structured Data Testing Tool.

Why is it not validating in the third-party website checks, but more importantly, why is it showing as valid in the actual W3C website?

unor
  • 82,883
  • 20
  • 183
  • 315
Lee
  • 3,854
  • 5
  • 19
  • 55
  • They are 2 different validations, you should not expect them to behave the same – Huangism Mar 25 '15 at 14:41
  • They're both called W3C Validation, why would they be different? – Lee Mar 25 '15 at 14:45
  • One is for HTML code validation (W3C) the other is for SEO. I don't even see a SEO validation from W3C – Huangism Mar 25 '15 at 14:50
  • Maybe I haven't made it very clear... As part of a long list of checks that the SEO website performs, one of them is a W3C validation of the HTML markup of the pages. Where it will literally take the code, and put it into the W3C validator, and then return the result. – Lee Mar 25 '15 at 14:51
  • As far as the code goes, if it validates on the W3C validator, you are good to go. I wouldn't trust any other validator over the W3C one – Huangism Mar 25 '15 at 14:54

2 Answers2

4

Your web page is valid, and that is the reason that the W3C validator tells you that.

But many SEO tools don't understand the prefix in the parent span tag, and therefore expect the value of rel to be one of the typical link types (alternate, nofollow, etc...) and don't accept the one (v:url) that you are using.

  • So based on this, would you say that's it would be okay to ignore the errors that appear on other sites, and safely go by whatever the result is when directly testing in W3C? – Lee Mar 25 '15 at 14:02
  • 2
    Yes, the SEO tools can be useful for many things (such as keyword analysis), but they are not the best tool for HTML validation. – joseignaciorc Mar 25 '15 at 14:17
2

Nethen -j.riano-’s answer is correct (+1): it’s valid HTML+RDFa, it’s just that these "SEO testing websites" are bad (i.e., they don’t seem to care/recognize that you use RDFa).

So you can keep your markup like that, of course (and you might want consider to stop consulting such SEO checkers).

If, for whatever reason, you don’t want them to report this "error", you can omit the rel attribute by changing your RDFa:

  1. Move the property="v:title" to the span containing only the title.
  2. Rename rel="v:url" to property="v:url".

Reduced example:

<div prefix="v: http://rdf.data-vocabulary.org/#">

  <span typeof="v:Breadcrumb">
    <a property="v:url" href="http://www.bellavou.co.uk/">
      <span property="v:title">Home</span>
    </a>
  </span>

  <span typeof="v:Breadcrumb">
    <a property="v:url" href="http://www.bellavou.co.uk/contact-us/">
      <span property="v:title">Contact Us</span>
    </a>
  </span>

</div>
Community
  • 1
  • 1
unor
  • 82,883
  • 20
  • 183
  • 315
  • Whilst I believe this would be a good solution, I need to make aware that I am using the Yoast plugin to generate the breadcrumb markup, and so cannot directly edit it, without editing the plugin files that output the code. So I'm afraid I cannot mark this as an answer, sorry. – Lee Mar 25 '15 at 15:11