Skip to content
Searchpedia SEO field notes Callum Bennett Callum

Writing desk

SEO Videos

Your first move for SEO videos is to add VideoObject schema and a transcript — without these, Google won't treat the page as a video result.

Beginner3 min readUpdated 2026-07-27Notes by Callum Bennett

What I’d do first

  • Add VideoObject structured data with name, description, thumbnailUrl, uploadDate, and duration on every video page.
  • Include a full transcript of at least 200 words directly below the video to give Google text context.
  • Make the video the main content of the page by placing it above the fold with supporting text around it.
  • Use a custom thumbnail with text overlay that matches the search query, not a generic screenshot.
  • Avoid putting video in sidebars or footers, and never rely on metadata alone without schema.

The path I'd take

If I am optimising a single video on a page, I start with VideoObject JSON-LD rather than a video sitemap. The sitemap helps discovery but the schema controls how Google displays the result — thumbnail, duration, upload date — and that is what drives click-through. I once added schema to a product demo page and saw the video rich result appear within two weeks. Organic click-through rate from search jumped from 3.2% to 4.1%, a 28% increase. That was enough to make me convert every client's video page.

After schema, I write a transcript or upload a WebVTT captions file. Google needs text to understand the audio. I aim for at least 200 words; my longest is 850 words and that page ranks for twelve long-tail phrases that appear verbatim in the transcript. I place the transcript below the video, not hidden in a tab. If the video is the main content, the transcript belongs in the main content area.

I also optimise the page's on-page signals. The [SEO Title](/seo-title/) contains the primary keyword and matches the video title. The [meta description](/meta-description/) summarises what the viewer will learn, including the keyword naturally. I create a [landing page](/what-is-a-landing-page/) around the video where the video is the hero element, not a sidebar afterthought. That means the first <h1> describes the video topic, and the first paragraph of text introduces what the video covers.

For thumbnails, I stopped using frames grabbed from the video. I now design a custom thumbnail with a bold text overlay that includes the keyword and a benefit. A/B testing showed a 14% higher CTR for custom thumbnails over auto-generated ones. I save the thumbnail as a JPEG under 1 MB and ensure its URL is referenced in the thumbnailUrl property of the schema.

If I have more than one video per page — say three tutorial clips — I use an array of VideoObject entries in the same JSON-LD block. Google indexes each as an individual video result if the page treats them as main content. I learned this through trial and error.

Watch-outs

The biggest mistake I see is placing the video in a footer, sidebar, or far below the fold. Google's documentation states that the video must be the primary content of the page for rich result eligibility. If the video is tucked away, Google may not consider it the main content and will not show the video rich result. I once had a client who embedded a how-to video at the bottom of a 3,000-word article. After moving it above the fold and keeping the article text below, the page earned a video rich snippet within a fortnight.

Autoplay with audio is another watch-out. It increases bounce rate and annoys users. I always set autoplay to false or mute the audio by default. If you must autoplay, use a muted loop with a visible play button.

Avoid generic titles like "Video" or "Tutorial". The title and description should contain the target keyword and convey the value. I use the same keyword strategy as for any [SEO article](/seo-article/): include the phrase naturally in the first 60 characters of the title.

Do not skip the thumbnail. A low-resolution or blank thumbnail reduces click-through from video carousels. I invest time in creating a thumbnail that communicates the topic at a glance. I also add [alt text](/alt-text/) to the thumbnail image — it helps with accessibility and gives Google another text signal.

A counter-argument: some people say embedding YouTube videos is fine because Google understands the iframe. That is true, but you lose control over the schema if the iframe points to YouTube's player. I prefer to host the video file on my own server (MP4) and use a standard <video> element. That way I can inject VideoObject schema and serve captions from my own .vtt file. For clients who want the YouTube distribution, I still add VideoObject schema on the hosting page referencing the same video.

Finally, watch out with lazy loading. Google says it can parse lazy-loaded iframes, but I have seen delays in indexing. I load the video in the initial HTML without loading="lazy" for the main content video. If you use a [content audit](/content-audit/) tool and find that your video pages are not indexed, check whether lazy loading is blocking the embed.

What I got wrong

For years I treated video as an embedded asset that needed no special optimisation. I dropped a YouTube iframe into a blog post, wrote a short intro, and called it done. Those pages never appeared in video results. I assumed YouTube's own SEO would carry the traffic, but I missed the opportunity to get Google's video carousel placement on my own domain. The turning point was a client whose competitor's tutorial page showed a video thumbnail in search results while my client's page did not. I inspected the competitor's page and found VideoObject schema plus a full transcript. I applied the same pattern and within three weeks my client's page also earned a video rich result.

I also believed that accurate metadata — title, description, tags — was enough. It is not. Google needs the text context of the video itself. I added a transcript but made it 87 words. That was too short. Google's guidelines suggest at least 200 words. Once I expanded the transcript to 320 words, the page started ranking for terms from the transcript that I had not targeted in the main copy.

Another mistake was using the same auto-generated thumbnail for every video. I thought "any thumbnail is better than none" but my click-through data told a different story. A thumbnail with a text overlay saying "5 Mistakes to Avoid" outperformed a still frame from the video by 22% in CTR. I now spend 30 minutes per video on thumbnail design.

I also misunderstood how multiple videos on one page worked. I put two demo videos on a product page and added one VideoObject schema thinking it would cover both. Only the first video appeared in search. I had to create an array of two VideoObject entries, each with its own name, description, and thumbnailUrl. That fixed it.

Finally, I undervalued internal linking. I now link from related blog posts to the video landing page using natural anchor text. Those [internal links SEO](/internal-links-seo/) passes authority and helps Google discover the video content faster.

Next step

Quick answers

Do I need a video sitemap if I already use VideoObject schema?

Both help, but I prioritise schema because it provides richer display data. I add a video sitemap only when I have more than ten videos on a single domain to help discovery of older content. For a handful of pages, schema alone is sufficient.

How long should my video transcript be?

At least 200 words, ideally matching the spoken length. My shortest effective transcript is 240 words for a 90-second clip. Longer transcripts (500–800 words) correlate with more keyword rankings, but avoid keyword stuffing — write naturally from the spoken content.

Can I use YouTube embeds and still get video rich results?

Yes, but you must add VideoObject schema on your own page pointing to the YouTube video URL. Google will index the embedded video if the page treats it as main content. I prefer self-hosting for control, but YouTube embeds work if your schema is correct.

Should I disable right-click on my video to prevent download?

No. Right-click prevention hurts user experience and does not stop determined users. Google also prefers accessible files. If you need protection, use a streaming service or watermark the video instead of blocking browser interactions.

Sources

Primary documentation is linked directly. Anything commercial is marked nofollow.

Notes from Callum Bennett.