Catalog/VideoObject schema missing required properties (name/thumbnailUrl/uploadDate)
SEO issue

VideoObject schema incomplete: add name, thumbnailUrl & uploadDate

Your VideoObject schema is missing required fields like name, thumbnailUrl or uploadDate. Find incomplete video markup free and fix it to stay eligible for video rich results and Key Moments in Google Search.

32
audited sites affected

What it means

This page has VideoObject structured data, but one or more required fields are absent: name (unique video title), thumbnailUrl (a crawlable thumbnail image URL), or uploadDate (ISO 8601 publication date). Recommended fields — contentUrl or embedUrl, duration, description — enrich the result. Missing required fields disqualify the page from Google's video rich results.

Why it matters

Google surfaces videos as a large thumbnail card (title, publisher, duration) and enables the Key Moments feature that deep-links to timestamps. Both need complete VideoObject markup. name labels the result and must be unique per video; thumbnailUrl must be publicly crawlable (not behind a login wall or blocked by robots.txt), Google recommends 1280x720+; uploadDate should carry a timezone offset (2026-07-12T10:00:00+00:00), not a bare date. contentUrl (the actual file) is preferred over embedUrl, and the deprecated interactionCount integer should be replaced by an interactionStatistic object.

How to fix it

  1. Add name, thumbnailUrl, and uploadDate to every VideoObject block — these three are unconditionally required.
  2. Use a unique name and thumbnailUrl per video; do not reuse values across videos.
  3. Write uploadDate as a full ISO 8601 DateTime with a timezone offset, not just a date.
  4. Confirm the thumbnail is publicly crawlable (no login wall, not blocked by robots.txt).
  5. Add contentUrl (the video file) or embedUrl (the embed player endpoint, not the watch page).
  6. Replace any interactionCount integer with an interactionStatistic InteractionCounter object, and validate in the Rich Results Test.

Example

Before — JSON-LD
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "How to Repot a Monstera"
}
</script>
After — JSON-LD
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "How to Repot a Monstera",
  "description": "A 3-minute walkthrough of repotting a root-bound Monstera.",
  "thumbnailUrl": "https://example.com/img/monstera-16x9.jpg",
  "uploadDate": "2026-03-14T08:00:00+00:00",
  "contentUrl": "https://example.com/video/monstera.mp4",
  "duration": "PT3M20S"
}
</script>

name, thumbnailUrl and uploadDate are required; add contentUrl or embedUrl plus duration so the video is eligible for Key Moments.

When it's not a problem

A purely decorative video (background loop, UI animation) with no indexable content does not need VideoObject markup — omitting it is correct. A VideoObject nested in a larger @graph that inherits fields from a parent node may be a false positive; verify with the Rich Results Test. It is separate from schema.invalid (malformed JSON) and schema.none (no markup at all).

How Crawlinx detects it

During parse we read every VideoObject JSON-LD block and check the three required properties (name, thumbnailUrl, uploadDate). Any that are absent are listed in the finding; a total absence of schema is schema.none, not this rule.

How common is it?

32 audited sites in our corpus currently show this issue. The breakdowns below show which platforms, gatekeepers, verticals and countries are most exposed.

FAQ

Which VideoObject fields does Google require?
name, thumbnailUrl and uploadDate are the hard-required trio. contentUrl or embedUrl is needed for the video to actually play, and duration unlocks the video duration badge and Key Moments.
Does thumbnailUrl need a specific size?
Use an image at least 60x30px; a 16:9 frame 1200px wide or larger is the safe choice. It must be crawlable — not blocked by robots.txt — and represent the video, not a generic poster.
What date format should uploadDate use?
ISO 8601 with a timezone offset, e.g. 2026-03-14T08:00:00+00:00. A bare date works but the offset avoids ambiguity about when the video went live.
Breakdowns

CMS

View breakdown →

Category

View breakdown →

Related
Catalog Article schema missing recommended properties (Top Stories / image carousel) BreadcrumbList present but structurally incomplete Deep page has no BreadcrumbList structured data Comma decimal in schema ratingValue/price (invalid number) Deprecated data-vocabulary.org markup (no rich-result eligibility) Dataset schema incomplete (name/description; Dataset Search only) Deprecated schema type with no Google rich result Event schema missing required properties (name/startDate/location) FAQPage structured data (rich result removed May 2026) Schema describes content not visible on the page Rich-result schema missing required properties JobPosting schema missing required properties LocalBusiness schema missing required properties (name/address) JSON-LD block missing @context or @type No structured data detected Product schema missing required or recommended properties QAPage schema incomplete (mainEntity Question with an answer) Recipe schema missing required properties (name/image) Review schema missing required properties (author/itemReviewed/reviewRating) SoftwareApplication schema incomplete (name/offers-or-rating/recommended) Structured-data date has already passed (stale event/job/offer) Category CMS

Audit your own site — free

157 checks, internal PageRank, render-diff. No signup, results in ~30s.

Scan your site →