VideoObject schema on pages with embedded videos
Why it matters
Video pages without schema-org VideoObject schema are excluded from Google's video Rich Results and video tab indexing. Google's video carousel requires name, description, thumbnailUrl, uploadDate, and duration to surface your video alongside search results — without them, your video is treated as an opaque embed. For tutorial, product demo, or educational content sites, video Rich Results represent a distinct SERP surface that competitors with schema markup access freely. The gap is almost always an omission, not intentional.
Severity rationale
Low because VideoObject schema absence forfeits video Rich Results eligibility without breaking video playback or core site functionality.
Remediation
Add VideoObject schema to each video page component in app/videos/[slug]/page.tsx, sourced from your video metadata store:
const schema = {
'@context': 'https://schema.org',
'@type': 'VideoObject',
name: video.title,
description: video.description,
thumbnailUrl: video.thumbnailUrl,
uploadDate: video.publishedAt, // ISO 8601: '2024-01-15T10:00:00Z'
duration: video.duration, // ISO 8601: 'PT5M30S'
contentUrl: video.url,
}
At minimum, all five required properties — name, description, thumbnailUrl, uploadDate, duration — must be present and non-empty. duration must be ISO 8601 format (e.g., PT5M30S for 5 minutes 30 seconds). Validate with the Google Rich Results Test.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Advanced SEO Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- schema-org · VideoObject — VideoObject with name, description, thumbnailUrl, uploadDate, duration
Taxons
History
- 2026-04-18·v1.0.0·Initial import from seo-advanced·automated