2011-12-28 30 views
13

在为我的一个客户在线商店实施schema.org标记时,我注意到了一点困难。我认为这是标记中的一个缺失选项。更好的报价或者aggregateOffer都可以正确处理这种情况 - 尽管我认为这很常见。我应该如何处理具有多种尺寸/价格的产品的schema.org标记

  • 一页一个产品(让我们说这是一个身体乳液)
  • 的身体乳液有3种规格,100,200和250毫升
  • 它基本上有一个内部的productId(BL100,BL200和BL250)以及每个尺寸的EAN(http://en.wikipedia.org/wiki/International_Article_Number_(EAN))。
  • 如何购买:在产品页面去,选择你的尺寸,通过JavaScript的价格变动请点击添加到

Q图:我如何标记一个产品具有多种尺寸和多种价格正确?

问题: http://schema.org/Product建议只有一个productID这是我错了。如果我添加三个优惠(http://schema.org/Offer),搜索引擎可能会认为,定价是完全奇怪的,因为同一个产品有三个不同的优惠。

http://schema.org/AggregateOffer对我来说不太合适。

感谢您的帮助。

+3

又如材料或光洁度。例如,同样的水龙头进来,铬,镍,青铜和金板,每个都有自己的价格。 – linuxdan 2013-11-06 23:03:59

回答

8

我认为标记这种特定场景的正确方法是在一个Product内嵌入几个Offers。要向每个优惠添加附加信息,请使用IndividualProduct。我不是100%确定,但这似乎在Google结构化数据测试工具中运行良好。

它看起来像schema.org仍在更新以新的方式来标记您的产品。 schema.org项目从Good Relations电子商务产品词汇中抽取了很多结构。有关新词汇表项目的更多信息,请参阅E-commerce SEO Using Schema.org Just Got A Lot More Granular

假设我们想要在网站上列出有关苏门答腊咖啡豆的信息。我们想出售两种不同的尺寸(12盎司和16盎司),每种尺寸都有不同的价格。但是,两种产品尺寸都应该具有相同的图像('只是咖啡豆')和名称。结构将类似于:

Product (name, description, and image) 
    aggregateRating 
    Offer (price and priceCurrency) 
    IndividualProduct (sku and weight) 
    Offer (price and priceCurrency) 
    IndividualProduct (sku and weight) 

复制并粘贴以下为谷歌的Structured Data Testing Tool看到谷歌将如何解释HTML。

jsFiddle display

<article class="product" itemscope itemtype="http://schema.org/Product"> 
    <div class="images"> 
    <a href="images/product.jpg"> 
     <img alt="Sumatra Coffee Beans" itemprop="image" src="images/product.jpg"> 
    </a> 
    </div> 
    <div class="content"> 
    <header> 
     <h1 itemprop="name">Sumatra Coffee Beans</h1> 
    </header> 
    <div class="code"> 
     <span class="label">Item Number:</span> 
     <span itemprop="productID">sumatra-coffee</span> 
    </div> 
    <div itemprop="description"> 
     <p>Error 418</p> 
    </div> 
    <div class="reviews" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> 
     <div class="details"> 
     Rated <span itemprop="ratingValue">4.5</span>/5 
     </div> 
     <div class="count"> 
     (<span itemprop="reviewCount">9</span> reviews) 
     </div> 
    </div> 
    <div class="offer" itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 
     <div itemprop="itemOffered" itemscope itemtype="http://schema.org/IndividualProduct"> 
     <span class="sku" itemprop="sku">scb-ov1</span> 
     – (<span itemprop="weight">12 oz.</span>) 
     </div> 
     <div class="price">$<span itemprop="price">14.99<span></div> 
     <meta content="USD" itemprop="priceCurrency"> 
    </div> 
    <div class="offer" itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 
     <div itemprop="itemOffered" itemscope itemtype="http://schema.org/IndividualProduct"> 
     <span class="sku" itemprop="sku">scb-ov2</span> 
     – (<span itemprop="weight">16 oz.</span>) 
     </div> 
     <div class="price">$<span itemprop="price">20.99</span></div> 
     <meta content="USD" itemprop="priceCurrency"> 
    </div> 
    </div> 
</article> 
+0

这是一个很好的答案,真的帮了我很多谢谢 – 2015-01-15 19:59:49

+0

我正在查看['IndividualProduct']的schema.org规范(http://schema.org/IndividualProduct),我不确定它是否是itemscope用于列出单个商品SKU和价格的最佳类型(“IndividualProduct”是指“单个可识别的产品实例(例如具有特定序列号的便携式计算机)”)。另一种选择是['ProductModel'](http://schema.org/ProductModel),尽管我不确定它是否合适。 – thirdender 2016-09-27 19:09:37

+0

这不是最好的解决方案,因为Yandex将不正确的产品微数据与多个'offer'属性对待。 – Finesse 2018-03-05 01:37:12

2

我想我会有一个Product包含多个Offer s,每个大小一个。当然,限制是它没有提供指定多个产品ID的正式方法,但也许你可以非正式地将它们放在Offer的Description或URL属性中。这并不完全适合,但也许它已经足够接近了。

另一种选择是加入Public Vocabs电子邮件列表(lists.w3.org/Archives/Public/public-vocabs),该列表声称它是“提供扩展,新类型或部署体验反馈的地方与现有词汇“(lists.w3.org/Archives/Public/public-vocabs/2011Oct/0162.html),并提出解决方案,以解决您的问题。

+0

谢谢。按照您描述的方式实施它,但我期待着一个合适的解决方案。 – 2011-12-30 14:46:25

+0

不客气。当你找到合适的解决方案时,回来再发布,这样我们都可以学习。 – 2011-12-30 16:09:48

+0

我同意James的观点,并不是真的有很好的解决方案。我向[邮件列表]提出了这个问题(http://lists.w3.org/Archives/Public/public-vocabs/2012Jan/0072.html),但它没有得到任何牵引。麻烦是:我完全不知道解决方案是什么。 – nathanziarek 2012-02-01 22:08:28

0

我会推荐一个稍微不同的思考这个特定的网页的方式。不要将此特定网页视为“产品”页面,而应将其视为“网页”类型。这个'网页'实际上包含三个不同的'产品',每个产品都有自己的'产品'和他们自己的'产品ID'。当你说每个尺寸都有自己的EAN时,这对我来说是一个很大的指标,如果它是自己的“产品”格,每个尺寸的价格/尺寸/ ID都应该包含在里面。

+0

那么,这将迫使我使用很多隐藏的divs - 根据schema.org,这不是w3有效的,google不喜欢或meta标签。 – 2012-02-03 06:58:08

+0

我也不鼓励meta-tag方法。只有你可以谈论你的网站的设计以及是否可以完成,但是如果当用户从下拉菜单中选择不同的尺寸时,这些其他产品div将会显示出来,那么这是正常的JavaScript div揭示行为,而不是隐藏信息。 – 2012-02-04 17:25:44

-1

这就是谷歌说,做:使用itemOffered商品已售出。通常,这包括嵌套的产品,但它也可以包含其他项目类型或自由文本。

+1

你能更详细地了解一下吗? – Fred 2014-11-17 13:26:58

0

所有不同的变化都应该表示为单独的Product s和单独的Offer s。使用ProductisSimilarToisRelatedTo属性将它们链接在一起。

参考:http://schema.org/Product

相关问题