结构化标记将模型添加到产品数据中

时间:2015-06-08 14:01:14

标签: schema.org microdata

我对使用结构化标记(Microdata / Schema.org)的正确方法提出了一个问题,即我有一个主要概述产品的情况,然后是一个具有单独价格和自定义属性的模型列表。

简化示例:

<div class="mainproduct" itemscope itemtype="http://schema.org/Product">
 <h1 itemprop="name">Product Name</h1>
 <p itemprop="description">Lorem ipsum my description oh yay all hear this.</p>
 <div class="modelslist" >
   <div class="model" itemscope itemtype="http://schema.org/ProductModel">
     <h2 itemprop="name">Model A</h2>
     <span itemscope itemtype="http://schema.org/Offer">
         <meta itemprop="price" content="£123" />
         <span itemscope itemtype="http://schema.org/PriceSpecification">
             <span itemprop="price">£123</span>
             <meta itemprop="priceCurrency" content="GBP" />
             <meta itemprop="valueAddedTaxIncluded" content="false" />
         </span>
     </span>
     <span itemscope itemtype="http://schema.org/PropertyValue">
          <meta itemprop="name" content="readability" />
          <span itemprop="value">325</span>
     </span>                                                                        
   </div>
   <div class="model" itemscope itemtype="http://schema.org/ProductModel">
     <h2 itemprop="name">Model B</h2>
     <span itemscope itemtype="http://schema.org/Offer">
         <meta itemprop="price" content="£456" />
         <span itemscope itemtype="http://schema.org/PriceSpecification">
             <span itemprop="price">£456</span>
             <meta itemprop="priceCurrency" content="GBP" />
             <meta itemprop="valueAddedTaxIncluded" content="false" />
         </span>
     </span>
     <span itemscope itemtype="http://schema.org/PropertyValue">
          <meta itemprop="name" content="readability" />
          <span itemprop="value">325</span>
     </span>  
   </div>
 </div>
</div>

Q1。指定价格然后是价格规格是否正确?如果没有元价格,Google结构化数据测试工具会警告“商品”为空。

Q2。如何指定“thingymabob”显示的自定义数据。我假设它与“additionalProperty”有关,但测试工具抱怨Google无法识别“additionalProperty”类型为ProductModel的对象。 (虽然它似乎来自http://schema.org/ProductModel

更新

好的,这里是更新,定价现在都是tickity-boo并且添加了itemprop =“model”,itemprop =“offers”和itemprop =“priceSpecification”都完成了正确的嵌套。

<div class="mainproduct" itemscope itemtype="http://schema.org/Product">
   <h1 itemprop="name">Product Name</h1>
   <p itemprop="description">Lorem ipsum my description oh yay all hear this.</p>
   <div class="modelslist" >
       <div class="model" itemprop="model" itemscope itemtype="http://schema.org/ProductModel">
           <h2 itemprop="name">Model A</h2>
           <span itemprop="offers" itemscope itemtype="http://schema.org/Offer">
             <meta itemprop="price" content="123" />
             <meta itemprop="priceCurrency" content="GBP" />
             <span itemprop="priceSpecification" itemscope itemtype="http://schema.org/UnitPriceSpecification">
                £<span itemprop="price">123</span>
                <meta itemprop="priceCurrency" content="GBP" />
                <meta itemprop="valueAddedTaxIncluded" content="false" />
             </span>
          </span>
          <span itemprop="additionalProperty" itemscope itemtype="http://schema.org/PropertyValue">
              <meta itemprop="name" content="readability" />
              <span itemprop="value">325</span>
          </span>                                                                        
    </div>
    <div class="model" itemprop="model" itemscope itemtype="http://schema.org/ProductModel">
        <h2 itemprop="name">Model B</h2>
        <span itemprop="offers" itemscope itemtype="http://schema.org/Offer">
           <meta itemprop="price" content="456" />
           <meta itemprop="priceCurrency" content="GBP" />
           <span itemprop="priceSpecification" itemscope itemtype="http://schema.org/UnitPriceSpecification">
               £<span itemprop="price">456</span>
               <meta itemprop="priceCurrency" content="GBP" />
               <meta itemprop="valueAddedTaxIncluded" content="false" />
          </span>
       </span>
       <span itemprop="additionalProperty" itemscope itemtype="http://schema.org/PropertyValue">
          <meta itemprop="name" content="readability" />
          <span itemprop="value">325</span>
      </span>  
    </div>
  </div>
</div>

这就留下了向模型添加其他属性的问题。从http://schema.org/ProductModel可以看出,其他属性应该没问题 - 只是Google目前不允许这样做吗?它确实在测试工具中返回此消息:“对于ProductModel类型的对象,Google无法识别属性additionalProperty。”还有另一种方法可以达到这个目的吗?

1 个答案:

答案 0 :(得分:2)

遗憾的是,Google搜索(according to their documentation)仅支持price,而非priceSpecification。我相信他们将来会支持它(如果情况并非如此,尽管没有记录)。

提供这两种属性似乎是一种合适的解决方案,尤其是在您没有这种属性的简单情况下e.g., a monthly fee

关于价格的标记:

所以你的标记看起来像:

<span itemscope itemtype="http://schema.org/Offer">
  <meta itemprop="price" content="123" />
  <meta itemprop="priceCurrency" content="GBP" />
  <span itemprop="priceSpecification" itemscope itemtype="http://schema.org/UnitPriceSpecification">
    £<span itemprop="price">123</span>
    <meta itemprop="priceCurrency" content="GBP" />
    <meta itemprop="valueAddedTaxIncluded" content="false" />
  </span>
</span>

(请注意,您还应该使用属性从其所属的产品中引用此Offer。)