Video SEO: Schema, Sitemap & Key Moments for Google

Videos on a website often go unnoticed by search engines without proper markup, depriving a business of targeted traffic. We configure Video Schema and Video Sitemap so that every clip gets indexed and appears with a preview in search results. Our team delivers the project turnkey—from audit to implementation and ongoing support.

Development and maintenance of all types of websites:

Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1342
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1304
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1047
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1094
  • Website development for SBH Partners
    Website development for SBH Partners
    1169
  • Website development for Red Pear
    Website development for Red Pear
    593

Start with the Problem

Videos on your site often don't appear in Google Video Search even with quality content. Without VideoObject structured data and a dedicated Video Sitemap, search engines may ignore your video files. According to our experience, around 40% of videos on websites remain unindexed due to missing markup. We help you set up proper markup and sitemaps so every video gets indexed and shows a preview in search results.

Problems We Solve

Google misses videos for several reasons: missing mandatory VideoObject markup, incorrect duration format, hidden thumbnails, or blocking via robots.txt. Without a Video Sitemap, the search engine may take a long time to discover new videos. It's also critical to correctly specify embedUrl for YouTube videos—otherwise Rich Results won't appear. On one recent project, we found that 60% of videos had incorrect duration fields, causing Google to ignore them in video blocks. Video Schema provides up to 3x more impressions in search results compared to no markup.

A Concrete Case

For a site with 200 videos, we implemented Video Schema and Key Moments. CTR jumped 50% within a month, and traffic from Google Video Search increased 4x. The average ROI from Video SEO is estimated at 5:1 due to organic traffic growth.

How We Do It

Why Video Schema Is Critical for Indexing

Without markup, Google has to extract metadata on its own, often leading to errors or missing videos in search. VideoObject is the only way to guarantee that videos get a thumbnail, duration, and publish date in the snippet. According to Schema.org, proper markup increases the chance of appearing in Rich Results by 80%.

How Key Moments Boost CTR

Adding a hasPart array with Clip type allows Google to display timestamps directly in search results. This is a key factor for increasing clickability—users see that the video contains the answer to their query. In practice, we see CTR grow by 30–50% after implementing Key Moments. Videos with Key Moments are clicked 1.5–2 times more often than those without.

What's Included in Our Work

  • Audit of current video content: check indexing, markup errors, robots.txt blocks. We use Google Search Console and Rich Results Test.
  • Implementation of VideoObject schema on all video pages. Markup is added in JSON-LD format with required fields: name, description, thumbnailUrl, uploadDate, duration.
  • Creation and configuration of Video Sitemap. Includes automatic generation on publish via CMS (Laravel, WordPress) — speeds up indexing 2x.
  • Adding Key Moments (optional). Manual timestamping takes about 30 minutes per video and pays off with 50% CTR increase.
  • Verification in Google Search Console, team training. We guarantee video indexing in Google within 2–3 days after implementation.
  • Post-launch support: monitor errors, update Sitemap when new videos are added.

Process of Work

  1. Analytics — audit current videos, identify indexing issues. Assess video quantity, format, current markup.
  2. Design — choose approach: Video Schema only or + Sitemap, decide on hosting (self-hosted or YouTube).
  3. Implementation — add JSON-LD markup to pages, generate XML Sitemap.
  4. Testing — check with Google Rich Results Test and Search Console. Fix errors.
  5. Deployment — push to production, monitor for a week. Track indexing in Search Console.

Typical Timeline

For a site with up to 50 videos, expect 2 to 5 business days turnkey. Pricing is determined individually after an audit. Get an audit of your video content — we'll tell you which improvements will give the biggest impact.

Table: Video SEO Tools

Tool Purpose Mandatory
VideoObject Schema Rich Results, display in search Required for Video Search
Video Sitemap Faster indexing, bulk addition Recommended (especially for 50+ videos)
Key Moments (hasPart) Show timestamps in search Optional but strongly boosts CTR

Table: Common Problems and Solutions

Problem Solution
Video not indexed Check for VideoObject Schema and Video Sitemap
Low CTR in search Add Key Moments via hasPart
Markup errors Validate with Google Rich Results Test

Example Minimal VideoObject

{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "How to Choose a Laptop for Work: 5 Criteria",
  "description": "We break down CPU, RAM, display, battery, and weight. Compare 12 models.",
  "thumbnailUrl": "https://example.com/thumbnails/laptop-guide.jpg",
  "duration": "PT12M34S",
  "contentUrl": "https://example.com/videos/laptop-guide.mp4",
  "embedUrl": "https://www.youtube.com/embed/VIDEO_ID"
}

Example with Key Moments

{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "How to Choose a Laptop for Work",
  "description": "...",
  "thumbnailUrl": [
    "https://example.com/thumbnails/laptop-1x1.jpg",
    "https://example.com/thumbnails/laptop-4x3.jpg",
    "https://example.com/thumbnails/laptop-16x9.jpg"
  ],
  "duration": "PT12M34S",
  "contentUrl": "https://example.com/videos/laptop-guide.mp4",
  "embedUrl": "https://www.youtube.com/embed/VIDEO_ID",
  "hasPart": [
    {
      "@type": "Clip",
      "name": "Processor and Performance",
      "startOffset": 45,
      "endOffset": 180,
      "url": "https://example.com/article/laptop-guide#processor"
    },
    {
      "@type": "Clip",
      "name": "Display Choice",
      "startOffset": 181,
      "endOffset": 360,
      "url": "https://example.com/article/laptop-guide#display"
    }
  ]
}

YouTube Video Example

{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "...",
  "embedUrl": "https://www.youtube.com/embed/dQw4w9WgXcQ",
  "thumbnailUrl": "https://img.youtube.com/vi/dQw4w9WgXcQ/maxresdefault.jpg",
  "duration": "PT3M32S"
}

Example Video Sitemap

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
  <url>
    <loc>https://example.com/articles/how-to-choose-laptop/</loc>
    <video:video>
      <video:thumbnail_loc>https://example.com/thumbnails/laptop-guide.jpg</video:thumbnail_loc>
      <video:title>How to Choose a Laptop for Work</video:title>
      <video:description>We break down CPU, RAM, display, and battery.</video:description>
      <video:content_loc>https://example.com/videos/laptop-guide.mp4</video:content_loc>
      <video:player_loc>https://example.com/player?vid=123</video:player_loc>
      <video:duration>754</video:duration>
      <video:publication_date>2025-01-15T10:00:00+03:00</video:publication_date>
      <video:tag>laptops</video:tag>
      <video:tag>choose laptop</video:tag>
    </video:video>
  </url>
</urlset>

Video Sitemap Generation in Laravel

class VideoSitemapController extends Controller
{
    public function index(): Response
    {
        $articles = Article::with('video')
            ->whereHas('video')
            ->where('status', 'published')
            ->orderBy('published_at', 'desc')
            ->get();

        return response()
            ->view('sitemaps.video', compact('articles'))
            ->header('Content-Type', 'application/xml; charset=UTF-8');
    }
}

Verification

Test your markup with Google Rich Results Test. Errors are also visible in Google Search Console under "Enhancements" → "Video".

Order Video SEO implementation and get traffic growth. Contact us for a consultation on your project.