说我有place
或business
(itemType = LocalBusiness)并希望在页面中列出其类似的项目(businesses
)。
我想要这样的事情:
<div itemscope itemType="https://schema.org/LocalBusiness">
<div itemprop="name">Biz Name</div>
<meta itemprop="image" content="image url" />
<div itemprop="description">Description</div>
.
.
.
</div>
<!--What should be the itemType of #other-similar-businesses to tell search engines these are Similar Items-->
<div id="other-similar-businesses" itemscope itemType="?" itemprop="?">
<div itemscope itemType="https://schema.org/LocalBusiness">
<div itemprop="name">Biz Name</div>
<meta itemprop="image" content="image url"/>
<div itemprop="description">Description</div>
.
.
.
</div>
<div itemscope itemType="https://schema.org/LocalBusiness">
<div itemprop="name">Biz Name</div>
<meta itemprop="image" content="image url"/>
<div itemprop="description">Description</div>
.
.
.
</div>
</div>
有一个sameAs
属性。 According to schema.org:
明确指示项目标识的参考网页的URL。例如。项目的维基百科页面,自由基页面或官方网站的URL。
但我不知道它是否适合这种情况。
我应该使用哪种类型(和属性,如果可用)?
答案 0 :(得分:3)
Schema.org没有提供传达 A 与 B 相似的东西的一般属性。 (最近的属性可能是relatedLink
,但这只能用于WebPage
个项目。)
可能因为那将是一种相当无用的关系,因为事情可能在许多不同方面相似。相反,如果地点位于另一个地方(例如,在同一个城市),Schema.org倾向于定义更具体的关系,例如containedInPlace
/ containsPlace
。
但我认为你的问题可以用不同的方式解决。如果我理解你的情况,你有一个关于单个(例如)Restaurant
项的页面,并且在该页面上你还链接到关于(某些相关/类似的)Restaurant
项目的页面。消费者应该明白,一个是关于页面的餐馆,另一个是有自己的页面。
mainEntity
/ mainEntityOfPage
然后您可以使用mainEntity
(如果您有WebPage
项)或反mainEntityOfPage
(see details)。这允许您传达许多Restaurant
项中的哪一项是主要项目,即页面所涉及的项目:
<body itemscope itemtype="http://schema.org/ItemPage">
<main>
<article itemprop="mainEntity" itemscope itemtype="http://schema.org/Restaurant">
<!-- primary restaurant -->
</article>
</main>
<aside>
<article itemscope itemtype="http://schema.org/Restaurant">
<!-- secondary restaurant -->
</article>
<article itemscope itemtype="http://schema.org/Restaurant">
<!-- secondary restaurant -->
</article>
</aside>
</body>
这并不会改变二级餐厅是顶级餐厅,但这应该不是问题。拥有多个顶级项目并没有什么不好;它通常无法阻止,因为所有情况都没有合适的属性。
如果您绝对不希望这样,hasPart
属性可用于所有Restaurant
项。我不喜欢这样,因为我不认为二级餐厅真的是页面的一部分,但严格来说,它们是(即以teasers的形式)。
relatedLink
指向二级餐厅的链接如果您不需要该页面上有关二级餐厅的结构化数据,您当然可以使用已经提到的relatedLink
属性链接到它们:
<body itemscope itemtype="http://schema.org/ItemPage">
<main>
<article itemprop="mainEntity" itemscope itemtype="http://schema.org/Restaurant">
<!-- primary restaurant -->
</article>
</main>
<aside>
<ul>
<li><a itemprop="relatedLink" href="/r2">Restaurant 2</a></li>
<li><a itemprop="relatedLink" href="/r3">Restaurant 3</a></li>
</ul>
</aside>
</body>