VideoObject & Streaming Media Schema (JSON-LD Blueprint)
Structured data for embedded video content to qualify for Google Video Search carousels, key moments clips, and badge badges.
Displayed below main page header or above the tool container. • Zero CLS Container
Production JSON-LD Code Block
Embed this structured data block directly into your HTML <head> or framework layout template.
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "How to Diagnose Core Web Vitals INP Issues in Chrome DevTools",
"description": "Live walkthrough debugging Interaction to Next Paint bottlenecks using Chrome Performance panel and Long Animation Frames (LoAF).",
"thumbnailUrl": [
"https://omniseotools.com/images/videos/cwv-thumb-16x9.jpg",
"https://omniseotools.com/images/videos/cwv-thumb-1x1.jpg"
],
"uploadDate": "2026-09-10T12:00:00+00:00",
"duration": "PT12M35S",
"contentUrl": "https://video.omniseotools.com/mp4/cwv-inp-walkthrough.mp4",
"embedUrl": "https://www.youtube.com/embed/dQw4w9WgXcQ",
"hasPart": [
{
"@type": "Clip",
"name": "Introduction & LoAF Setup",
"startOffset": 0,
"endOffset": 180,
"url": "https://omniseotools.com/videos/cwv#t=0"
},
{
"@type": "Clip",
"name": "Analyzing Main Thread Script Evaluation",
"startOffset": 181,
"endOffset": 450,
"url": "https://omniseotools.com/videos/cwv#t=181"
}
]
}Typed Properties Specification (7 Fields)
Key Schema.org properties and sub-objects required to qualify for rich snippet treatment in Google Search.
| Property | Expected Type | Status | Description & Example |
|---|---|---|---|
| name | Text | Required | Video title. e.g. How to Diagnose Core Web Vitals INP Issues |
| description | Text | Required | Comprehensive summary of video content. e.g. Live walkthrough debugging Interaction to Next Paint... |
| thumbnailUrl | Array<URL> | Required | High-resolution video thumbnail images (16:9, 4:3, 1:1). e.g. ["https://.../thumb.jpg"] |
| uploadDate | DateTime (ISO 8601) | Required | Video publication date with timezone offset. e.g. 2026-09-10T12:00:00+00:00 |
| duration | Duration (ISO 8601) | Recommended | Exact video run length (e.g. PT12M35S). e.g. PT12M35S |
| contentUrl / embedUrl | URL | Required | Direct media stream URL or player embed URL. e.g. https://www.youtube.com/embed/... |
| hasPart | Array<Clip> | Recommended | Defines timestamps for Google Key Moments SERP timeline. e.g. [{ "@type": "Clip", ... }] |
Google Search Console Pitfalls & Critical Warnings
Avoid these 3 common validation traps, parser errors, and algorithmic policy penalties when deploying VideoObject schema.
Missing Direct Thumbnail URL
Omitting thumbnailUrl causes immediate video indexation failure in Google Video search.
Always provide valid public thumbnail image URLs with minimum dimensions of 160x90px.
Invalid Duration ISO 8601 String
Writing '12:35' instead of 'PT12M35S' prevents Google from parsing runtime duration.
Use strict ISO 8601 duration format.
Overlapping Timestamp Offsets in Clips
Providing startOffset greater than endOffset in hasPart clips triggers key moments syntax failure.
Verify that clip startOffset < endOffset sequentially.
Recommended Implementation Scenarios
Related Schema Blueprints
Explore complementary structured data blueprints across the Media & Entertainment cluster.
Displayed below main page header or above the tool container. • Zero CLS Container