SEO

Video SEO and VideoObject Schema: A Practical Guide

Video SEO and VideoObject Schema: A Practical Guide

A surprising number of videos that should qualify for Google’s video search results never show up there — not because the video is bad, but because of one rule that’s easy to miss: the video has to be the main content of the page it lives on. Google tightened enforcement of this in a way that quietly disqualified a lot of embedded video content, and the fix is usually simpler than people expect once they understand what’s actually being checked.

What Google’s VideoObject schema actually requires

Google’s structured data documentation for video lists three required properties for VideoObject markup: name, thumbnailUrl, and uploadDate. JSON-LD is Google’s preferred format for implementing it, which matters for WordPress specifically — most SEO plugins that support video schema will generate this automatically if the video block or embed is set up correctly, but it’s worth verifying rather than assuming.

Beyond the three required fields, Google’s documentation also recommends description, duration, and contentUrl or embedUrl for richer results. If you want your video eligible for “key moments” markup — the timestamped chapter links that sometimes appear under a video result — there’s a minimum duration requirement of 30 seconds, so short clips won’t qualify for that specific enhancement even with otherwise perfect markup.

The “main content” rule that trips people up

This is the part that actually explains most of the confusion I see. On December 4, 2023, Google expanded its “main content” requirement specifically to video search results. The rule: for a video to appear in Google’s dedicated video results, it needs to be the primary purpose of the page it’s hosted on — not a supplementary element embedded in a blog post, product page, or article where the real content is the surrounding text.

Google added a specific flag to Search Console for exactly this situation: “Video is not the main content of the page.” If you’ve ever wondered why a genuinely good, well-marked-up video embedded halfway down a long article never shows up in video search, this is very likely why — Google isn’t evaluating the video’s quality, it’s evaluating whether the page it lives on is fundamentally about that video or just includes it.

A perfectly marked-up video on the wrong kind of page still won’t appear in video search results. The schema tells Google what the video is. The main-content rule tells Google whether the page is actually about it.

What this means practically for a WordPress video page

If video visibility specifically matters to you — not just having a video that plays fine embedded in a post, but wanting it to show up as a video result — the structural decision matters as much as the markup:

  • Give important videos a dedicated page where the video is unmistakably the primary content, with supporting text (a real, substantial description — not just a caption) rather than the video being one element among several.
  • Check the Video is not the main content flag in Search Console if you have video pages that aren’t appearing where you’d expect — it will tell you directly if this is the blocker, rather than leaving you guessing whether it’s a schema problem.
  • Don’t split effort across formats you don’t need. If your actual goal is just having video content that supports a blog post’s ranking in normal search, video-specific results aren’t the relevant metric to chase, and you don’t need to restructure the page around the main-content rule at all.

A note on what’s actually current here

I want to flag something explicitly while researching this: I couldn’t find a genuinely new 2025 policy change to VideoObject requirements or the main-content rule — the operative guidance still traces back to that December 2023 update. Google’s documentation pages show later “last reviewed” maintenance timestamps, which can make a two-year-old policy look freshly updated at a glance. If you see a source claiming a brand-new 2025 video SEO requirement, I’d want to see it traced back to an actual dated Google announcement before treating it as real — a lot of what circulates as “new” here is really the same December 2023 rule being rediscovered.

The practical checklist

For a WordPress site that wants its video content properly eligible:

  1. Confirm your VideoObject JSON-LD includes at minimum name, thumbnailUrl, and uploadDate — view page source or use Google’s Rich Results Test to check what’s actually being output, not just what your plugin’s settings claim.
  2. For any video where standalone video visibility matters, put it on its own page or make it unambiguously the main content of the page it’s on.
  3. Add a genuine text description near the video, not just a title — this reinforces both the main-content signal and gives Google’s crawler more to work with generally.
  4. Check Search Console’s Video pages report periodically for the main-content flag, especially if a video you expected to appear in video search results hasn’t.

Video SEO on WordPress is one of those areas where the technical implementation is usually the easy part — a decent plugin handles the schema output correctly by default. The part that actually decides whether your video shows up where you want it is a structural, editorial decision about what the page is fundamentally for, made before a single line of markup gets written.

Self-hosted versus embedded video changes the calculation too

Whether you’re self-hosting video files directly or embedding from YouTube or a similar platform affects this in a way that’s worth being deliberate about. An embedded YouTube video can still carry its own VideoObject markup and appear in Google’s video results independently, tied to YouTube’s own indexing, regardless of whether your surrounding page is optimized for it. A self-hosted video depends entirely on your own page’s markup and main-content structure to be discoverable at all. If video discovery specifically matters and you’re currently self-hosting, it’s worth weighing whether the extra control is worth the extra responsibility for getting every part of the structural and schema setup right yourself.

Rakibuzzaman Siam
Rakibuzzaman Siam Customer Experience Specialist at Rank Math, building AI automation projects on the side.