Video SEO: get your videos found in search and AI answers

What search engines and AI assistants need from a page with a video on it, in the order to do it, with a guide for each step.

By Videngine6 min read
The short answer

Video SEO is the work that lets search engines and AI assistants find, understand and show your videos. It comes down to a page whose main job is one video, a poster image at a stable URL, VideoObject markup and a video sitemap that describe it, and a transcript in the page's HTML. Videngine publishes each approved video into the page it was made from with all of these in one commit.

Video SEO at a glance

Five jobs cover most of video SEO, and each has its own guide.

JobWhat it doesGuide
Describe the video in markupTells Google the title, description, thumbnail, upload date, duration and file locationVideoObject schema
List the videos for crawlersPoints Google at every video page and file, including ones it might not find on its ownVideo sitemaps
Put the words on the pageMakes what is said readable to people who can't listen and to crawlers that don't watchTranscripts and captions
Be readable by AI assistantsLets ChatGPT, Claude, Perplexity and Google's AI features read and cite the pageVideo in AI search
Choose where the file livesDecides whether the video earns visits for your site, for YouTube, or for bothYouTube vs self-hosted

The terms used across these guides, from watch page to WebVTT, are defined in the video automation glossary.

Start with the page

Video SEO starts with an ordinary page that is indexed, with the video embedded in it and given a clear job.

Google's video best practices say a video can appear in the main results, Video mode, Google Images and Discover, and that it must be embedded on a watch page, which it defines as a page whose main purpose is to show users a single video. The watch page must be indexed, and the video needs a valid thumbnail at a stable URL.

That rules out a common pattern: one video buried halfway down a long article, or ten videos in a carousel. For a business, the natural watch page is often the page the video was made from: the product page with its product video, the listing with its walkaround, the help article with its explainer. See watch page in the glossary.

Describe the video: markup and sitemaps

Markup and sitemaps say the same things about a video in two places: VideoObject on the page, and a video sitemap for the whole site.

Google supports structured data, video sitemaps and the Open Graph protocol for video details. VideoObject schema is the one most worth getting right, because it sits on the watch page and carries the name, description, thumbnail URL, upload date, duration and the address of the file itself. A video sitemap adds a list Google can read in one fetch, which helps when videos are new, numerous or hard to reach by following links.

The two must agree. The same thumbnail URL, the same title and the same file address in the markup, the sitemap and the page avoid giving Google conflicting signals.

Give it words: transcripts and captions

A transcript turns what is said in a video into text on the page, and captions carry the same words in time with the picture.

Search engines and AI assistants read pages; they do not reliably sit through a video. A readable transcript on the watch page gives them the content, and gives people who can't or won't play the sound the same information. Captions do a different job: they serve viewers, and a WebVTT caption track is the web's standard way to attach them to an HTML5 video. Transcripts and captions covers SRT against WebVTT, open against closed captions, and how to check accuracy.

Video in AI answers

AI assistants cite pages, not video files, so a video is cited when the page around it says something worth citing.

Google's page on AI features and your website says there are no additional requirements to appear in AI Overviews or AI Mode: the page must be indexed and eligible to show in Search with a snippet, and no special AI text files or schema are needed. Other assistants run their own crawlers with their own rules. Video in AI search lists the crawlers by name, what each one does and how to allow them in robots.txt.

The practical rule is the same everywhere: put the transcript, the markup and the important facts in the HTML the server sends, rather than injecting them with JavaScript after the page loads.

Where the file lives

Hosting decides who gets the visit: a YouTube video earns views on YouTube, a self-hosted video earns them on your page, and many businesses publish to both.

YouTube brings its own audience, search and recommendations, and costs nothing to host. A self-hosted file keeps the viewer on your page and makes your page the result, at the price of storage and bandwidth. YouTube vs self-hosted video compares them row by row, including what each one loads on the page and how to run both without duplicate content problems.

A video SEO checklist

For each video, in this order:

  1. Pick the watch page: one indexed page whose main job is this video.
  2. Embed the video with an HTML5 video element or a standard player, with a poster image at a stable URL.
  3. Add VideoObject JSON-LD with at least name, thumbnailUrl and uploadDate, plus description, duration and contentUrl.
  4. Put a transcript in the page's HTML, and attach a WebVTT caption track.
  5. Add the video to a video sitemap and point to it from robots.txt.
  6. Check that robots.txt doesn't block the page, the file or the thumbnail, for Googlebot or for the AI crawlers you want.
  7. Test the live URL with Google's Rich Results Test, then watch the Video indexing report in Search Console.
  8. When the video is replaced or removed, update the page, the markup and the sitemap together.

How Videngine publishes

Videngine does the checklist above in one commit when a reviewed video is published to a website.

A workspace connects the GitHub repository its website is built from, with Connect with GitHub or a fine-grained access token. Publishing an approved video makes one commit that adds the MP4, its poster image and a WebVTT caption track to the site, writes an HTML5 player, a readable transcript and VideoObject markup into the page the video was made from, keeps video-sitemap.xml up to date and adds a Sitemap line to robots.txt. All of it is in the HTML the server sends. Republishing replaces the video in place; Remove takes it out in one commit.

It works for sites whose pages are HTML files in the repository, such as static sites on Vercel, Netlify, Cloudflare Pages or GitHub Pages. Framework-built sites aren't supported yet, and a page shows one video. Captions are transcribed from the finished audio, and narration is in English only.

Questions about video SEO

What is video SEO?

Video SEO is the work that helps search engines and AI assistants find, understand and show your videos. It covers the page the video sits on, VideoObject markup, video sitemaps, transcripts and captions, crawler access and where the file is hosted.

Do I need both VideoObject schema and a video sitemap?

Google accepts either, and they do different jobs. VideoObject markup describes the video on its own page, and a video sitemap lists all your videos in one file. Using both, with the same details in each, is the safest choice for a site with many videos.

Does a transcript help a video rank?

Google's video best practices don't promise a ranking benefit from transcripts. A transcript in the page's HTML does give search engines and AI assistants the words that are spoken, makes the page useful to people who can't play the sound, and gives AI answers something to quote.

Is YouTube or self-hosting better for SEO?

It depends on where you want the visit. YouTube earns views and subscribers on YouTube, while a self-hosted video on a watch page can make your own page the search result. Many businesses publish the same video to both.

Can Videngine add the markup for me?

Yes, for static sites built from HTML files in a GitHub repository. Publishing an approved video adds the file, poster, caption track, player, transcript, VideoObject markup and a video sitemap entry in one commit.

Choose your next step

Start with the markup if your videos are already on your pages, or with hosting if you are still deciding where they go.

Bring one page.

Choose one page on your site that deserves a video. That is enough to agree a template, and to publish the first video with its markup and transcript in place.

Join the waitlist ↗

Published by Videngine, a video rendering product built and run by Wall & Fifth. Examples are illustrative unless stated otherwise.