
You can publish a great video, optimise the page around it, and still leave search engines with questions about what the video actually contains.
What is its title? When was it uploaded? How long does it run? Where can someone watch it? What image represents it?
Humans can often answer these questions by looking at the page. Search engines may need additional structured information to understand the relationship between the video and the page it appears on.
That is where VideoObject schema comes in.
VideoObject is a type of structured data that helps search engines interpret information about a video embedded or presented on a webpage. Implemented correctly, it can make your video content eligible for certain video search features.
It does not guarantee better rankings, enhanced search appearances, or additional traffic. However, it gives search engines clearer information about your video.
In this guide, you will learn what VideoObject schema does, which properties matter, and how to implement a copy-and-paste JSON-LD example on your website.
What Is VideoObject Schema?
VideoObject is a structured data type from Schema.org designed to describe video content.
Instead of relying entirely on the surrounding page to interpret a video, you can provide information through a standardised format that search engines can process.
For example, a webpage might contain a video titled "How to Choose the Right Video Production Company".
A visitor can see the title, thumbnail, and embedded player. With VideoObject structured data, you can also explicitly describe details such as the video's name, thumbnail, upload date, duration, and video location.
This information helps search engines understand the video and its context.
You can explore the available properties in the official Schema.org VideoObject documentation.
It is important to understand that structured data is not a shortcut around useful content. Your video should still be relevant to the page, accessible to visitors, and presented in a way that makes its purpose clear.
Why Video Schema Matters for SEO
Video SEO involves more than uploading a video and adding a descriptive title.
Search engines need to discover the video, understand what it contains, and determine whether it is relevant to a user's query.
VideoObject structured data can support that process by providing explicit information about the video.
1. It Clarifies What Your Video Contains
A filename such as final-video-v3.mp4 tells search engines very little about the content.
A descriptive title, thumbnail, upload date, and video description provide much more useful context.
Structured data helps communicate those details in a consistent format.
2. It Can Support Video Search Features
Google may use valid video structured data to understand a video and determine its eligibility for video-related search appearances.
However, adding schema does not guarantee that Google will display a particular enhancement.
Eligibility depends on several factors, including the page, video accessibility, implementation quality, and Google's systems.
3. It Makes Your Video Metadata More Explicit
A video page can contain information in several places: the visible title, the player, the page description, and the media file itself.
Structured data gives you a way to represent key video details in a machine-readable format.
The important principle is consistency. Your schema should describe the actual video visitors can see, not a different video or an exaggerated version of its content.
The Properties You Should Know
Before copying the code, understand the main properties used in the example.
| Property | Purpose |
|---|---|
@context |
Identifies the Schema.org vocabulary. |
@type |
Specifies that the object is a VideoObject. |
name |
Provides the video's title. |
description |
Summarises what the video contains. |
thumbnailUrl |
Identifies an image representing the video. |
uploadDate |
Specifies when the video was first published. |
duration |
Describes the video's length using ISO 8601 duration format. |
contentUrl |
Points to the actual video media file. |
embedUrl |
Identifies a URL for embedding the video player, where applicable. |
You do not necessarily need both contentUrl and embedUrl. Use the property that accurately represents your video and add both only when you have the corresponding URLs.
For example, contentUrl might point to an accessible MP4 file, while embedUrl might identify a player URL.
Do not place your webpage URL in either property unless it genuinely serves that purpose.
VideoObject Schema: Copy-and-Paste Example
Here is a basic JSON-LD implementation.
The example uses placeholder URLs and illustrative video details. Replace them with accurate information about your own video before publishing.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "How to Choose the Right Video Production Company",
"description": "Learn how to evaluate video production companies, compare proposals, and choose a production partner that fits your business goals.",
"thumbnailUrl": [
"https://example.com/images/video-production-thumbnail.jpg"
],
"uploadDate": "2026-10-20T09:00:00+00:00",
"duration": "PT2M45S",
"contentUrl": "https://example.com/videos/choosing-a-video-production-company.mp4"
}
</script>
Let's break down what matters.
The title describes the actual video. Avoid stuffing it with unrelated keywords or making claims the video does not support.
The description explains the content. It should be informative, specific, and consistent with the video itself.
The thumbnail URL points to a real image. Use an accessible, crawlable thumbnail that accurately represents the video. Make sure it meets Google's current technical requirements.
The upload date is accurate. The example uses an ISO 8601 date-time. If you include a time and timezone, ensure both are correct.
The duration matches the media. PT2M45S means two minutes and forty-five seconds. The P begins the ISO 8601 duration, T introduces the time components, 2M represents two minutes, and 45S represents forty-five seconds.
The content URL points to the video file. If you cannot provide a direct media URL, do not invent one. Consider whether an appropriate embedUrl is available instead.
Google's supported properties and recommendations can change, so consult the official Google Video structured data documentation before deploying the markup across a large website.
Where Should You Add the Code?
The JSON-LD script belongs in the HTML of the page containing the video.
It can appear in the document's <head> or <body>. It does not have to sit directly beside the video player, although keeping the markup associated with the relevant page makes implementation easier to manage.
For example, if a video appears on:
https://example.com/video-production-guide/
the VideoObject markup should describe the video presented on that page.
Do not automatically add the same video schema to every page on your website.
If different pages feature different videos, each page should contain structured data that accurately describes its relevant video.
If your website uses a content management system, you may be able to add the markup through an SEO plugin, a dedicated schema feature, or a template.
Be careful not to create duplicate VideoObject markup if your existing plugin already generates it.
How to Validate Your Video Schema
Writing valid JSON is only one part of the process. You also need to check whether the structured data is implemented correctly and whether search engines can access the relevant resources.
Use these three checks.
Step 1: Test the Markup
Open Google's Rich Results Test.
Enter the published page URL or test the code directly.
Review any errors or warnings that the tool reports. Not every warning means the markup is invalid, and not every Schema.org property is required for every Google feature.
Pay particular attention to errors that prevent Google from recognising the supported structured data.
Step 2: Confirm That the Video Is Accessible
A correct schema block cannot compensate for a video that search engines cannot access.
Check that:
- The page can be crawled.
- The thumbnail URL works.
- The video is available to the intended audience.
- The video is meaningfully presented on the page.
- The URLs in your schema point to the correct resources.
- Important resources are not accidentally blocked by access restrictions or crawling rules.
For pages where video visibility in search is a priority, review Google's video SEO best practices.
Step 3: Monitor the Results
If your site is verified in Google Search Console, review the relevant video indexing reports and URL inspection information where available.
Look for issues that might prevent Google from discovering or indexing the video.
Remember that passing a structured data test does not guarantee indexing or a rich result. Validation confirms particular technical requirements, not the final search outcome.
Five Video Schema Mistakes to Avoid
The code itself is relatively simple. The mistakes usually happen when people implement it without checking the details.
1. Using a Thumbnail That Does Not Exist
If the thumbnail URL returns an error, requires unauthorised access, or points to an unrelated image, the markup becomes less useful.
Always test the actual image URL.
2. Guessing the Upload Date
Do not use the date you updated the webpage if the video was published much earlier.
The uploadDate should represent the video's original publication date and, where applicable, time.
3. Describing a Video That Is Not Really There
Adding VideoObject markup to a page without a corresponding video creates a mismatch between the structured data and the visible experience.
The markup should represent content that genuinely exists on the page.
4. Confusing the Page URL With the Video URL
A page URL points to a webpage. A contentUrl points to the video media file.
An embedUrl identifies the player URL where applicable.
These properties serve different purposes. Use them accurately.
5. Expecting Schema to Fix a Weak Video Strategy
Structured data cannot turn an irrelevant video into useful content.
If the video has an unclear message, a weak opening, poor sound, or little relevance to the audience, adding schema will not solve those problems.
Technical SEO helps search engines understand your content. It does not replace the work required to make that content worth watching.
What If You Use YouTube or an Embedded Player?
You do not necessarily need to host your video files yourself to implement a useful video SEO strategy.
If your video is hosted on YouTube or another platform, first determine how the video is embedded and which URL represents the player or media.
For a hosted player, an embedUrl may be more appropriate than a direct contentUrl, depending on the implementation.
Do not copy the example above and assume that replacing the thumbnail and title is sufficient. The correct properties depend on the actual video setup.
Also check whether your website's existing SEO tools or video platform already output structured data. Adding a second, conflicting VideoObject declaration can create unnecessary confusion.
A Practical Video SEO Checklist
Before publishing, use this short checklist:
- [ ] The page contains the video described by the schema.
- [ ] The video title is descriptive and accurate.
- [ ] The description reflects the actual content.
- [ ] The thumbnail URL works and represents the video.
- [ ] The upload date is correct.
- [ ] The duration matches the video.
- [ ] The content URL or embed URL serves the intended purpose.
- [ ] The JSON-LD syntax is valid.
- [ ] The markup passes the relevant structured data checks.
- [ ] The video and its important resources are accessible to search engines.
- [ ] Existing plugins are not generating conflicting duplicate markup.
- [ ] Search Console is monitored for relevant indexing issues.
For businesses investing in video as part of their website and marketing strategy, technical implementation should support a wider plan for making content discoverable and useful. You can explore Title Productions' case studies to see examples of video work in a broader business context.
Final Thoughts
VideoObject schema is not complicated, but accurate implementation matters.
By describing your video with structured data, you help search engines interpret key details such as its title, thumbnail, upload date, and duration.
Start with one important video page. Add the correct markup, validate it, confirm that the resources are accessible, and monitor the outcome.
Then repeat the process where it makes sense.
The goal is not simply to add more code to your website. It is to make your video content easier to understand, discover, and use.

Top comments (0)