If you want your videos to show up in Google's video results, in AI answers, and in rich search snippets, you need VideoObject schema. AI systems and search crawlers cannot watch a video the way a person can. They read the structured data around it. VideoObject markup tells them the title, the description, the thumbnail, the duration, and — critically — where the meaningful moments are. Without it, a great video is just an opaque embed that machines skip past.
What VideoObject schema actually does
VideoObject is a JSON-LD schema type that describes a single video to search engines and answer engines. It turns an unreadable media file into a machine-readable record. The moment you add it, your video becomes eligible for video-rich results, thumbnails in search, and inclusion when an AI assistant answers a "how do I..." question with a clip.
The required and recommended properties are straightforward. You almost always want to include: name (the video title), description (a real summary, not keyword stuffing), thumbnailUrl (one or more high-resolution stills), uploadDate in ISO 8601 format, duration in ISO 8601 format such as PT8M30S for eight minutes thirty seconds, and contentUrl or embedUrl so the engine knows where the actual media lives.
A minimal but complete block looks like this: a script tag of type application/ld+json containing an object with "@context" set to schema.org, "@type" set to VideoObject, and the properties above filled in with honest values. If you already mark up your written content, this is the same discipline extended to media — see our practical guide to JSON-LD and Schema.org for the fundamentals.
Key moments: the feature most sites miss
The single highest-value addition is Clip markup, also called Key Moments. This lets you tell search engines exactly which timestamp corresponds to which section of your video. When someone searches for a specific step, Google can deep-link them straight to that second of your video, and AI assistants can cite the exact segment that answers a question.
You add an array of "hasPart" entries, each a Clip object with a name, a startOffset in seconds, and a url that includes the timestamp fragment such as ?t=90. Chapter markup rewards videos that are genuinely structured — a tutorial with clear steps, a review with distinct sections, a recipe with defined stages. If your video already has chapters in its description, mirror those exact segments in the schema.
Common mistakes that get videos ignored
The most frequent failure is a thumbnail that does not meet size requirements. Google wants thumbnails at least 60x30 pixels, and realistically you want a large, clean, representative frame — small or broken thumbnail URLs simply drop you from video results. The second common error is a duration that does not match the actual video, which erodes trust in your markup across the board.
Another quiet killer is blocking the video file or its thumbnail in robots.txt. If a crawler cannot fetch the resources your schema points to, the markup is worthless. Confirm your bot access rules are not accidentally hiding media, and remember that JavaScript-heavy players can hide the video entirely from crawlers — the same problem that makes JavaScript-only websites invisible to AI assistants. Server-rendered markup beats client-injected markup every time.
How to verify and get cited
After you add VideoObject markup, validate it with Google's Rich Results Test and the Schema.org validator. Both will flag missing required fields and malformed dates before they cost you visibility. Then confirm the page actually serves the schema to bots by fetching the raw HTML, not the rendered view.
Getting cited by AI is about clarity and honesty in equal measure. A precise description, accurate timestamps, and a thumbnail that reflects the content give answer engines exactly what they need to surface your clip with confidence. If you want to know whether crawlers and AI systems can actually see your video markup right now, run the CheckMy.site scanner — it checks how your pages appear to the bots that decide whether you get cited.