在一个关于视频网站的项目中,我必须准备有关有资格观看视频资料的国家的信息。
提供此信息的标记如下:
<span itemprop="eligibleRegion" itemscope itemtype="http://schema.org/Country">
<meta itemprop="name" content="DE" />
</span>
<span itemprop="eligibleRegion" itemscope itemtype="http://schema.org/Country">
<meta itemprop="name" content="FR" />
</span>
但是,所有国家/地区都有大量符合条件的视频产品。因此,显而易见的行动是重复上述标记约200次,这似乎不是最佳解决方案。
是否有可能实现相同的结果[所有国家/地区的产品供应],但数据量更少?
类似的东西:
<span itemprop="eligibleRegion" itemscope itemtype="http://schema.org/Country">
<meta itemprop="name" content="[allCountries] or [allRegions]" />
</span>
一个可能的解决方案
我想到的一个可能的解决方案是使用https://schema.org/geoRadius中的geoRadius并为其指定一个非常大的半径(?!)
<div itemprop="geo" itemscope itemtype="http://schema.org/GeoCircle">
<div itemprop="geoMidpoint" itemscope itemtype="http://schema.org/GeoCoordinates">
<meta itemprop="latitude" content="42.362757" />
<meta itemprop="longitude" content="-71.087109" />
</div>
<meta itemprop="geoRadius" content="[100000....]" />
</div>
然而,这似乎不是非常简洁的解决方案。
答案 0 :(得分:1)
由于eligibleRegion
属性还需要Text
作为值,您可以使用以下内容:
<meta itemprop="eligibleRegion" content="DE" />
<meta itemprop="eligibleRegion" content="FR" />
如果您有更多区域符合条件,则可能需要使用ineligibleRegion
属性。
如果您想传达内容在任何地方都符合条件,您当然可以省略任何eligibleRegion
/ ineligibleRegion
属性。这并没有明确表明情况就是这样,但可能是隐含的。
使用涵盖整个地球的GeoShape
/ GeoCircle
值可以明确这一点。
顺便说一句,如果您可以使用JSON-LD而不是Microdata,您可以使用类似的东西,这当然更紧凑:
"eligibleRegion": ["DE", "FR"],