Video Schema and Key Moments: Getting Chapters Into Google

A hands-on guide to VideoObject, Clip and SeekToAction markup: the eligibility rules, the exact fields Google wants, and how to validate everything so your videos earn key-moment jump links in search.

What key moments are and where they come from

Search a how-to query and Google will often show a video result with a row of labelled jump links underneath: 'In this video: 0:42 Choosing a drill bit, 2:15 Marking the wall'. Those are key moments. Clicking one starts the video at that timestamp. They make a video result physically larger, more useful and considerably more clickable than a bare thumbnail.

There are two routes to getting them. If your video lives on YouTube, key moments come from the chapter timestamps in your description or from Google's automatic detection, and no markup on your site is involved. If you host the video yourself, or on a player such as Vimeo embedded on your pages, you tell Google about the moments with Clip markup or let it choose them with SeekToAction. This tutorial covers the self-hosted route, which is the one most business sites get wrong.

Eligibility rules before you write any code

Google ignores video markup that fails its basic requirements, so check these first:

  • The video must be embedded and actually watchable on the page that carries the markup, not merely linked from it.
  • It should be the main content of the page and sit high in the layout; a video buried under long text or tucked into a sidebar is far less likely to be treated as a video page.
  • Googlebot must be able to fetch both the video file and the thumbnail: no robots.txt blocks, no login walls, no thumbnails that only render after user interaction.
  • For Clip and SeekToAction specifically, your player must support deep links: a URL parameter such as ?t=120 that starts playback at a given second.
  • One video per page works best; several videos dilute which one Google picks as primary.

If your videos are on YouTube, stop here and write chapters instead: a description with timestamps starting at 0:00, at least three entries, and each chapter at least ten seconds long.

Need a hand with this?

Our team delivers Video Production for UK businesses — with a free initial consultation, transparent fixed quotes and no lock-in contracts. Tell us what you're working on →

Step one: a solid VideoObject

Everything hangs off a VideoObject in JSON-LD placed on the video's page. Google requires three properties and strongly rewards several more:

  • Required: name (the video title), thumbnailUrl (a crawlable image, ideally 16:9) and uploadDate in ISO 8601 format (2026-07-12).
  • Strongly recommended: description, duration in ISO 8601 (PT4M35S), contentUrl (the direct video file URL) and embedUrl (the player URL).
  • contentUrl matters most in practice: without a fetchable video file or a recognised embed, Google may index the page but never the video.

If you run WordPress, plugins such as Yoast Video SEO or Rank Math can output VideoObject, but audit what they generate rather than trusting defaults. A missing contentUrl is the most common gap, and it silently disqualifies the page.

Step two: Clip markup for hand-picked moments

Clip is how you name each moment yourself, which is the right choice when the chapters are editorially meaningful: recipe stages, tutorial steps, agenda items. Inside the VideoObject, add a hasPart array where each entry is a Clip with these properties:

  • name: the label shown in search, so keep it short and descriptive ('Fitting the bracket', not 'Part 3').
  • startOffset: the moment's start time in seconds from the beginning of the video.
  • endOffset: where the moment ends; recommended rather than required, and worth including so moments do not overlap.
  • url: a link to the page that starts playback at that second, for example https://example.co.uk/guides/wall-mounting?t=35. The time parameter must genuinely work.

Three to ten clips is a sensible range. Label them the way a searcher would phrase the sub-task, because the labels themselves can match queries and pull clicks that the main title never would.

The alternative: SeekToAction, letting Google choose

If producing chapter lists for every video is unrealistic, SeekToAction tells Google how your URLs deep-link into the video and lets its systems pick the moments automatically. Inside the VideoObject you add a potentialAction of type SeekToAction with a URL template containing a placeholder for the seconds value; Google substitutes numbers into it when linking users to a moment. You give up editorial control of the labels but gain coverage across an entire video library with a single template change. Many sites use Clip on their ten most valuable videos and SeekToAction as the site-wide default.

Validate, submit and monitor

  • 1. Paste the page URL into the Rich Results Test (search.google.com/test/rich-results) and confirm a video result is detected with no errors; warnings on recommended fields are tolerable but worth clearing.
  • 2. Use URL Inspection in Google Search Console to request indexing of the page.
  • 3. Check the video indexing report in Search Console after a week or two; it confirms whether Google found the video and, crucially, states the reason when a video is not indexed.
  • 4. Add a video sitemap, or include video tags in your existing sitemap, once you have more than a handful of video pages.
  • 5. Track performance by filtering the Search Console performance report to the Videos search appearance.

Key Takeaway

Key moments need three things: a VideoObject with name, thumbnailUrl, uploadDate and a fetchable contentUrl; a player that supports time-parameter deep links; and either Clip markup naming each moment or SeekToAction letting Google pick them. Validate with the Rich Results Test, then watch the video indexing report in Search Console. If the video sits on YouTube, skip the markup entirely and write description chapters instead.

Why key moments never show up

  • The player lazy-loads only on scroll or click, so Googlebot never sees a video at all; render the embed server-side.
  • Timestamps drift after a re-edit, leaving clips pointing at the wrong content and eroding trust in the markup.
  • Thumbnails sit on a CDN path that robots.txt disallows.
  • The markup lives on a category or listing page rather than the page where the video actually plays.

Even perfect markup is a request, not a command. Google decides eligibility query by query, and informational how-to searches are far more likely to show key moments than commercial ones. Implement it consistently, wait a few weeks and judge by the video report rather than by spot-checking one search. If you would like the markup, player configuration and validation handled for you, our team covers this as part of technical SEO work.

Work With Us

Need Help With Your Digital Strategy?

Our team of experts is ready to help. Get a free consultation and tailored proposal.