首页 > 解决方案 > 我可以同时使用 Offer 和 AggregateOffer 吗?

问题描述

我有一个产品页面,可以从不同的卖家那里购买产品。

我看到谷歌在and之间分开,好像我应该选择那个标签或另一个。AggregateOfferOffer

我尝试像这样使用两者,并且在使用 Google 工具进行测试时返回了一个标记错误,因为我使用offers了两次:

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "MyName",
  "image": [
    "https://www.example.com/image1.jpg",
    "https://www.example.com/image2.jpg"
   ],
  "offers": {
    "@type": "AggregateOffer",
    "lowPrice": "100",
    "highPrice": "150",
    "priceCurrency": "USD",
    "offerCount": "3"
  }

      "offers": {
    "@type": "Offer",
    "url": "https://www.example.com/page/",
    "priceCurrency": "USD",
    "price": "100",
    "itemCondition": "https://schema.org/NewCondition",
    "availability": "https://schema.org/InStock",
    "itemOffered": "Thing"
  }

}

我想提供尽可能多的信息,根据谷歌的说法,诸如availability适用于Offer而不是AggregateOffer.

所以我有两个选择:

要么只使用上述Offer标记之一,要么使用AggregateOffer并在其中添加字段availability,即使我在任何地方都没有将此作为示例。

做什么会更好?

标签: schema.orggoogle-rich-snippets

解决方案


一个AggregateOffer可以引用它的所有Offer项目:

{
  "@context": "https://schema.org/",
  "@type": "Product",

  "offers": {
    "@type": "AggregateOffer",
    "offerCount": 3,

    "offers": [
      {
        "@type": "Offer"
      },
      {
        "@type": "Offer"
      },
      {
        "@type": "Offer"
      }
    ]

  }

}

根据谷歌关于 的文档AggregateOffer,谷歌的丰富产品搜索结果并没有使用包含的单个Offer项目AggregateOffer

另请注意,AggregateOffercan have 所有属性Offer都可以拥有(如availability),因为Offer是父类型,但这些属性随后适用于聚合商品本身,而不适用于它所包含的单个商品,因此这些属性中的大多数没有意义在这种情况下。


推荐阅读