我正在使用VideoObject
schema将Schema.org Microdata添加到视频页面。
该公司的视频播放器仍然使用Flash作为默认播放器(功能丰富)和HTML作为后备。虽然这种情况将持续到2017年中期,但我需要在元数据中正确指出玩家类型。
前端检查Flash是否在所需版本中可用,如果是,则会在页面中注入Flash播放器。或者,它将注入播放器的HTML版本。
以下是否有效?测试工具不会抱怨,但文档中没有迹象表明这是否是有效值。
<meta itemprop="playerType" content="Flash, HTML5" />
或者我会更好地指出HTML,因为这可能是索引的首选格式,如果功能不那么完全可用吗?
<meta itemprop="playerType" content="HTML5" />
据推测,抓取工具可能无法访问Flash,因此无论如何都会在页面上看到HTML5播放器。
答案 0 :(得分:0)
我认为你无法用playerType
property传达该值代表一系列备选方案。类似于&#34; Flash,HTML5&#34;可能意味着需要Flash 和 HTML5,但实际情况并非如此。仅使用&#34; HTML5&#34;似乎也不合适,因为(我猜)Flash版本不需要HTML5支持。
由于VideoObject
定义为代表视频文件,因此一种解决方案可能是提供两个VideoObject
项。然后每个人都可以拥有自己的contentSize
,encodingFormat
,playerType
等等。
为了表明这些VideoObject
项代表相同的视频,您可以引入CreativeWork
项(或更具体的Clip
,Episode
或{{3}如果适用的话,保存关于视频的元数据,这些元数据对于两个视频文件都是相同的(例如,Movie
,about
,description
等。
然后,此项可用作director
属性的值。
所以它在Microdata中看起来像这样:
<div itemprop="encodesCreativeWork" itemscope itemtype="http://schema.org/Clip" id="work">
<p itemprop="description" id="work-description">…</p>
</div>
<div itemscope itemtype="http://schema.org/VideoObject" itemref="work work-description">
<meta itemprop="playerType" content="Flash" />
</div>
<div itemscope itemtype="http://schema.org/VideoObject" itemref="work work-description">
<meta itemprop="playerType" content="HTML" />
</div>
这就是理论。如果消费者实际期望/支持这是一个不同的问题。