Schema.org itemcope在体内?

时间:2014-04-11 10:49:39

标签: microdata schema.org

我是Microdata / Schema.org的新手,所以仍然找到我的方法。 由于我理解将内容放在关系和引用中,所以将公司的整个网页放在一个itemscope中,将它添加到body是一个好(或坏)的想法标签?所以你会得到一个像这样的结构:

<body itemscope itemtype="http://schema.org/BarOrPub">
    <header>
        <img itemprop="logo" src="logo.jpg" alt="Logo" />
        <h1 itemprop="name">The Bar</h1>
    </header>
    <p>Bla bla</p>
    <table itemscope itemtype="http://schema.org/OpeningHoursSpecification">
        <tr><th itemprop="dayOfWeek">Monday</th><td itemprop="opens">17:00-02:00</td></tr>
        <tr><th itemprop="dayOfWeek">Tuesday</th><td itemprop="opens">17:00-02:00</td></tr>
        <tr><th itemprop="dayOfWeek">Wednesday</th><td itemprop="opens">17:00-02:00</td></tr>
        <tr><th itemprop="dayOfWeek">Thursday</th><td itemprop="opens">17:00-02:00</td></tr>
        <tr><th itemprop="dayOfWeek">Friday</th><td itemprop="opens">17:00-02:00</td></tr>
    </table>
    <p>Bla bla</p>
    <div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
        <span itemprop="streetAddress">straatnaam huisnummer</span>
        <span itemprop="addressLocality">Plaats</span>
    </div>
</body>

如果这是一个好主意,我可以像上面那样使用itemtype“OpeningHoursSpecification”,还是需要让它成为itemprop的孩子?

1 个答案:

答案 0 :(得分:7)

是的,您可以使用body(甚至是html)元素。

还允许添加项目(如OpeningHoursSpecification)作为孩子。但请注意,如果您使用属性(itemprop)来“链接”它们,这些只与父项有关系(就像您使用address属性对PostalAddress所做的那样。)

因此,如果您想声明这是BarOrPub的OpeningHoursSpecification,您应该使用openingHoursSpecification属性:

<body itemscope itemtype="http://schema.org/BarOrPub">

  <table itemprop="openingHoursSpecification" itemscope itemtype="http://schema.org/OpeningHoursSpecification">
  </table>

  <div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
  </div>

</body>

(我不确定并且没有检查你对OpeningHoursSpecification的使用本身是否正确,但无论如何这对于这个问题来说都是偏离主题的。)