Prečo venovať pozornosť štruktúrovanému VideoObject: význam kapitol, prepisov a náhľadov
Videoobsah sa dnes nehodnotí len na základe titulku a popisu, ale aj podľa vnútornej štruktúry. Precízne implementovaný VideoObject, ktorý obsahuje kapitoly (Clip), prekres prepisu a náhľady (thumbnails), výrazne zlepšuje:
- pokrytie relevantných dopytov v rámci vyhľadávania,
- viditeľnosť videa v sekcii „Key moments“,
- dostupnosť multimediálneho obsahu pre rôzne kanály (napr. SERP, sociálne siete, interné vyhľadávanie),
- konzistenciu dát naprieč platformami a zariadeniami.
V tomto článku ponúkame detailný praktický návod na správne modelovanie týchto prvkov a ich súlad s odporúčaniami pre „Štruktúrované dáta a dátovú konzistenciu“.
Základné polia a konzistentné nastavenia pre VideoObject
Základom správneho VideoObject je vyplnenie minimálneho súboru polí s konzistentnými hodnotami, ktoré zaručujú správne rozpoznanie a spracovanie videa vyhľadávacími nástrojmi:
- Identifikačné údaje:
name(názov videa),description(stručný popis),inLanguage(jazyk videa),uploadDatevo formáte ISO 8601,durationvo formáte ISO 8601 (napr.PT12M5Spre 12 minút a 5 sekúnd),contentUrl(priame URL na video súbor),embedUrl(iframe URL pre vložené prehrávanie). - Náhľady: použite
thumbnailUrl(jednu alebo viac URL pre náhľadové obrázky) alebo štruktúruimages typomImageObjectzahrňujúcouurl,widthaheight. - Informácie o vydavateľovi a autorovi: definujte
publisherako organizáciu vrátane jej loga (Organizations vlastnosťoulogo), ďalejcreator/authora ak relevantné, ajlicense. - Technické parametre (voliteľné, no odporúčané pre lepšiu identifikáciu médií):
encodingFormat,contentSize,bitrate(uvoľnite podMediaObject),regionsAllowed(geografické obmedzenia),expires(dátum expirácie obsahu).
Modelovanie kapitol vo videu pomocou Clip a hasPart
Kapitoly vo videu by mali byť definované ako pole objektov typu Clip v rámci atribútu hasPart VideoObjectu. Každý Clip by mal obsahovať nasledovné vlastnosti:
name– názov kapitoly, ktorý jasne opisuje obsah sekcie,startOffset– počiatočný čas kapitoly vo videu v sekundách,endOffset– (voliteľné) koncový čas kapitoly,url– priama adresa so štartovacím časovým parametrom (deep-link na konkrétnu sekundu),position– poradové číslo kapitoly pre jednoznačné zoradenie.
Takto definované kapitoly umožnia prehliadačom a vyhľadávačom zobrazovať tzv. „Key moments“, teda dôležité časové úseky videa.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "VideoObject",
"@id": "https://www.example.com/video/ai-seo#video",
"url": "https://www.example.com/video/ai-seo",
"name": "AI SEO: Entitné stratégie v praxi",
"description": "Praktický workshop s kapitolami o entitách, clustroch a internom prelinkovaní.",
"inLanguage": "sk",
"uploadDate": "2025-09-01T09:00:00+02:00",
"duration": "PT18M42S",
"contentUrl": "https://cdn.example.com/videos/ai-seo.mp4",
"embedUrl": "https://player.example.com/embed/ai-seo",
"thumbnailUrl": [
"https://cdn.example.com/videos/ai-seo/cover-1280.jpg",
"https://cdn.example.com/videos/ai-seo/cover-640.jpg"
],
"hasPart": [
{
"@type": "Clip",
"name": "Úvod a ciele",
"startOffset": 0,
"endOffset": 75,
"position": 1,
"url": "https://www.example.com/video/ai-seo?t=0"
},
{
"@type": "Clip",
"name": "Entitná mapa a zdroje dát",
"startOffset": 76,
"endOffset": 420,
"position": 2,
"url": "https://www.example.com/video/ai-seo?t=76"
},
{
"@type": "Clip",
"name": "Topic clustre a interné linky",
"startOffset": 421,
"endOffset": 900,
"position": 3,
"url": "https://www.example.com/video/ai-seo?t=421"
}
],
"potentialAction": {
"@type": "SeekToAction",
"target": "https://www.example.com/video/ai-seo?t={seek_to_second_number}",
"startOffset-input": "required name=seek_to_second_number"
},
"publisher": {
"@type": "Organization",
"name": "Example Media",
"logo": {
"@type": "ImageObject",
"url": "https://www.example.com/static/logo-600x60.png",
"width": 600,
"height": 60
}
}
}
</script>
Prepisy videa: integrácia transcriptu, titulkov a viacjazyčnej podpory
- Prepis môže byť uvedený priamo ako text v poli
transcriptv rámci VideoObjectu alebo externý súbor vcaptionakoMediaObject(napr. vo formátoch VTT alebo SRT), ktorý obsahuje link na prepis a jazykové označenieinLanguage. - Viacjazyčnosť sa rieši pomocou viacerých
captionobjektov v rôznych jazykoch. Primárny jazyk zachovajte vtranscript. - Časované kapitoly v texte prepisu by mali presne korešpondovať s hodnotami
startOffsetv definícii kapitol, čo zaručuje konzistentné spracovanie a navigáciu vo videu.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "VideoObject",
"@id": "https://www.example.com/video/ai-seo#video",
"transcript": "00:00 Úvod... 01:16 Entitná mapa... 07:01 Topic clustre...",
"caption": [
{
"@type": "MediaObject",
"inLanguage": "sk",
"encodingFormat": "text/vtt",
"contentUrl": "https://cdn.example.com/videos/ai-seo/subtitles/sk.vtt"
},
{
"@type": "MediaObject",
"inLanguage": "en",
"encodingFormat": "text/vtt",
"contentUrl": "https://cdn.example.com/videos/ai-seo/subtitles/en.vtt"
}
]
}
</script>
Náhľady a filmstripy: ako správne definovať thumbnailUrl, image a sprite mapy
- Thumbnail slúži ako vizuálny signál kvality a atraktivity videa. Odporúča sa uviesť aspoň dve veľkosti v poli
thumbnailUrl, napríklad1280×720a640×360, alebo alternatívne použiť objektimagetypuImageObjects definovanými rozmermi. - Filmstrip alebo sprite – hoci nie je štandardnou vlastnosťou schémy, je vhodné zahrnúť odkaz na sprite mapu ako
MediaObjectv polihasPart, kdeencodingFormatmôže byťimage/jpegaleboimage/webp. Prehrávač následne mapuje čas videa na konkrétnu súradnicu v sprite obrázku. - Konzistentnosť odkazov – URL náhľadov nie je vhodné meniť pri bežných aktualizáciách. Pri potrebe force refresh použite radšej query parameter (
?v=169), aby nedošlo k strate referencií.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "VideoObject",
"thumbnailUrl": [
"https://cdn.example.com/videos/ai-seo/cover-1280.jpg",
"https://cdn.example.com/videos/ai-seo/cover-640.jpg"
],
"image": {
"@type": "ImageObject",
"url": "https://cdn.example.com/videos/ai-seo/cover-1920.jpg",
"width": 1920,
"height": 1080
},
"hasPart": [
{
"@type": "MediaObject",
"name": "Preview sprite",
"encodingFormat": "image/webp",
"contentUrl": "https://cdn.example.com/videos/ai-seo/sprite.webp"
}
]
}
</script>
URL vzory, SeekToAction a zabezpečenie kompatibility deeplinkov
- Implementujte SeekToAction s
urlTemplateobsahujúcim parameter sekúnd ({seek_to_second_number}), ktorý je funkčný aj bez potreby JavaScriptu. - Deeplink jednotlivých kapitol by mal vždy smerovať na ten istý základný URL videa s časovým parametrom, čím predchádzate kanibalizácii a duplikácii obsahu.
- Zabezpečte jednotnosť parametrov (
?t=alebo?start=) naprieč prehrávačom, oEmbed implementáciou a štruktúrou dát.
Dátová konzistencia a jeden zdroj pravdy pre video metadáta
Pre správne nasadenie a udržanie aktuálnych dát zaveste video metadáta na jednotný správny zdroj, napríklad CMS alebo centralizovaný JSON súbor. Z tohto zdroja generujte automaticky:
- JSON-LD so štruktúrou
VideoObject, vrátane kapitolClipa akcieSeekToAction, - XML feedy pre video platformy ako YouTube alebo Vimeo, ktoré vyžadujú špecifický formát metadát,
- otázky a odpovede na základe obsahovej štruktúry videa pre lepšiu SEO optimalizáciu,
- automatické aktualizácie na stránke pri zmene obsahu videa alebo súvisiacich dát, čím sa minimalizuje potreba manuálnych zásahov.
Dôsledná synchronizácia týchto zdrojov prináša najmä zvýšenú kvalitu indexácie videa vyhľadávačmi a lepší používateľský zážitok pri jeho prehrávaní.
Nezabúdajte pravidelne overovať správnosť údajov a funkčnosť deeplinkov, aby bolo zabezpečené hladké fungovanie video obsahu naprieč rôznymi zariadeniami a prehliadačmi.