我在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
的子代? 最佳答案
是的,您可以使用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的使用是否正确,但是对于这个问题而言,这始终是题外话。)