Rich Snippets:Microdata itemprop out of itemtype?

时间:2013-09-21 21:34:42

标签: microdata rich-snippets

我最近决定通过添加丰富网页摘要来更新网站 - 微数据。 问题是我是这类事的新手,我对此有一个小问题。

我正在尝试定义组织,如下面的代码所示:

<div class="block-content" itemscope itemtype="http://schema.org/Organization">
<p itemprop="name">SOME ORGANIZATION</p>
<p itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<span itemprop="streetAddress">Manufacture Street no 4</span>, 
<span itemprop="PostalCode">4556210</span><br />
<span itemprop="addressLocality">CityVille</span>, 
<span itemprop="addressCountry">SnippetsLand</span></p>
<hr>
<p itemprop="telephone">0444 330 226</p>
<hr>
<p><a href="mailto:info@snippets.com" itemprop="email">info@snippets.com</a></p>
</div>

现在,我的问题包括以下内容:我还要标记LOGO以制作完整的组织配置文件,但徽标位于我页面的标题中,而我在上面发布的div页脚和页面的样式/布局不允许我在这里添加徽标并使其可见。

那么,我该如何解决这个问题呢?什么是最好的解决方案?

感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用itemref attribute

在标题id中添加您的徽标,然后添加相应的itemprop

<img src="acme-logo.png" alt="ACME Inc." itemprop="logo" id="logo" />

现在将itemref="logo"添加到页脚中的div

<div class="block-content" itemscope itemtype="http://schema.org/Organization" itemref="logo">
  …
</div>

如果您的情况不可行,您可以“复制”徽标,使其包含在div中,但不可见。对于这种情况,微数据允许meta中的linkbody元素。您应该使用link元素,因为http://schema.org/Organization需要logo property的网址。 (或者,通过meta将其作为单独的ImageObject添加。)

<div class="block-content" itemscope itemtype="http://schema.org/Organization">
  …
  <link itemprop="logo" src="logo.png" />
  …
</div>

旁注:我认为您的示例中没有正确使用hr element。如果您只想显示水平线,则应使用CSS(例如border-top上的p)。

答案 1 :(得分:0)

Dan,您只需使用以下代码添加徽标架构:

<img itemprop="logo" src="http://www.example.com/logo.png" />

因此,在您的示例中,您只需将其标记为:

<div class="block-content" itemscope itemtype="http://schema.org/Organization">
<p itemprop="name">SOME ORGANIZATION</p>
<img itemprop="logo" src="http://www.example.com/logo.png" />
<p itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<span itemprop="streetAddress">Manufacture Street no 4</span>, 
<span itemprop="PostalCode">4556210</span><br />
<span itemprop="addressLocality">CityVille</span>, 
<span itemprop="addressCountry">SnippetsLand</span></p>
<hr>
<p itemprop="telephone">0444 330 226</p>
<hr>
<p><a href="mailto:info@snippets.com" itemprop="email">info@snippets.com</a></p>
</div>

我认为这应该适用于您的特定情况,并且它实际上不会显示徽标,您也不必单独标记徽标。希望有所帮助。