互连 "Organization" 和 "worksFor" 微数据?
Interlinking "Organization" and "worksFor" microdata?
我们有一个网站,其联系页面由两部分组成:第一,有关组织的信息(名称、phone、电子邮件、注册码),第二,所有工作人员的联系人列表(包括姓名、职位、电子邮件和 phone 号码)。
我可以毫无问题地将微数据添加到各个领域。但我也想将组织和个人微数据相互链接起来。因此,对于 Persons,"worksFor" itemprop 信息直接取自 Organization itemprop="name",随后,在 Organization 下,workers 被列为 "employees" 或 "worker" itemprop.
<div itemscope itemtype="http://schema.org/Organization">
<span itemprop="name">Organization XXX</span>
<span itemprop="telephone">1234567</span>
<span itemprop="email">orgemail@org.org</span>
<span id="worklink" itemprop="worksfor">Organization YYY</span>
</div>
<table>
<tr itemscope itemtype="http://schema.org/Person" itemref="worklink">
<td itemprop="name">Helmut York</td>
<td itemprop="jobTitle">Analyst</td>
<td itemprop="email">helmut@org.org</td>
</tr>
<tr itemscope itemtype="http://schema.org/Person" itemref="worklink">
<td itemprop="name">Julius Xing</td>
<td itemprop="name">Analyst</td>
<td itemprop="email">julius@org.org</td>
</tr>
</table>
但是,问题在于使用此代码,组织也被赋予 "worksFor" itemprop,当然,这会在 Google 结构化数据测试工具中产生错误。任何想法如何解决这个问题? itemref 属性在 schema.org.
中的记录非常少
您可以使用 itemref
属性 执行此操作,但您必须将 id="worklink"
和 itemprop="worksFor"
¹ 移动到应该添加为 属性 值。
所以它可能看起来像这样:
<div itemprop="worksFor" itemscope itemtype="http://schema.org/Organization" id="worklink">
</div>
<table>
<tr itemscope itemtype="http://schema.org/Person" itemref="worklink"></tr>
<tr itemscope itemtype="http://schema.org/Person" itemref="worklink"></tr>
</table>
但现在您必须确保 Organization
项目没有其他微数据项目作为父项,否则它也会通过 worksFor
属性 添加到该项目.
itemref
的替代方法是使用 itemid
属性并将组织 URI 引用为值,但可能并非每个消费者都支持它。
¹ 请注意,URI 是 case-sensitive。 属性 是 ẁorksFor
,而不是 worksfor
。
我们有一个网站,其联系页面由两部分组成:第一,有关组织的信息(名称、phone、电子邮件、注册码),第二,所有工作人员的联系人列表(包括姓名、职位、电子邮件和 phone 号码)。
我可以毫无问题地将微数据添加到各个领域。但我也想将组织和个人微数据相互链接起来。因此,对于 Persons,"worksFor" itemprop 信息直接取自 Organization itemprop="name",随后,在 Organization 下,workers 被列为 "employees" 或 "worker" itemprop.
<div itemscope itemtype="http://schema.org/Organization">
<span itemprop="name">Organization XXX</span>
<span itemprop="telephone">1234567</span>
<span itemprop="email">orgemail@org.org</span>
<span id="worklink" itemprop="worksfor">Organization YYY</span>
</div>
<table>
<tr itemscope itemtype="http://schema.org/Person" itemref="worklink">
<td itemprop="name">Helmut York</td>
<td itemprop="jobTitle">Analyst</td>
<td itemprop="email">helmut@org.org</td>
</tr>
<tr itemscope itemtype="http://schema.org/Person" itemref="worklink">
<td itemprop="name">Julius Xing</td>
<td itemprop="name">Analyst</td>
<td itemprop="email">julius@org.org</td>
</tr>
</table>
但是,问题在于使用此代码,组织也被赋予 "worksFor" itemprop,当然,这会在 Google 结构化数据测试工具中产生错误。任何想法如何解决这个问题? itemref 属性在 schema.org.
中的记录非常少您可以使用 itemref
属性 执行此操作,但您必须将 id="worklink"
和 itemprop="worksFor"
¹ 移动到应该添加为 属性 值。
所以它可能看起来像这样:
<div itemprop="worksFor" itemscope itemtype="http://schema.org/Organization" id="worklink">
</div>
<table>
<tr itemscope itemtype="http://schema.org/Person" itemref="worklink"></tr>
<tr itemscope itemtype="http://schema.org/Person" itemref="worklink"></tr>
</table>
但现在您必须确保 Organization
项目没有其他微数据项目作为父项,否则它也会通过 worksFor
属性 添加到该项目.
itemref
的替代方法是使用 itemid
属性并将组织 URI 引用为值,但可能并非每个消费者都支持它。
¹ 请注意,URI 是 case-sensitive。 属性 是 ẁorksFor
,而不是 worksfor
。