如何用Schema.org的Product>Offer配置限量商品报价?验证属性用法
库存有限商品的Schema.org Product > Offer配置指南
核心问题解答
场景1与场景2中referenceQuantity和eligibleQuantity的用法判断
先明确Schema.org对这两个属性的定义:
referenceQuantity:标注当前价格对应的基准商品数量(即这个价格是多少件商品的总价)eligibleQuantity:限定该价格规则适用的购买数量范围(比如必须买满多少才能用这个价)
场景1:6把椅子总价1250欧元
你的配置逻辑是对的:
referenceQuantity: 6:明确1250欧元对应6把椅子的总价eligibleQuantity: 1:表示这个价格适用于购买1组(也就是6把)的情况,完美匹配“按套销售”的场景
场景2:单把250欧元,共6把库存
你的配置存在逻辑偏差:
referenceQuantity:1是正确的(250欧元对应1把椅子),但eligibleQuantity:6的意思是“必须买6把才能享受这个单价”,和你“单把标价、库存6把”的实际场景不符。如果允许单买,这里根本不需要加eligibleQuantity;如果是必须整套买但按单把标价,那eligibleQuantity的用法才合理,但要和商品描述对应上。
更合适的替代属性与优化方案
1. 明确库存数量:inventoryLevel
不管哪种场景,都应该用inventoryLevel(类型为QuantitativeValue)明确剩余库存,比只标InStock精准得多:
"offers": { "@type": "Offer", // ...其他属性 "inventoryLevel": { "@type": "QuantitativeValue", "value": "6" } }
2. 场景1优化(按套销售,总价)
如果固定按6把一套卖,可以给Product的name明确为“6把一套复古休闲椅”,同时把eligibleQuantity用minValue和maxValue固定为1,避免歧义:
"priceSpecification": { "@type": "UnitPriceSpecification", "price": "1250", "priceCurrency": "EUR", "referenceQuantity": { "@type": "QuantitativeValue", "value": "6", "unitCode": "C62" // 可选,用标准单位代码表示“件” }, "eligibleQuantity": { "@type": "QuantitativeValue", "minValue": "1", "maxValue": "1" } }
3. 场景2优化(单把标价,库存6把,可单买)
如果允许单买,完全不需要eligibleQuantity,直接用referenceQuantity:1表示单价,加上inventoryLevel:6明确库存即可:
"offers": { "@type": "Offer", "itemCondition": "http://schema.org/UsedCondition", "availability": "http://schema.org/InStock", "inventoryLevel": { "@type": "QuantitativeValue", "value": "6" }, "priceSpecification": { "@type": "UnitPriceSpecification", "price": "250", "priceCurrency": "EUR", "referenceQuantity": { "@type": "QuantitativeValue", "value": "1", "unitCode": "C62" } } }
如果场景2是必须买6把但按单把标价,那给eligibleQuantity加上固定范围就通顺了:
"eligibleQuantity": { "@type": "QuantitativeValue", "minValue": "6", "maxValue": "6" }
4. 简化方案:直接用price和priceCurrency
如果是简单定价场景(比如场景1就是一套总价,场景2就是单把单价),可以不用嵌套UnitPriceSpecification,直接在Offer里写核心属性,更简洁,搜索引擎也能正确解析:
场景1简化版
"offers": { "@type": "Offer", "itemCondition": "http://schema.org/UsedCondition", "availability": "http://schema.org/InStock", "inventoryLevel": { "@type": "QuantitativeValue", "value": "1" // 库存为1套,对应6把椅子 }, "price": "1250", "priceCurrency": "EUR" }
场景2简化版
"offers": { "@type": "Offer", "itemCondition": "http://schema.org/UsedCondition", "availability": "http://schema.org/InStock", "inventoryLevel": { "@type": "QuantitativeValue", "value": "6" // 库存6把椅子 }, "price": "250", "priceCurrency": "EUR" }
内容的提问来源于stack exchange,提问作者Pieter
相关产品推荐
相关产品推荐

