我知道这可以做到 - 但我找不到一个例子。
我的页面标题中有一个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>
答案 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
项的属性,并将Organization
项Organization
添加到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。