microdata schema.org:如何将模式混合在一起?

时间:2012-05-02 20:39:31

标签: html5 seo microdata schema.org

你好,我有一个包含评论的页面(http://schema.org/WebPage)(http://schema.org/Review

问题是:

  • 如何处理重复内容?
  • 是否正确使元素属于两个或多个范围?
  • 怎么做,重复两次文字?
  • 或者我应该避免多次引用?

示例:

<html itemscope itemtype="http://schema.org/WebPage">
    <meta name="description" content="_________" itemprop="description">
    ...
    <div itemscope itemtype="http://schema.org/Review">
        <div itemprop="description">_________</div>
    </div>
    ...
</html>

描述属于Review AND to WebPage,所以...在这种情况下我应该写什么?

(注意:在前面的示例中,字符串“ _ _ ”是相同的文本段落,重复两次)


编辑:

这可以解决吗? (html5规范没有谈到这一点,但定义了itemref属性)

<html itemscope itemtype="http://schema.org/WebPage" id="WEBPAGE">
    ...
    <div itemscope itemtype="http://schema.org/Review" id="REVIEW">
        <div itemprop="description" itemref="WEBPAGE REVIEW">_________</div>
    </div>
    ...
</html>

随意改善问题!

1 个答案:

答案 0 :(得分:21)

快速回答

  • 如何处理重复内容?
    • 使用属性itemref
  • 是否正确使元素属于两个或多个范围?
    • 是的,这就是你使用itemref
  • 怎么做,重复两次文字?
    • 不,您只需要参考元素
  • 或者我应该避免多次引用?
    • 我认为您没有任何理由不想使用多个参考

一些例子

包装

使用itemref属性时,将引用元素中包含的所有属性包含在不同的范围内。

<body itemscope itemtype="http://schema.org/WebPage" itemref="wrapper">
    ...
    <div itemscope itemtype="http://schema.org/Review">
        ...
        <div id="wrapper">
            <div itemprop="description">_________</div>

            <div itemprop="some-other-property">_________</div>
        </div>
        ...
    </div>
    ...
</body>

包装 - 另一个例子

假设您的产品在范围之外有一些不同的产品。

<div itemscope itemtype="http://schema.org/Product" itemref="wrapper">
    ...
</div>

<div id="wrapper">
    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
        ...
    </div>

    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
        ...
    </div>

    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
        ...
    </div>
</div>

包含特定属性

您可能只希望在范围之外包含一个特定属性,为此,我们可以直接在指定了itemprop的目标元素上设置id。

<body itemscope itemtype="http://schema.org/WebPage" itemref="target">
    ...
    <div itemscope itemtype="http://schema.org/Review">
        <div id="target" itemprop="description">_________</div>
    </div>
    ...
</body>

多次参考

也许包装器不适用,那么您可以使用多个引用。你可以简单地用空格分开它们。

<body itemscope itemtype="http://schema.org/WebPage" itemref="desc name">
    ...
    <div itemscope itemtype="http://schema.org/Review">
        <div id="desc" itemprop="description">_________</div>

        <div id="name" itemprop="name">_________</div>
    </div>
    ...
</body>

来源

有关其他一些解释和示例,请参阅主题页面:
http://www.w3.org/TR/2011/WD-microdata-20110405/
http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html