可以在文档上设置相同的itemprop和itemscope,还是不好的做法?
我问的原因是我的视图布局没有以线性方式显示类型,例如。公司头像位于侧边栏上,公司名称是标题,位于article > header
区块。
代码示例:
<div itemscope itemtype="http://schema.org/Order">
<div itemprop="seller" itemscope itemtype="http://schema.org/Organization">
<b itemprop="name">ACME Supplies</b>
</div>
<div class="reviews">
<p>Great company! - Jane</p>
</div>
<div itemprop="seller" itemscope itemtype="http://schema.org/Organization">
<span itemprop="url">http://acme-supplies.com</span>
</div>
</div>
我宣布itemprop="seller"
和itemscope itemtype="http://schema.org/Organization"
两次,因为我需要为页面设置样式。
答案 0 :(得分:2)
这不太理想。它传达了订单有两个卖家。消费者可以猜测/假设它是同一个卖家,但他们无法确定。
itemid
Microdata的itemid
属性允许您为项目提供URI(此URI 标识此项目描述的实体;它不一定必须指向页面,但它是提供包含项目信息的页面的好习惯。通过为两个Organization
项提供相同的URI,您可以传达这些项是关于同一个实体的。
执行此操作时,似乎无需再次提供seller
属性。
<div itemscope itemtype="http://schema.org/Order">
<div itemprop="seller" itemscope itemtype="http://schema.org/Organization" itemid="/seller/acme-supplies#this">
<b itemprop="name">ACME Supplies</b>
</div>
<div class="reviews">
<p>Great company! - Jane</p>
</div>
<div itemscope itemtype="http://schema.org/Organization" itemid="/seller/acme-supplies#this">
<a itemprop="url" href="http://acme-supplies.com/">acme-supplies.com</a>
</div>
</div>
(注意:您也可以使用itemd
的外部URI,例如http://acme-supplies.com/
,假设此URI标识卖家,而不是其他内容。严格来说,此URI也可以代表卖家的网站等。理想情况下,卖家本身会提供一个识别它的URI,但不是很多。)
itemref
另一种解决方案,如果您可以将第二个Organization
元素移出Order
元素,则是Microdata的itemref
属性。
<div itemscope itemtype="http://schema.org/Order">
<div itemprop="seller" itemscope itemtype="http://schema.org/Organization" itemref="seller-acme-supplies-url">
<b itemprop="name">ACME Supplies</b>
</div>
<div class="reviews">
<p>Great company! - Jane</p>
</div>
</div>
<div>
<a itemprop="url" href="http://acme-supplies.com/" id="seller-acme-supplies-url">acme-supplies.com</a>
</div>
Organization
元素(通过其itemref
属性)添加了ID为seller-acme-supplies-url
的元素中定义的属性。
您必须确保id
的元素不是另一个itemscope
的子元素(否则它也将成为该项目的url
。)