SEO 百科

价格与库存

本页目录

价格与库存

价格与库存 是两项数据,在商品标记里最影响点击,都写在 Offer 类型里,再由 offers 属性挂到 Product 上[1]。站长标它,是为了让搜索结果直接显示价格与“有货”状态,减少用户逐个点开比价的成本[4]。这两项数据随活动与库存变动,维护比别的属性更费心。

用的类型

价格与库存都写在 Offer 里,再由 offers 属性挂到 Product 上[1]。同一商品有多个卖家或多个款式时,offers 可以放多个 Offer[2]。页面能直接下单,就该按商家信息的要求补齐报价[4]。

必需与推荐的属性

Google 为商家信息里的报价设了必需属性[4]。

  • price:当前价格
  • priceCurrency:货币代码,例如 CNY 与 USD
  • availability:库存状态,取 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]。

附录

参见

参考资料

官方(境外)

  1. 《Offer》,schema.org。
  2. 《Product》,schema.org。
  3. 《Marking up your site: Overview》,Bing 网站管理员。
  4. 《商家信息(Product、Offer)结构化数据》,Google 搜索中心。

官方(国内)

  1. 《百度搜索的工作原理》,百度搜索资源平台,2023-12-21 更新。

第三方

  1. 《What Is Schema Markup And How To Implement It》,Moz,2024-11-11 更新。

外部链接

无。