我正在尝试为我的产品页面创建Google Rich Snippets。
我使用
创建了一个产品<div itemscope="" itemtype="http://schema.org/Product">
...
</div>
在此产品中,我有一个使用
创建的优惠<div itemscope="" itemtype="http://schema.org/Product">
<div itemprop="offers" itemscope="" itemtype="http://schema.org/Offer">
...
</div>
</div>
我想将卖家属性(组织)添加到要约中,但是,我的HTML结构在产品下面有卖方,而不是要约。
<div itemscope="" itemtype="http://schema.org/Product">
<div itemprop="offers" itemscope="" itemtype="http://schema.org/Offer">
...
</div>
<div itemprop="seller" itemscope="" itemtype="http://schema.org/Organization">
...
</div>
</div>
但是,这似乎并不令Google结构化数据测试工具满意。
我尝试在组织中使用itemref
并在优惠中使用meta
- 标记
<div itemscope="" itemtype="http://schema.org/Product">
<div itemprop="offers" itemscope="" itemtype="http://schema.org/Offer">
<meta itemprop="seller" itemref="provider">
...
</div>
<div id="provider" itemscope="" itemtype="http://schema.org/Organization">
...
</div>
</div>
但它似乎仍未将卖方视为本组织。
我做错了什么?
答案 0 :(得分:1)
您没有正确使用itemref
:
itemref
的元素上指定itemscope
属性。itemprop
引用元素。所以你的例子必须如下:
<div itemscope itemtype="http://schema.org/Product">
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer" itemref="provider">
</div>
<div id="provider" itemprop="seller" itemscope itemtype="http://schema.org/Organization">
</div>
</div>
但是无法正常工作,因为这样,seller
属性将添加到Product
和Offer
这两个项目中。这是无效的,因为Product
不能拥有seller
属性。
因此,您必须更改嵌套,或者不要在容器Product
上使用div
。
然而,还有一个丑陋的修复:使用itemscope
添加虚拟元素:
<div itemscope itemtype="http://schema.org/Product">
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer" itemref="provider">
</div>
<div itemscope>
<div id="provider" itemprop="seller" itemscope itemtype="http://schema.org/Organization">
</div>
</div>
</div>