与div之外的数据相关的模式标记

时间:2016-11-17 12:48:35

标签: schema schema.org microdata

我知道这可以做到 - 但我找不到一个例子。

我的页面标题中有一个Schema.org组织div。

该页面是一篇文章,因此我必须添加一个发布者。我不想复制数据,我知道您可以通过ID引用页面上的其他项目,但我只是不确定整体语法。

这就是我所在的地方。我仍然收到2个错误,说明徽标和名称字段是必需的 - 但这不是我所引用的吗?

<div id="organization" itemscope itemtype="http://schema.org/Organization">
    <asp:HyperLink ID="lnkHome" runat="server" itemprop="url">
        <asp:Image ID="imgLogo" runat="server" itemprop="logo" />
    </asp:HyperLink>
    <meta itemprop="name" content="My Co" /> 
</div>

<article itemscope itemtype="http://schema.org/Article">
    <span itemprop="publisher" itemscope itemtype="http://schema.org/Organization" itemref="organization"></span>
</article>

1 个答案:

答案 0 :(得分:1)

作为explained in my answer,您要添加的元素必须具有itemprop属性。所以这就是你需要的结构:

<div itemprop="publisher" itemscope itemtype="http://schema.org/Organization" id="organization">
</div>

<article itemscope itemtype="http://schema.org/Article" itemref="organization">
</article>

(这应仅用于Organization添加为publisher的网页;否则,如果itemprop="publisher"不属于itemscope,则无效的HTML +微数据}。)

如果您现在用实际的HTML元素替换<asp:…>元素,Google的SDTT就能够理解您想传达的内容:它添加了name / url / {{1} } logo项的属性,并将OrganizationOrganization添加到publisher项。

Article

Google的SDTT仍然报告的错误不是您的Schema.org/Microdata的实际错误。这些只是Google获取搜索结果功能所需的属性。如果是<div itemprop="publisher" itemscope itemtype="http://schema.org/Organization" id="organization"> <a itemprop="url" href="/example"> <img itemprop="logo" src="example.png" alt="" /> </a> <meta itemprop="name" content="My Co" /> </div> <article itemscope itemtype="http://schema.org/Article" itemref="organization"> </article> Google wants to see an ImageObject value