Multilingual video and AI search
Choose captions or dubbed video, map each language to the right page, and give search and AI systems consistent signals.
Language is not one switch. A page has a language, a video has a spoken language, and captions have their own language. Search engines and AI systems get the clearest signal when those facts agree with what a person can see, hear, and select on the page.
Captions and dubs are different
Caption-only translation
Keep the original video and its spoken language. Add the approved VTT or SRT track for the new language. There is still one playable asset, so there is still one VideoObject. The caption track helps people and machines read the words in another language, but it does not turn an English performance into a Spanish performance.
In this example the page copy is Spanish, the playable audio is English, and the approved Spanish VTT is a separate media object. Do not change inLanguage to es unless the audio is Spanish.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "WebPage",
"@id": "https://example.com/es/demo#page",
"url": "https://example.com/es/demo",
"name": "Demostración del producto",
"inLanguage": "es"
},
{
"@type": "VideoObject",
"@id": "https://example.com/entity/video/demo-en",
"name": "Demostración del producto",
"description": "Vea cómo funciona el producto.",
"inLanguage": "en",
"subtitleLanguage": ["es"],
"thumbnailUrl": ["https://example.com/media/demo-poster.jpg"],
"uploadDate": "2026-08-01",
"duration": "PT4M12S",
"contentUrl": "https://example.com/media/demo-en.mp4",
"embedUrl": "https://example.com/es/demo",
"associatedMedia": {
"@type": "MediaObject",
"encodingFormat": "text/vtt",
"inLanguage": "es",
"contentUrl": "https://example.com/media/demo-es.vtt"
}
}
]
}
</script>Dubbed video
A dub has different audio and its own media URL. Treat it as a second asset with its own native transcript, captions, timeline, and VideoObject. If a page offers both English and Spanish players, emit one VideoObject for each playable asset and let the visitor choose the language.
When both files are playable, each asset gets a stable identity and its own media URL. The real Framesite packet also includes the approved description, transcript, and clip nodes for each asset.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "VideoObject",
"@id": "https://example.com/demo#video-en",
"name": "Product demonstration",
"inLanguage": "en",
"thumbnailUrl": ["https://example.com/media/demo-poster.jpg"],
"uploadDate": "2026-08-01",
"duration": "PT4M12S",
"contentUrl": "https://example.com/media/demo-en.mp4",
"embedUrl": "https://example.com/demo"
},
{
"@type": "VideoObject",
"@id": "https://example.com/es/demo#video-es",
"name": "Demostración del producto",
"inLanguage": "es",
"thumbnailUrl": ["https://example.com/media/demo-poster.jpg"],
"uploadDate": "2026-08-01",
"duration": "PT4M12S",
"contentUrl": "https://example.com/media/demo-es.mp4",
"embedUrl": "https://example.com/es/demo"
}
]
}
</script>What matters to search and AI systems
- Visible page content. The title, summary, navigation, and supporting copy should make the page language obvious. Google says it determines language from visible content, not from a URL or a language attribute alone.
- Accurate asset language. Use a BCP 47 language code such as
en,es, ordeforinLanguage. It describes the content or performance, so it follows the spoken video, not the language you hope to rank for. - Complete, matching structured data. The VideoObject should describe the video a visitor can actually watch on that page, including its stable thumbnail, dates, media URL, duration, transcript, and exact key moments where available.
- Crawlable media and captions. Public media, thumbnails, and approved caption files must resolve without a login or an expiring private link.
- Consistent language pages. Do not translate only the metadata while leaving the main page in another language. The visible page, player choice, transcript, and code should tell the same story.
When the page itself is translated
Give each fully translated page a stable URL. Add the same reciprocal hreflang set to every version, including a self-reference. Link the language versions in the visible page, and let the visitor choose. Avoid forcing a redirect based only on a guessed browser language.
Only claim a page-to-page translation direction when you know which page is the original. Framesite does not guess from import order. If the original is not established, the pages can still be language siblings without claiming that one is a translation of the other.
Put the same complete set below in the <head> of every language version. Each page lists itself and all of its siblings using fully qualified URLs.
<head>
<link rel="alternate" hreflang="en" href="https://example.com/demo" />
<link rel="alternate" hreflang="es" href="https://example.com/es/demo" />
<link rel="alternate" hreflang="de" href="https://example.com/de/demo" />
<link rel="alternate" hreflang="x-default" href="https://example.com/demo" />
</head>A practical publishing map
- English video, English page, Spanish captions: one English VideoObject, one approved Spanish caption track, no invented Spanish video asset.
- English video, fully translated Spanish page: a Spanish page URL with visible Spanish content and reciprocal language links. The VideoObject still says English unless the playable audio is a Spanish dub.
- English and Spanish dubs: two playable assets and two VideoObjects, each with its own spoken language, media URL, transcript, timeline, and approved code.
Install the approved result
Framesite builds the language fields, caption references, VideoObject, clips, transcript, and page schema as one packet. Do not assemble a second language block by hand. Follow the VideoObject installation guide and install the approved packet that matches the player and page version.
Primary references
- Google Search Central: VideoObject and video structured data
- Google Search Central: multilingual and multi-regional sites
- Google Search Central: localized page versions and hreflang
- Schema.org: inLanguage
Common questions
- Do Spanish captions make an English video a Spanish video?
- No. Captions make the English video understandable to Spanish readers, but the performance is still English. Keep the video language as English and publish the approved Spanish caption track with it.
- Does translated code guarantee a ranking or an AI citation?
- No. Clear language signals, visible content, captions, and accurate structured data help systems find and interpret the page. No markup can guarantee a search position, rich result, or AI citation.
- Should every language have its own URL?
- Use a separate URL when the page itself is translated. Keep one URL when only a caption track is added and the surrounding page stays in its original language.