在为我的一个cusomters在线商店实施schema.org标记时,我发现有点困难。我认为这是标记中缺少的选项。更好的offer和aggregateOffer可以正确处理这种情况 - 尽管我认为它很常见。
问:如何正确标记多种尺寸和多种价格的ONE产品?
问题: http://schema.org/Product建议只有一个对我来说错误的productID。如果我添加三个优惠(http://schema.org/Offer),搜索引擎可能会认为,定价非常奇怪,因为同一产品有三种不同的优惠。
http://schema.org/AggregateOffer对我来说似乎不对。
感谢您的帮助。
答案 0 :(得分:12)
我认为标记此特定方案的正确方法是在单个Offers内嵌套多个Product。要为每个商品添加其他信息,请使用IndividualProduct。我不是百分百肯定,但这似乎在谷歌结构化数据测试工具中运作良好。
看起来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)
将以下内容复制并粘贴到Google的Structured Data Testing Tool中,以了解Google将如何解释HTML。
<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>
答案 1 :(得分:2)
我想我会有一个Product
包含多个Offer
,每个尺寸一个。当然,限制是它没有提供指定多个产品ID的正式方法,但也许你可以非正式地将它们放在Offer
的Description或URL属性中。这不是一个合适的选择,但也许它足够接近。
另一种选择是加入Public Vocabs电子邮件列表(lists.w3.org/Archives/Public/public-vocabs),该列表声称它是“提供扩展,新类型或部署体验反馈的地方”现有词汇“(lists.w3.org/Archives/Public/public-vocabs/2011Oct/0162.html),并为您的问题提出解决方案。
答案 2 :(得分:0)
我建议稍微改变一下这个特定网页的思维方式。不要将此特定网页视为“产品”页面,而应将其视为“WebPage”类型。这个'WebPage'实际上包含三个不同的'产品',每个'产品'都有自己的'Offer'和他们自己的'productID'。当你说每个尺码都有它自己的EAN时,这对我来说是一个很大的指标,即每个尺码的价格/尺寸/ ID应该包含在内部,如果它是自己的'产品'div。
答案 3 :(得分:0)
这就是Google所说的:使用itemOffered正在销售的商品。通常,这包括嵌套产品,但它也可以包含其他项类型或自由文本。
答案 4 :(得分:0)
所有不同的变体都应该表示为具有单独Product
s的单独Offer
。使用Product
的{{1}}和isSimilarTo
属性将它们链接在一起。
答案 5 :(得分:0)
考虑为产品使用“AggregateOffer”,而不是在每个优惠中将每个尺寸指定为不同的“itemOffer”
https://schema.org/itemOffered
<块引用>虽然此定义中明确列出了几种常见的预期类型,但也可以使用其他类型。使用第二种类型(例如产品或产品的子类型)可以阐明要约的性质。
答案 6 :(得分:0)
我认为 ProductGroup 是关键。见https://schema.org/ProductGroup
我有一个类似的追求,我发现很难将谷歌对 xml 产品提要的建议与 schema.org 规范相匹配。问题是,该 Feed 应将每个 sku 作为单个 Feed 项目(每个鞋码单独)包含在内,但仍将它们作为不同尺寸的一种产品出售。我们的开发人员使用 AggregateOffer 将所有尺寸链接在一起,但规范不允许每个 offer 项目不同,甚至不允许包含 sku 字段。 产品似乎更适合这种情况。 sku 和 +size* 都是有效的,Product 的属性。不同的尺寸应该由 productGroup 链接。
在您的情况下,我会研究 ProductModel 以对多个 Product 选项进行分组,因为它允许 PropertyValue 字段。见https://schema.org/ProductModel