为什么我的页面在W3C验证器中显示为已验证,但在使用SEO检查工具时却没有?

时间:2015-03-25 13:35:08

标签: html w3c-validation rel rdfa

我有一个网页,在W3C Validator中作为完全验证(并且是绿色)返回。

但是当我在许多SEO测试网站上检查相同的网址时,它会失败并告诉我它失败的错误:

  

元素v:url上属性rel的值a:字符串v:url不是已注册的关键字。

这指的相关代码是面包屑的架构标记:

<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>

值得注意的是,标记在Google's Structured Data Testing Tool中完全验证。

为什么不在第三方网站检查中进行验证,但更重要的是,为什么它在实际的W3C网站中显示为有效?

2 个答案:

答案 0 :(得分:4)

您的网页有效,这就是W3C验证工具告诉您的原因。

但许多搜索引擎优化工具无法理解父prefix标记中的span,因此期望rel的值为典型link types之一( alternate,nofollow等...)并且不接受您正在使用的那个(v:url)。

答案 1 :(得分:2)

Nethen -j.riano-’s answer是正确的(+1):它是有效的HTML + RDFa,只是这些&#34; SEO测试网站&#34;是坏事(即,他们似乎并不关心/认识你使用RDFa)。

所以你可以保留这样的标记(当然(你也可以考虑停止咨询这样的SEO检查员)。

如果出于某种原因,您不希望他们报告此错误&#34;错误&#34;,您可以通过更改RDFa来省略rel属性:

  1. property="v:title"移至仅包含标题的span
  2. rel="v:url"重命名为property="v:url"
  3. 简化示例:

    <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>