苦苦挣扎着微观数据

时间:2017-03-19 12:33:01

标签: asp.net microdata

我想使用软件应用程序的微数据来用单句表达SoftwareVersion,Offers和DownloadUrl属性。我网站上的文字如下: “最新版本是7.0.5.0,可以在这里免费下载。”

母版页已经包含了SoftwareApplication和。的许多属性 上述句子的asp代码 - 实际上是错误的 - 如下:

<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
  <meta itemprop="price" content="0" />
  <meta itemprop="priceCurrency" content="USD" />
  <p style="font-weight: bold; color: #6800ff; text-align: center;">Latest version is <span itemprop="softwareVersion">7.0.5.0</span> which can be downloaded for <span itemprop="description">free</span> <a itemprop="downloadUrl" href="http://www.prettygoodterminal.com/download/freedownload.zip">here.</a></p>
</div>

问题是,这样,softwareVersion和downloadurl属性被解释为商品中的元素,这是无效的。 Structured Data Analyzis

如何避免此问题并在单个文字句子中使用来自不同元素的属性(即SoftwareApplication和Offers)?

1 个答案:

答案 0 :(得分:0)

微数据标准的当前工作原理无法实现您的目标。

我可以想出两种可能的方法来处理这个

1。使用itemref

这需要对HTML布局进行更具侵入性的更改,因为您的SoftwareApplication需要知道嵌套id中使用的Offer

这会将downloadUrlsoftwareVersion itempropSoftwareApplication相关联,但与Offer的关联将保持不变。目前没有办法打破这种继承。

Google验证者将继续抱怨这些属性不属于Offer,但这些值现在是SoftwareApplication的一部分。

<div itemscope itemtype="http://schema.org/SoftwareApplication" itemref="appversion appurl">
  <meta itemprop="applicationCategory" content="Game" />
  <meta itemprop="operatingSystem" content="Windows" />
    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
      <meta itemprop="price" content="0" />
      <meta itemprop="priceCurrency" content="USD" />
      <p>Latest version is <span itemprop="softwareVersion" id="appversion">7.0.5.0</span> which can be downloaded for <span itemprop="description">free</span> <a itemprop="downloadUrl" id="appurl" href="http://www.prettygoodterminal.com/download/freedownload.zip">here</a>.</p>
    </div>
</div>

2。使用重复的隐含值

这是最小的更改,但重复HTML中的值。

只需使用metalink标记将值添加到正确的范围内,用户无法看到。

itemprop内的内容中移除Offer

<div itemscope itemtype="http://schema.org/SoftwareApplication">
  <meta itemprop="applicationCategory" content="Game" />
  <meta itemprop="operatingSystem" content="Windows" />
  <meta itemprop="softwareVersion" content="7.0.5.0" />
  <link itemprop="downloadUrl" href="http://www.prettygoodterminal.com/download/freedownload.zip" />
  <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
      <meta itemprop="price" content="0" />
      <meta itemprop="priceCurrency" content="USD" />
      <p>Latest version is 7.0.5.0 which can be downloaded for <span itemprop="description">free</span> <a  href="http://www.prettygoodterminal.com/download/freedownload.zip">here</a>.</p>
  </div>
</div>