itemtype 属性本身不直接标记视频信息,它仅声明结构化数据类型(如 https://schema.org/VideoObject),具体字段需由 itemprop 配合 itemscope 使用;必须三者共存,且 thumbnailUrl 等关键属性需可访问、符合格式要求。

itemtype 属性本身不直接标记视频信息
itemtype 是 Microdata 规范里的属性,它只负责声明一个结构化数据的类型(比如 https://schema.org/VideoObject),并不承载具体字段值。真正标记“视频标题”“时长”“缩略图”这些信息的是配合使用的 itemprop 属性。单独写 itemtype 没有意义,必须和 itemscope、itemprop 一起用。
正确嵌套:itemscope + itemtype + itemprop 缺一不可
常见错误是只加 itemtype 却漏掉 itemscope,导致搜索引擎完全忽略这段标记。正确结构如下:
<div itemscope itemtype="https://schema.org/VideoObject"> <h1 itemprop="name">如何调试 React Suspense</h1> <meta itemprop="duration" content="PT12M30S"> <link itemprop="thumbnailUrl" href="https://example.com/thumb.jpg"> <meta itemprop="uploadDate" content="2024-05-20"> </div>
要点:
-
itemscope必须存在,它是开启 Microdata 解析的开关 -
itemtype值推荐用https://schema.org/VideoObject(不是http,注意协议) -
itemprop的值要严格匹配 Schema.org 定义的属性名,比如不能写videoDuration,得写duration - 时间类字段(如
duration、uploadDate)必须用 ISO 8601 格式,PT12M30S表示 12 分 30 秒,2024-05-20表示日期
避免用 <video></video> 标签直接套 itemtype
很多人试图这样写:<video itemscope itemtype="https://schema.org/VideoObject">…</video>。这在语法上合法,但实际效果差——<video></video> 是替换元素,内部文本内容不可见也不被解析,itemprop="name" 等属性容易丢失上下文。更稳妥的做法是用 <div> 或 <code><section></section> 包裹整个视频区块,把 <video></video> 和元数据都放进去:
立即学习“前端免费学习笔记(深入)”;
<section itemscope itemtype="https://schema.org/VideoObject">
<h2 itemprop="name">Webpack 5 模块联邦实战</h2>
<video controls>
<source src="webpack-federation.mp4" type="video/mp4">
</video>
<meta itemprop="embedUrl" content="https://example.com/embed/123">
<meta itemprop="description" content="详解模块联邦的三种使用模式">
</section>
注意:embedUrl 应指向可嵌入播放页(如 YouTube iframe 地址或自建 embed 接口),不是原始 MP4 链接。
验证是否生效:别信浏览器开发者工具
Chrome DevTools 的 Elements 面板不会高亮 Microdata,也看不到结构化数据解析结果。必须用 Google 的 Rich Results Test 或 Schema Markup Validator 提交 HTML 片段验证。常见失败原因:
-
itemtypeURL 写成http://schema.org/VideoObject(少一个s) -
itemprop="thumbnailUrl"指向的图片返回 404 或跨域限制(CORS),导致抓取失败 - 缺失必填字段:Google 对
VideoObject要求至少提供name、description、thumbnailUrl、uploadDate四个itemprop - 页面未部署上线,验证工具无法访问相对路径资源(如
./thumb.jpg)
最常被忽略的是 thumbnailUrl 的可访问性——本地开发时能加载,上线后因路径或权限问题 403,整个视频富媒体卡片就失效了。



















