5

我想使用Schema.org<meta>使用 HTML5+Microdata 的标签来指定产品是否为“有货” 。

我不确定这是否是正确的语法:

<div itemscope itemtype="http://schema.org/Product">
  <h2 itemprop="name">Product Name</h2>
  <dl itemprop="offers" itemscope itemtype="http://schema.org/Offer">
    <dt itemprop="price">$1</dt>
    <meta itemprop="availability" itemscope itemtype="http://schema.org/ItemAvailability" itemid="http://schema.org/InStock">
  </dl>
</div>
4

6 回答 6

9

meta标签不能与这样的 itemscope 一起使用。表达这一点的正确方法是通过使用link标签的规范引用:

<div itemscope itemtype="http://schema.org/Product">
  <h2 itemprop="name">Product Name</h2>
  <dl itemprop="offers" itemscope itemtype="http://schema.org/Offer">
    <dt itemprop="price">$1</dt>
    <link itemprop="availability" href="http://schema.org/InStock">
  </dl>
</div>
于 2011-09-09T08:37:04.023 回答
3

我做了与 OP 相同的操作并得到了相同的结果,其中测试工具的可用性与子项目相关联......我终于能够通过以下方式对其进行正确验证:

<meta itemprop='availability' content='http://schema.org/InStock'>

以下是该优惠的 Google 结构化工具输出:

Item 1
type:   http://schema.org/offer
property:   
price:  Price: $139.00
pricecurrency:  USD
availability:   http://schema.org/InStock
于 2013-08-01T03:51:44.383 回答
1

虽然允许在 中使用meta(如果用于 Microdata!),但body您的示例不正确,原因如下:

  • dl元素只能包含dtor dd(和script/ template)元素。您要么必须将/放在meta里面,要么放在外面(但是你必须移动)。dtdddlitemscope

  • meta元素必须有一个content属性。

  • itemid用于此目的是不正确的,并且http://schema.org/ItemAvailability不是类型,因此使用+itemscope也不itemtype正确。

  • 但是,如果itemprop值是 URI,则必须使用link元素而不是meta元素。

此外,该price值不应包含货币符号,并且您似乎dt实际上应该是 a dd(带有dt包含“Price”之类的东西)。

所以你可以使用:

<dl itemprop="offers" itemscope itemtype="http://schema.org/Offer">
  <dt>Price</dt>
  <dd>$<span itemprop="price">1</span> <link itemprop="availability" href="http://schema.org/InStock" /></dd>
</dl>
于 2016-07-26T17:40:33.973 回答
0

请参阅标题不可见的内容(不确定这是否有帮助):

Google 网站管理员工具 - 关于微数据

一般来说,Google 不会显示用户看不到的内容。换句话说,不要以一种方式向用户展示内容,而使用隐藏的文本来分别为搜索引擎和网络应用程序标记信息。您应该标记在用户访问您的网页时实际显示给他们的文本。

本指南有一些例外情况。在某些情况下,为搜索引擎提供更详细的信息可能很有价值,即使您不希望页面的访问者看到这些信息。例如,如果一家餐厅的评分为 8.5,则用户(但不是搜索引擎)将假定评分基于 1-10 的等级。在这种情况下,您可以使用 meta 元素来表明这一点,如下所示:

<div itemprop="rating" itemscope itemtype="http://data-vocabulary.org/Rating"> Rating: <span itemprop="value">8.5</span> <meta itemprop="best" content="10" /> </div>

于 2014-01-23T11:25:58.227 回答
0

我在这里做了一个jsfiddle:http: //jsfiddle.net/dLryX/,然后将输出(http://jsfiddle.net/dLryX/show/)放入丰富的片段工具中。

那回来了:

在此处输入图像描述

我相信语法是正确的,并且警告并不重要,因为它没有属性,因为它是元标记。

于 2011-09-03T14:06:02.693 回答
-2

这是 schema.org 的入门指南中的一个示例,用于支持 @Lawrence 的回答。

但是,我不喜欢在页面正文中使用链接标签。来自MDN

链接标签只能出现在头元素中;

难道没有更好的方法来使用有效的标记来指定可用性吗?

于 2013-02-06T13:11:35.683 回答