SEO 百科
价格与库存
本页目录
价格与库存
价格与库存 是两项数据,在商品标记里最影响点击,都写在 Offer 类型里,再由 offers 属性挂到 Product 上[1]。站长标它,是为了让搜索结果直接显示价格与“有货”状态,减少用户逐个点开比价的成本[4]。这两项数据随活动与库存变动,维护比别的属性更费心。
用的类型
价格与库存都写在 Offer 里,再由 offers 属性挂到 Product 上[1]。同一商品有多个卖家或多个款式时,offers 可以放多个 Offer[2]。页面能直接下单,就该按商家信息的要求补齐报价[4]。
必需与推荐的属性
Google 为商家信息里的报价设了必需属性[4]。
price:当前价格priceCurrency:货币代码,例如CNY与USDavailability:库存状态,取 schema.org 的取值,例如InStock、OutOfStock、PreOrder
推荐属性里,priceValidUntil 给价格有效期,itemCondition 给商品成色。促销价用 priceSpecification 表达:把原价标成 StrikethroughPrice,当前价照常写在 price 里[4]。
可获得的富媒体结果
标记正确后,价格与库存会出现在商品摘要与购物知识面板里[4]。有促销时,原价可以划线显示,突出降价后的现价[4]。库存状态会随标记更新,InStock 与 OutOfStock 各自对应一种展示[4]。Bing 也支持报价标注,会按这套标记增强结果的视觉呈现[3]。第三方把这一类展示归入更丰富的搜索结果[6]。
写了不显示的原因
价格必须与页面一致。Google 会核对标记与页面上的价格,对不上就会忽略这条数据[4]。页面正在做活动,标记还留着旧价,两边就对不上。
库存状态也会随页面变化。商品已经售罄,标记仍写 InStock,展示与事实不符,同样会被忽略。价格随库存一起改,才跟得上页面。
各家引擎的规则并不通用。百度把抓取到展现概括为三步:从互联网抓取网页、建立索引数据库、将索引库中数据展现给用户[5]。展现用哪套规则由百度自己决定,Google 的价格与库存展示不代表百度也会展示。
可照抄的示例
下面这段 JSON-LD 给出一个报价示例,放进 head 或 body 都能生效。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Executive Anvil",
"offers": {
"@type": "Offer",
"url": "https://www.example.com/anvil",
"price": 899.00,
"priceCurrency": "CNY",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"priceValidUntil": "2026-12-31"
}
}
</script>
常见误用
一个误用是价格改了而货币没改。price 变了 priceCurrency 没变,金额的含义就跟着走样[4]。
另一个误用是长期挂着过期的促销价。priceValidUntil 过期后,标记与页面就对不上[4]。
还有一种误用是把原价与现价都写进 price。原价要放进 priceSpecification,并标成 StrikethroughPrice,否则两个价格会互相覆盖[4]。
附录
参见
参考资料
官方(境外)
- 《Offer》,schema.org。
- 《Product》,schema.org。
- 《Marking up your site: Overview》,Bing 网站管理员。
- 《商家信息(Product、Offer)结构化数据》,Google 搜索中心。
官方(国内)
- 《百度搜索的工作原理》,百度搜索资源平台,2023-12-21 更新。
第三方
- 《What Is Schema Markup And How To Implement It》,Moz,2024-11-11 更新。
外部链接
无。