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 attributerel
on elementa
: The stringv: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?
2
Answers
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 parentspan
tag, and therefore expect the value ofrel
to be one of the typical link types (alternate, nofollow, etc…) and don’t accept the one (v:url
) that you are using.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:property="v:title"
to thespan
containing only the title.rel="v:url"
toproperty="v:url"
.Reduced example: