我一直在尝试找到使用RDFa将两个项目链接在一起的最佳方法,特别是将Person链接到多个SoftwareApplication条目。
我目前在作者页面上这样做的方式是:
<div class="container text-center" vocab="http://schema.org/" typeof="Person">
...
<span property="hasOfferCatalog" typeof="OfferCatalog">
<meta property="numberOfItems" content="10" />
<span property="itemListElement" typeof="CreativeWork">
<meta property="name" content="Project Name" />
<meta property="url" content="https://www.my-domain.tld/ProjectName/" />
</span>
...
如上所述,该项目实际上是一个SoftwareApplication,并且URL有一个完整的RDFa / Schema.org定义,但如果我把它放在:
typeof="SoftwareApplication"
在作者的页面上,有点预期,Google的结构化标记验证程序会抛出有关所需值不存在的错误,CreativeWork不会抛出任何错误,但不太具体。我真的不想在引用项目的任何地方重复整个SoftwareApplication元数据,我只想说“去看看这个URL”。
从作者页面交叉引用SoftwareApplication页面的正确/最佳方法是什么?在项目中,反向引用很容易,因为有一个Author属性,可以是Person类型,只有名称和URL可以接受。
一旦我知道正确的RDFa引用方式,我就会将标签应用于页面中的内容而不是使用元标记。
答案 0 :(得分:1)
要将项目链接在一起,您需要一个合适的属性。与author
一样(说明哪个Person
是SoftwareApplication
的创建者),或者像hasOfferCatalog
一样(说明SoftwareApplication
提供Person
}})。
在大多数情况下,Schema.org仅针对一个方向定义其属性。所以只有author
,没有 。如果您需要该属性用于其他方向,you can use RDFa’s authorOf
rev
attribute。
如果您不想重复数据(即,只定义一次并链接/引用此定义),您可以提供URL值。 Schema.org允许所有属性使用此属性,即使URL
未按预期类型列出。如果您想follow Semantic Web best practices,请为您的实体网址(as identifiers)提供RDFa的resource
属性,并使用这些网址作为属性值来引用实体。
为此,只需使用其中一个链接元素(例如,具有href
或src
属性的元素。)
以author
为例:
<!-- on the page about the software: /software/5 -->
<div typeof="schema:SoftwareApplication" resource="/software/5#this">
Author:
<a property="schema:author" typeof="schema:Person" href="/persons/alice#i">Alice</a>
</div>
<!-- on the page about the person: /persons/alice -->
<div typeof="schema:Person" resource="/persons/alice#i">
Authored by:
<a rev="schema:author" typeof="schema:SoftwareApplication" href="/software/5#this">Software 5</a>
</div>
如果结构化数据测试工具提供有关缺少属性的错误,请注意,这并不意味着您的标记出现问题。 Schema.org从不需要财产。
这只是意味着这些属性是required for getting a certain Google search feature。因此,如果您不想获取该功能(或者如果您无法提供所有必需的属性),请忽略这些错误。
答案 1 :(得分:0)
感谢您的回复,我将阅读链接资源,我也在我的问题中找到了具体案例的解决方案。
Google Search Console在Carousels上有一个页面,其中显示您可以使用只有“需要”网址的ListItem来填充hasOfferCatalog媒体资源。 E.g。
<span property="itemListElement" typeof="ListItem">
<meta property="position" content="1" />
<meta property="url" content="https://www.my-domain.tld/ProjectName/" />
</span>