我拥有的示例标记:
<body itemscope='itemscope' itemtype='http://schema.org/WebPage'>
<div id="main" itemprop='mainContentOfPage' itemscope='itemscope' itemtype="http://schema.org/Blog">
<article itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
blah blah blah
</article>
<div>
<aside>
<ul>
<li><article><img/>popular post article</article></li>
<li><article><img/>popular post article</article></li>
</ul>
</aside>
</body>
我应该对每个列表项中的文章使用什么?我想到了articleSection
,但这没有意义,因为它不在文章架构中。因此,我试图将最好的方法包含在这里添加Microdata。
在aside
内移动article
也不是一个可行的选择。这是Blogger,所以这样做会很棘手,尤其是在管理小部件管理方面。
答案 0 :(得分:1)
更新(2016):与此同时,Schema.org引入了一个属性,表示某个商品是网页的主要/主要商品:mainEntity
(see details )。所以下面的答案有些过时了。
如果它们也是博文,您也会使用BlogPosting
。
Microdata不仅适用于网页的主要内容。但是,Schema.org词汇表目前缺少将项目标记为页面主要内容项的属性(属性mainContentOfPage
仅允许WebPage
)。
通过对BlogPosting
使用articleBody
,有能力的消费者应该能够推断出页面上的其他BlogPosting
项(当然没有articleBody
} property)只是链接/相关的帖子。
所以它看起来像:
<div itemscope itemtype="http://schema.org/Blog">
<article itemprop="blogPost" itemscope itemtype="http://schema.org/BlogPosting">
<div itemprop="articleBody">…</div>
</article>
<aside>
<ul>
<li>
<article itemprop="blogPost" itemscope itemtype="http://schema.org/BlogPosting">
<a href="/post-4" itemprop="url"><span itemprop="name">Post 4</span></a>
</article>
</li>
<li>
<article itemprop="blogPost" itemscope itemtype="http://schema.org/BlogPosting">
<a href="/post-5" itemprop="url"><span itemprop="name">Post 5</span></a>
</article>
</li>
</ul>
</aside>
</div>