为什么我的页面在 W3C 验证器中显示为已验证,但在使用 SEO 检查工具时却没有?
Why is my page showing as validated in the W3C validator, but not when using SEO checking tools?
我有一个网页 returns 在 W3C Validator 中被完全验证(并且是绿色的)。
但是当我 运行 在许多 SEO 测试网站中检查相同的 URL 时,它失败并告诉我它失败的错误:
Bad value v:url
for attribute rel
on element a
: The string v:url
is not a registered keyword.
此处引用的相关代码是面包屑的架构标记:
<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 网站中显示为有效?
您的网页有效,这就是 W3C 验证程序告诉您的原因。
但是许多 SEO 工具不理解父 span
标签中的 prefix
,因此期望 rel
的值是典型的 link types 之一](备用、nofollow 等...)并且不接受您正在使用的那个 (v:url
)。
Nethen -j.riano-’s answer 是正确的 (+1):它是有效的 HTML+RDFa,只是这些 "SEO testing websites" 是坏的(即,它们似乎不 care/recognize 你使用 RDFa)。
所以您当然可以保持这样的标记(并且您可能想考虑停止咨询此类 SEO 检查器)。
如果出于某种原因,您不希望他们报告此 "error",您可以通过更改 RDFa 来省略 rel
属性:
- 将
property="v:title"
移动到仅包含标题的 span
。
- 将
rel="v:url"
重命名为 property="v:url"
。
简化示例:
<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>
我有一个网页 returns 在 W3C Validator 中被完全验证(并且是绿色的)。
但是当我 运行 在许多 SEO 测试网站中检查相同的 URL 时,它失败并告诉我它失败的错误:
Bad value
v:url
for attributerel
on elementa
: The stringv:url
is not a registered keyword.
此处引用的相关代码是面包屑的架构标记:
<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 网站中显示为有效?
您的网页有效,这就是 W3C 验证程序告诉您的原因。
但是许多 SEO 工具不理解父 span
标签中的 prefix
,因此期望 rel
的值是典型的 link types 之一](备用、nofollow 等...)并且不接受您正在使用的那个 (v:url
)。
Nethen -j.riano-’s answer 是正确的 (+1):它是有效的 HTML+RDFa,只是这些 "SEO testing websites" 是坏的(即,它们似乎不 care/recognize 你使用 RDFa)。
所以您当然可以保持这样的标记(并且您可能想考虑停止咨询此类 SEO 检查器)。
如果出于某种原因,您不希望他们报告此 "error",您可以通过更改 RDFa 来省略 rel
属性:
- 将
property="v:title"
移动到仅包含标题的span
。 - 将
rel="v:url"
重命名为property="v:url"
。
简化示例:
<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>