RDFA的差异属性rel.属性

我谈过了HTML链接元数据在过去。在那些早先的文章中,我瞥了一眼一个细节,这一周给了我一个严重的头痛。这个问题是差异属性rel.属性,以及两个在使用时互操作的互操作要么<链接>元件。

短版本是属性属性描述字符串文字,以及rel.属性描述链接关系。好的,所以使用rel.用于链接元素和属性对于每个其他元素,你会没事的,对吧?是的,没有;这取决于。

以下示例yabo亚博体育下载类似于您在Schema.org上找到的大多数示例(例如,产品示例)。由于这些示例,您将找到代码片段和文章,推荐在Web上的以下语法:yabo亚博体育下载

 CC License 

谷歌富裕的结果测试(GRRT)实用程序将解释价值架构:许可证是链接值的值HREF.属性。所以这是一个例子属性意外地属性描述了链接关系而不是字符串文字!它已经正确完成了工作,它将被解释为“CC许可证“代替。然而,这不是错的。这是我需要快速弯曲并介绍RDFA Lite的地方;RDFA核心的简化子集。

RDFA Lite旨在使Web作者更容易采用RDFA。其中一个设计目标是通过简单地添加更多属性,可以将标记“升级”到完整的RDFA核心。为了简化它,规范作者还介绍了一些不相容!

让我们假设您对RDFA或RDFA Lite的任何内容都不了解,但您确实知道HTML中的一些内置链接关系。让我们展开上面的示例以合并几个HTML的标准链接 - 关系:

rel =“许可证nofollyabo亚博体育下载ow”> CC许可证

这包含了HTML的标准方法来声明许可证,并告诉搜索引擎不遵循链接并分配任何“链接果汁”。yabo亚博体育下载这些链接关系都已经被领先的搜索引擎识别多年。但是,当我们再次运行GRT时,我们会收到一条错误消息:

错误:字段“许可证”错误中的无效URL:字段“许可证”的无效值类型

解释价值架构:许可证这次是“CC许可证“。该属性属性不再描述链接关系,但是链接的文本节点Decedent!包括A.rel.归属于一种元素,您已将其从RDFA Lite升级到RDF核心!恭喜,我猜!

通过设置触发静默升级关于rel.资源, 要么在同一元素上的属性。它只适用于该元素而不是整个文档。以下示例yabo亚博体育下载显示了与RDFA核心版本完全迁移的相同元素:

rel =“许可证nofollyabo亚博体育下载ow架构:许可证”> CC许可证

此版本应与HTML和RDFA兼容客户端兼容。您在同一元素上有您的RDFA和HTML链接描述符,GRRT不再有任何问题解析元素。

通过盲目地合并您无法自动修复这些类型的问题属性属于rel.属性。有时您希望将元素解释为链接和字符串文字!以下是描述此博客的示例:

Rel =“架构:URL”property =“架构:name”> Ctrl博客

在上面的示例中,解释值架构:URL.是“//www.tianyase1.com/“和架构:名称是“Ctrl博客。“这是设计紧凑且数据丰富的标记RDFA的类型。您还可能意识到它比Schema.org上的许多代码示例更紧凑。

我之前在Facebook和Twitter的错误中讨论过错误网页元数据提取方法。我以为我会遇到另一个问题,就像我第一次遇到这种行为一样。这是出乎意料的,甚至给我我先前了解RDFA。RDFA LITE过度简化的内容,在与HTML功能一起使用时会以意想不到的方式破坏。Web作者需要在创作HTML + RDFA时意识到该领域的矿区。