如何使用 Microdata 的 'itemref' 来引用产品范围之外列出的类似产品?
How to use Microdata's 'itemref' to reference similar products that are listed outside of the Product scope?
我正在尝试使用微数据使用 Schema.org 定义来定义我的网站。 ItemPage
I am displaying the information about a product. Additionally, I want to 当相关产品显示在当前产品范围之外时。
我尝试使用 itemref
attribute. However, when I review the page on Structured Data Testing Tool 实现此目的,它没有显示相关产品是 ItemPage
节点的一部分。
<body itemscope itemtype="http://schema.org/ItemPage">
<header itemprop="hasPart" itemscope itemtype="http://schema.org/WPHeader">
</header>
<article itemprop="mainEntity" itemscope itemtype="http://schema.org/Product" id="details_10">
<h2 itemprop="name">Product 10</h2>
</article>
<aside>
<article itemref="details_10" itemscope itemtype="http://schema.org/Product">
<h3 itemprop="name">Product 20</h3>
</article>
<article itemref="details_10" itemscope itemtype="http://schema.org/Product">
<h3 itemprop="name">Product 30</h3>
</article>
</aside>
<footer itemprop="hasPart" itemscope itemtype="http://schema.org/WPFooter">
</footer>
</body>
必须反过来使用:
itemref
属性需要位于表示要添加属性的项目的元素上。这将是您的主要产品。
您要添加的元素需要 itemprop
属性(您缺少该属性,以及 isSimilarTo
属性)和 id
由 itemref
属性引用。这些将是您的情况下的类似产品。
所以,这将给出:
<body itemscope itemtype="http://schema.org/ItemPage">
<article itemprop="mainEntity" itemscope itemtype="http://schema.org/Product" itemref="details_20 details_30"></article>
<aside>
<article id="details_20" itemprop="isSimilarTo" itemscope itemtype="http://schema.org/Product"></article>
<article id="details_30" itemprop="isSimilarTo" itemscope itemtype="http://schema.org/Product"></article>
</aside>
</body>
此标记的问题是两个 isSimilarTo
属性也被添加到 ItemPage
中(因为它们嵌套在它下面),这是不正确的。为避免这种情况,最好的解决方案是不要在 body
元素上指定 ItemPage
,而是在 div
或类似元素上指定。
<body>
<div itemscope itemtype="http://schema.org/ItemPage">
<article itemprop="mainEntity" itemscope itemtype="http://schema.org/Product" itemref="details_20 details_30"></article>
</div>
<aside>
<article id="details_20" itemprop="isSimilarTo" itemscope itemtype="http://schema.org/Product"></article>
<article id="details_30" itemprop="isSimilarTo" itemscope itemtype="http://schema.org/Product"></article>
</aside>
</body>
(您也可以使用 itemref
来避免必须将主 Product
嵌套在 ItemPage
下。这也允许在 head
元素,例如。)
我正在尝试使用微数据使用 Schema.org 定义来定义我的网站。 ItemPage
I am displaying the information about a product. Additionally, I want to
我尝试使用 itemref
attribute. However, when I review the page on Structured Data Testing Tool 实现此目的,它没有显示相关产品是 ItemPage
节点的一部分。
<body itemscope itemtype="http://schema.org/ItemPage">
<header itemprop="hasPart" itemscope itemtype="http://schema.org/WPHeader">
</header>
<article itemprop="mainEntity" itemscope itemtype="http://schema.org/Product" id="details_10">
<h2 itemprop="name">Product 10</h2>
</article>
<aside>
<article itemref="details_10" itemscope itemtype="http://schema.org/Product">
<h3 itemprop="name">Product 20</h3>
</article>
<article itemref="details_10" itemscope itemtype="http://schema.org/Product">
<h3 itemprop="name">Product 30</h3>
</article>
</aside>
<footer itemprop="hasPart" itemscope itemtype="http://schema.org/WPFooter">
</footer>
</body>
必须反过来使用:
itemref
属性需要位于表示要添加属性的项目的元素上。这将是您的主要产品。您要添加的元素需要
itemprop
属性(您缺少该属性,以及isSimilarTo
属性)和id
由itemref
属性引用。这些将是您的情况下的类似产品。
所以,这将给出:
<body itemscope itemtype="http://schema.org/ItemPage">
<article itemprop="mainEntity" itemscope itemtype="http://schema.org/Product" itemref="details_20 details_30"></article>
<aside>
<article id="details_20" itemprop="isSimilarTo" itemscope itemtype="http://schema.org/Product"></article>
<article id="details_30" itemprop="isSimilarTo" itemscope itemtype="http://schema.org/Product"></article>
</aside>
</body>
此标记的问题是两个 isSimilarTo
属性也被添加到 ItemPage
中(因为它们嵌套在它下面),这是不正确的。为避免这种情况,最好的解决方案是不要在 body
元素上指定 ItemPage
,而是在 div
或类似元素上指定。
<body>
<div itemscope itemtype="http://schema.org/ItemPage">
<article itemprop="mainEntity" itemscope itemtype="http://schema.org/Product" itemref="details_20 details_30"></article>
</div>
<aside>
<article id="details_20" itemprop="isSimilarTo" itemscope itemtype="http://schema.org/Product"></article>
<article id="details_30" itemprop="isSimilarTo" itemscope itemtype="http://schema.org/Product"></article>
</aside>
</body>
(您也可以使用 itemref
来避免必须将主 Product
嵌套在 ItemPage
下。这也允许在 head
元素,例如。)