Panduan VideoObject Schema
cara implement VideoObject schema untuk Google's video rich hasil di seluruh search, Video tab, Images, dan menemukan — diperlukan vs. recommended properties, two cara untuk tambahkan key moments (SeekToAction vs. Clip), dan BroadcastEvent LIVE badge.
Bahasa
VideoObject schema (schema.org/VideoObject) marks up sebuah halaman's video so Google dapat tampilkan video rich hasil — thumbnail, duration, dan key moments — di seluruh four surfaces, not one: main hasil pencarian halaman, Video tab, Google Images, dan Google menemukan. itu multi-surface reach adalah broader daripada sebagian besar people assume dan membuat ini one dari two highest-payoff rich-hasil jenis di cluster (alongside Recipe). hanya three properties adalah diperlukan — name, thumbnailUrl, dan uploadDate — dengan contentUrl, deskripsi, duration, embedUrl, expires, interactionStatistic, dan region eligibility semua recommended. Two fitur cause sebagian besar dari confusion. Key moments ( chapter timestamps) dapat menjadi done two cara: automatically via SeekToAction/potentialAction jika Anda video URLs sudah accept sebuah timestamp parameter, atau manually via Clip markup (name, startOffset, dan url adalah diperlukan; endOffset adalah recommended) when Anda ingin publisher-specified labels dan timestamps alih-alih Google's automatic picks. dan LIVE badge isn't sebuah separate schema — ini adalah BroadcastEvent (isLiveBroadcast, startDate, endDate — diperlukan setelah Anda're menambahkan BroadcastEvent di semua) documented pada yang sama halaman dan digunakan alongside VideoObject. paling umum miss adalah omitting uploadDate atau writing ini di sebuah inconsistent date format. sebagai selalu, valid markup hanya membuat Anda eligible — Google, dan video menjadi dapat di-crawl, masih decide whether ini menampilkan.
Evidence for this claim Schema.org VideoObject defines vocabulary for a video media object; being valid Schema.org does not by itself guarantee a Google video feature. Scope: Schema.org type definition, distinct from Google eligibility. Confidence: high · Verified: Schema.org: VideoObject Evidence for this claim Google's VideoObject documentation requires name, thumbnailUrl, and uploadDate for video structured-data eligibility and recommends additional properties. Scope: Current Google video structured data requirements; eligibility is not a display guarantee. Confidence: high · Verified: Google Search Central: Video structured dataTL;DR — VideoObject schema adalah code Anda tambahkan untuk sebuah halaman dengan sebuah video itu labels video’s detail untuk mesin pencari — “this is the title,” (terjemahan) “ini adalah judul,” “this is the thumbnail,” (terjemahan) “ini adalah thumbnail,” “this is how long it is,” (terjemahan) “ini adalah how panjang ini adalah,” “it was uploaded on this date.” (terjemahan) “ini adalah uploaded pada ini date.” menambahkan ini correctly membuat video eligible untuk richer listings Anda see pada Google: sebuah thumbnail dan duration di main hasil, di Video tab, di Images, dan di menemukan. ini melakukan not guarantee itu extras tampilkan up, dan Google masih memiliki untuk menjadi able untuk temukan dan indeks video itself.
What VideoObject schema adalah
When Anda lihat sebuah halaman dengan sebuah video pada ini, Anda dapat tell judul dari runtime
dari thumbnail hanya oleh looking. sebuah mesin pencari sees sebuah halaman dari HTML dan sebuah video
player dan memiliki untuk berfungsi out which video adalah main one dan what ini adalah tentang.
VideoObject schema spells ini out di code, menggunakan shared
schema.org vocabulary — ini tags video’s
name (judul), -nya thumbnailUrl, uploadDate, dan biasanya sebuah description,
duration, dan URLs where video file dan -nya embed live.
ini adalah almost selalu written sebagai JSON-LD — sebuah kecil block dari code itu sits di halaman tanpa mengubah how halaman looks.
Why ini adalah worth doing
payoff adalah video rich hasil, dan surprising bagian adalah how banyak places mereka tampilkan up. Google’s own docs say videos dapat appear pada main hasil pencarian halaman, di Video mode, di Google Images, dan di Google menemukan. sebagian besar people assume video schema hanya helps di “videos” (terjemahan) “videos” bagian — ini adalah actually four surfaces. sebuah thumbnail dan sebuah runtime next untuk Anda hasil stand out dan dapat earn more clicks daripada sebuah plain blue tautan.
three things Anda selalu perlu
untuk menjadi eligible untuk apa pun video rich hasil, Google memerlukan hanya three properties:
- name — video’s judul.
- thumbnailUrl — sebuah URL untuk sebuah representative thumbnail image.
- uploadDate — date video adalah pertama published.
Everything else — description, duration (so Google dapat tampilkan “4:12” (terjemahan) “4:12”),
contentUrl dan embedUrl — adalah recommended, not diperlukan, tetapi menambahkan them
membuat untuk sebuah much richer, more reliable hasil.
Two fitur Anda’ll hear tentang
- Key moments adalah little chapter tautan (“Intro,” (terjemahan) “Intro,” “Ingredients,” (terjemahan) “Ingredients,” “Assembly” (terjemahan) “Assembly”) itu let searchers jump ke middle dari sebuah video. Anda dapat tambahkan ini — ada two berbeda cara, covered di Advanced tab.
- LIVE badge — itu red “LIVE” (terjemahan) “LIVE” label pada livestreams — adalah ditambahkan dengan sebuah
related bit dari markup called
BroadcastEvent. juga di Advanced.
thing sebagian besar people get wrong
single sebagian besar umum miss adalah leaving out uploadDate, atau writing ini di sebuah
sloppy date format. ini adalah one dari hanya three diperlukan fields, so skipping ini berarti
no rich hasil di semua. dan remember: bahkan perfect markup hanya membuat video
eligible — Google masih decides whether untuk tampilkan ini, dan ini memiliki untuk menjadi able untuk
crawl dan indeks actual video.
ingin full versi — recommended properties, two cara untuk melakukan key moments, LIVE badge, dan umum mistakes? Switch untuk Advanced tab.
Evidence for this claim Schema.org VideoObject defines vocabulary for a video media object; being valid Schema.org does not by itself guarantee a Google video feature. Scope: Schema.org type definition, distinct from Google eligibility. Confidence: high · Verified: Schema.org: VideoObject Evidence for this claim Google's VideoObject documentation requires name, thumbnailUrl, and uploadDate for video structured-data eligibility and recommends additional properties. Scope: Current Google video structured data requirements; eligibility is not a display guarantee. Confidence: high · Verified: Google Search Central: Video structured dataTL;DR —
schema.org/VideoObjectmarkup (biasanya JSON-LD) membuat sebuah video eligible untuk video rich hasil di seluruh four Google surfaces — main search, Video tab, Google Images, dan Google menemukan. diperlukan:name,thumbnailUrl,uploadDate. Recommended:contentUrl,description,duration,embedUrl,expires,interactionStatistic, danregionsAllowed/ineligibleRegion. Key moments memiliki two mechanisms — automatic viaSeekToAction/potentialAction(jika Anda URLs accept sebuah timestamp parameter Google dapat infer) atau manual viaClip(name,startOffset, danurldiperlukan per chapter;endOffsetrecommended). LIVE badge adalahBroadcastEvent(isLiveBroadcast,startDate,endDate) digunakan alongside VideoObject, documented pada yang sama halaman — not sebuah separate sistem. paling umum miss adalah omittinguploadDateatau menggunakan sebuah inconsistent date format. Valid markup hanya earns eligibility; Google masih decides whether untuk tampilkan ini, dan video memiliki untuk menjadi dapat di-crawl dan dapat diindeks. ini adalah one dari two highest-payoff jenis di cluster alongside Recipe — worth doing properly.
What VideoObject schema melakukan — one markup, four surfaces
sebagian besar guides flatten VideoObject ke “get a thumbnail in search.” (terjemahan) “get sebuah thumbnail di search.” reach adalah
wider daripada itu, dan ini adalah worth leading dengan because ini perubahan ROI calculation.
Google’s own framing: “Videos can appear in several different places on Google,
including the main search results page, Video mode, Google Images, and Google
Discover.” (terjemahan) “Videos dapat appear di several berbeda places pada Google,
including main hasil pencarian halaman, Video mode, Google Images, dan Google
menemukan.” itu’s four distinct surfaces dari one block dari markup — which adalah why I
peringkat ini, dengan Recipe, sebagai one dari two genuinely tinggi-payoff jenis di whole
structured-data cluster. (ini adalah no coincidence two overlap: banyak Recipe halaman
embed sebuah cooking video via recipe’s video property, dan itu video adalah itself sebuah
VideoObject.)
vocabulary adalah schema.org/VideoObject, dan Google’s Video guide covers three
related jenis pada sebuah single halaman: VideoObject itself, Clip (key moments), dan
BroadcastEvent ( LIVE badge). Worth knowing: ada no separate
“media-clip” (terjemahan) “media-clip” doc halaman — URL Anda mungkin guess di mengembalikan sebuah 404. Clip dan segment
markup untuk video adalah folded ke yang sama Video guide sebagai VideoObject, so don’t go
hunting untuk sebuah dedicated halaman itu doesn’t exist.
diperlukan vs. recommended properties
diperlukan — minimum untuk apa pun video rich hasil:
| Property | What ini adalah |
|---|---|
name | video’s judul |
thumbnailUrl | URL untuk sebuah representative thumbnail image |
uploadDate | date video adalah pertama published (ISO 8601) |
Recommended — tambahkan sebagai banyak sebagai apply; mereka membuat hasil richer dan more reliable:
| Property | mengapa ini penting |
|---|---|
contentUrl | Direct URL untuk media file — helps Google fetch video |
description | video’s deskripsi (plain text) |
duration | ISO 8601 duration (e.g. PT4M12S) — powers runtime badge |
embedUrl | URL untuk player embed |
expires | When video adalah no longer available (omit jika ini doesn’t expire) |
interactionStatistic | View count via WatchAction interaction jenis |
regionsAllowed / ineligibleRegion | Where video dapat / dapat not menjadi ditampilkan |
menyediakan either contentUrl atau embedUrl (both adalah better) so Google memiliki sebuah
cara untuk reach actual video — sebuah thumbnail dengan no reachable video adalah sebuah umum
alasan sebuah hasil tidak pernah appears. three URLs itu come up here adalah not
interchangeable: contentUrl adalah video file’s actual konten bytes (Google’s
own docs panggil ini paling effective cara untuk Google untuk fetch video); embedUrl
adalah player, not file; dan neither one adalah watch halaman URL — halaman
video adalah embedded pada. sebuah umum mistake adalah pointing contentUrl di watch
halaman alih-alih raw media file.
Key moments: SeekToAction vs. Clip
Key moments adalah chapter-style deep tautan di bawah sebuah video hasil itu jump viewer untuk sebuah spesifik timestamp. ada two mechanisms, dan confusing them adalah single biggest source dari implementation trouble pada ini jenis.
1. Automatic — SeekToAction / potentialAction. Anda tell Google, via sebuah
potentialAction dari jenis SeekToAction, URL pattern Anda player menggunakan untuk jump
untuk sebuah timestamp ( startOffset-input placeholder). jika Anda video URLs sudah
accept sebuah timestamp parameter, Google dapat infer key moments itself dari Anda
pada-halaman chapter structure. gunakan ini when Anda struktur URL mendukung timestamps dan
Anda’re happy letting Google pick moments.
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "How to tie a bowline knot",
"thumbnailUrl": "https://example.com/thumbs/bowline.jpg",
"uploadDate": "2026-05-01T08:00:00-05:00",
"description": "A step-by-step guide to tying a bowline.",
"duration": "PT4M12S",
"contentUrl": "https://example.com/video/bowline.mp4",
"embedUrl": "https://example.com/embed/bowline",
"potentialAction": {
"@type": "SeekToAction",
"target": "https://example.com/watch/bowline?t={seek_to_second_number}",
"startOffset-input": "required name=seek_to_second_number"
}
}2. Manual — Clip markup. Anda define setiap chapter explicitly sebagai sebuah Clip.
Google’s Clip table splits ini yang sama cara sebagai VideoObject itself: diperlukan —
name, startOffset (di seconds), dan sebuah url itu deep-tautan untuk itu moment;
recommended — endOffset (di seconds), so clip memiliki sebuah defined end serta
sebuah start. gunakan ini when Anda ingin supply Anda own labels dan timestamps rather
daripada moments Google’s automatic detection akan otherwise pick.
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "How to tie a bowline knot",
"thumbnailUrl": "https://example.com/thumbs/bowline.jpg",
"uploadDate": "2026-05-01T08:00:00-05:00",
"hasPart": [
{
"@type": "Clip",
"name": "Make the loop",
"startOffset": 30,
"endOffset": 75,
"url": "https://example.com/watch/bowline?t=30"
},
{
"@type": "Clip",
"name": "Thread the tail",
"startOffset": 75,
"endOffset": 130,
"url": "https://example.com/watch/bowline?t=75"
}
]
}Which untuk gunakan? Automatic SeekToAction adalah less berfungsi jika Anda URLs sudah
mendukung timestamp parameters dan Anda trust Google untuk pick moments. Manual Clip
adalah right panggil when Anda ingin name dan bound setiap chapter yourself. Don’t stack
both mechanisms untuk yang sama purpose pada yang sama video — pick one. decision tree
di Resources group walks ini fork.
LIVE badges dengan BroadcastEvent
untuk livestreams, red LIVE badge adalah enabled oleh menambahkan sebuah BroadcastEvent untuk
Anda VideoObject via publication property. ini adalah not sebuah separate,
unrelated schema jenis — ini adalah documented pada yang sama Video guide dan layered onto
VideoObject Anda sudah memiliki. BroadcastEvent sebagai sebuah whole isn’t diperlukan untuk sebuah plain
video rich hasil, tetapi setelah Anda tambahkan ini untuk LIVE badge, Google’s Clip-style table
treats isLiveBroadcast, startDate, dan endDate sebagai diperlukan together:
isLiveBroadcast: truestartDate— when broadcast starts atau adalah scheduled untuk start. sebuahstartDatedi future signals sebuah scheduled broadcast; di past atau present, ini signals stream memiliki actually started.endDate— when ini ends atau adalah expected untuk end. Google adalah explicit itu once stream memiliki actually finished, Anda harus updateendDateuntuk sebuah nyata nilai — sebuahendDatedi future signals sebuah scheduled end, di past atau present ini signals stream memiliki ended. jika Anda tidak know end time up front, sebuah approximateendDateadalah fine untuk start; hanya correct ini once stream actually wraps.
Nesting startDate/endDate ini cara lets Google infer three lifecycle states —
scheduled, live, ended — dari yang sama two fields, which adalah juga why sebuah stale
endDate (not corrected setelah stream stops) adalah main cara sebuah lingering LIVE
badge happens. None dari ini guarantees badge appears di apa pun particular time;
ini hanya supplies timing Google’s sistem gunakan untuk decide.
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "Launch livestream 2026",
"thumbnailUrl": "https://example.com/thumbs/launch.jpg",
"uploadDate": "2026-06-30T09:00:00-05:00",
"publication": {
"@type": "BroadcastEvent",
"isLiveBroadcast": true,
"startDate": "2026-07-01T14:00:00-05:00",
"endDate": "2026-07-01T15:30:00-05:00"
}
}Anda juga perlu untuk panggil Google’s pengindeksan API untuk livestream videos so LIVE badge appears dan disappears di sebuah timely cara — badge adalah time-sensitive di sebuah cara sebuah normal pada-demand video isn’t.
umum implementation mistakes
- Omitting
uploadDateatau menggunakan sebuah sloppy date format. ini adalah one dari hanya three diperlukan fields. gunakan consistent ISO 8601 nilai (sebuah full date-time dengan offset adalah safest). ini adalah single sebagian besar umum miss pada jenis. - sebuah thumbnail dengan no reachable video. menyediakan
contentUrldan/atauembedUrlso Google dapat actually fetch video thumbnail mewakili. - Marking up sebuah video itu Google dapat’t crawl atau indeks. data terstruktur dapat’t rescue sebuah video hidden behind sebuah login, blocked di robots.txt, atau dimuat di sebuah cara crawler dapat’t see. Markup describes video; ini doesn’t membuat ini accessible.
- Stacking both key-moment mechanisms. Pick automatic
SeekToActionatau manualClipuntuk sebuah given video, not both. - Forgetting untuk close out sebuah livestream. Set
endDatedan update markup once stream ends, atau LIVE badge dapat linger. - Treating valid markup sebagai sebuah guaranteed hasil. sebagai dengan setiap rich-hasil jenis, valid VideoObject markup hanya membuat halaman eligible — Google’s sistem masih decide whether untuk tampilkan ini.
Where ini sits, dan video SEO more broadly
VideoObject adalah structured-data layer untuk video, dan ini lives here alongside -nya siblings — Recipe (whose halaman so sering embed sebuah cooking video) dan artikel (where sebuah video adalah embedded inside sebuah written piece, dan VideoObject describes itu embed). tetapi markup adalah hanya one slice dari getting video untuk perform di search: hosting, sitemaps, thumbnails, transcripts, kecepatan halaman sekitar player, dan how Anda embed semua penting too. itu broader video SEO topics sit outside ini structured-data artikel — ini halaman adalah deliberately scoped untuk schema itself.
untuk where VideoObject fits di wider structured-data picture, see Schema Markup dan data terstruktur hubs ini artikel nests di bawah.
AI summary
sebuah condensed take pada Advanced versi:
- What ini adalah:
schema.org/VideoObjectmarkup (biasanya JSON-LD) itu labels sebuah halaman’s video — judul, thumbnail, upload date, duration, dan video/embed URLs — so mesin pencari dapat produce video rich hasil. - Four surfaces, not one: yang sama markup dapat surface pada main search hasil halaman, Video tab, Google Images, dan Google menemukan. ini breadth adalah why ini adalah one dari two highest-payoff jenis di cluster (dengan Recipe).
- diperlukan:
name,thumbnailUrl,uploadDate. Recommended:contentUrl,description,duration,embedUrl,expires,interactionStatistic,regionsAllowed/ineligibleRegion. SupplycontentUrldan/atauembedUrlso Google dapat reach video. - Key moments — two mechanisms: (1) automatic via
SeekToAction/potentialActionjika Anda URLs accept sebuah timestamp parameter Google dapat infer; (2) manual viaClip(name,startOffset,urldiperlukan;endOffsetrecommended, per chapter) when Anda ingin publisher-specified labels dan timestamps alih-alih Google’s automatic picks. gunakan one mechanism, not both, untuk sebuah given video. - URL roles:
contentUrl(video bytes) danembedUrl( player) adalah not watch halaman URL — menyediakan setidaknya one so Google dapat reach actual video. - LIVE badge:
BroadcastEvent(isLiveBroadcast,startDate,endDate— diperlukan together setelah Anda tambahkanBroadcastEventdi semua) ditambahkan untuk VideoObject viapublication— documented pada sama Video guide, not sebuah separate sistem.startDate/endDatedi future signal scheduled/expected times; di past atau present mereka signal stream memiliki actually started/ended — updateendDateonce ini really ends. Livestreams juga perlu pengindeksan API untuk timely badge updates. - No media-clip doc halaman: guessable
/media-clipURL adalah sebuah 404 — Clip markup adalah folded ke single Video guide alongside VideoObject dan BroadcastEvent. - sebagian besar umum miss: omitting
uploadDateatau writing ini di sebuah inconsistent date format — ini adalah one dari hanya three diperlukan fields. - Eligibility ≠ display: valid markup + sebuah dapat di-crawl, dapat diindeks video + Google deciding ini adalah worth showing. Markup hanya membuat Anda eligible.
- Scope: VideoObject adalah schema layer hanya; broader video SEO (hosting, sitemaps, thumbnails, embeds) adalah sebuah separate topic.
Official documentation
Primary-source documentation dari mesin pencari.
Google — Video data terstruktur
- Video (VideoObject, Clip, BroadcastEvent) data terstruktur — single authoritative guide covering semua three jenis: VideoObject diperlukan/recommended properties, key moments (SeekToAction dan Clip), dan BroadcastEvent LIVE badge. Note ada no separate media-clip halaman — Clip markup lives here.
- Video SEO best practices — separate pengindeksan-requirements guide (watch halaman, video placement, stable asset URLs) itu structured-data eligibility depends pada.
- Search gallery (rich hasil jenis) — where video rich hasil sit among Google’s didukung enhancements.
- Rich hasil Test — validate markup dan periksa video rich-hasil eligibility.
- Video pengindeksan report (Search Console) — how Google reports whether ini terindeks Anda videos, dan why beberapa aren’t terindeks.
Bing / Microsoft
- Marking up Anda situs dengan data terstruktur — Bing’s umum structured-data mendukung (schema.org, JSON-LD recommended).
Quotes dari source
pada—record statements dari Google. Where sebuah source halaman exposes text, tautan adalah sebuah deep tautan itu jumps untuk quoted passage.
Google docs — multi-surface reach
- “Videos can appear in several different places on Google, including the main search results page, Video mode, Google Images, and Google Discover.” (terjemahan) “Videos dapat appear di several berbeda places pada Google, including main hasil pencarian halaman, Video mode, Google Images, dan Google menemukan.” Jump untuk quote
itu single kalimat adalah alasan untuk prioritize ini jenis: four surfaces, one block dari markup. sebagian besar guides hanya mention Video tab.
Note: No VideoObject-spesifik pada-record quote dari sebuah Google rep surfaced untuk ini artikel, dan no Patrick Stox konten pada VideoObject specifically. alih-alih invent sebuah jenis-spesifik rep quote, honest framing untuk carry di atas dari setiap lainnya schema jenis applies here: valid data terstruktur adalah sebuah eligibility signal, not sebuah peringkat factor — Google decides whether untuk tampilkan hasil.VideoObject schema cheat sheet
Where video rich hasil dapat appear
Main hasil pencarian · Video tab · Google Images · Google menemukan — four surfaces dari one block dari markup.
diperlukan vs. recommended (VideoObject)
| Property | Status |
|---|---|
name | diperlukan |
thumbnailUrl | diperlukan |
uploadDate | diperlukan |
contentUrl | Recommended |
description | Recommended |
duration | Recommended (ISO 8601, e.g. PT4M12S) |
embedUrl | Recommended |
expires | Recommended (omit jika ini doesn’t expire) |
interactionStatistic | Recommended (view count) |
regionsAllowed / ineligibleRegion | Recommended |
menyediakan contentUrl dan/atau embedUrl so Google dapat reach actual video —
contentUrl adalah video’s bytes, embedUrl adalah player, dan neither adalah
watch halaman URL.
Key moments — two mechanisms compared
Automatic (SeekToAction) | Manual (Clip) | |
|---|---|---|
| How | potentialAction → SeekToAction dengan sebuah timestamp URL pattern | hasPart → Clip per chapter |
| diperlukan properties | target URL + startOffset-input | name, startOffset, url |
| Recommended properties | — | endOffset |
| Who picks moments | Google infers them dari Anda halaman | Anda define them explicitly |
| Requirement | Anda URLs harus accept sebuah timestamp parameter | Deep-tautan URL per clip |
| gunakan when | URLs sudah mendukung timestamps; happy untuk let Google choose | Anda ingin supply Anda own labels dan timestamps |
Pick one mechanism per video — don’t stack both.
LIVE badge (BroadcastEvent, via publication)
isLiveBroadcast: true·startDate·endDate— diperlukan together setelah Anda tambahkanBroadcastEventdi semua.startDate/endDatedi future = scheduled/expected; di past atau present = actually started/ended.- Layered onto VideoObject, sama guide — not sebuah separate schema.
- panggil pengindeksan API untuk timely badge updates; set
endDateuntuk sebuah nyata nilai once stream actually ends (sebuah approximateendDatebeforehand adalah fine).
Fast facts
- Format: JSON-LD (recommended).
- No separate media-clip doc halaman — Clip adalah folded ke Video guide (
/media-clipadalah sebuah 404). - sebagian besar umum miss: omitting
uploadDateatau sebuah sloppy date format. - Valid markup = eligible, not guaranteed; video harus menjadi dapat di-crawl/dapat diindeks.
Key moments: automatic SeekToAction atau manual Clip?
jika Anda ingin chapter-style timestamps di bawah Anda video hasil, ada two cara untuk melakukan ini. berfungsi down pertanyaan untuk temukan right one untuk Anda setup.
Which key-moments mechanism should I use?
aturan dari thumb: automatic SeekToAction adalah less berfungsi jika Anda URLs sudah
mendukung timestamps dan Anda trust Google untuk choose moments; manual Clip adalah
right panggil when Anda ingin author setiap chapter’s label dan timestamps yourself.
tidak pernah stack both mechanisms pada yang sama video.
VideoObject mistakes untuk hindari
Concrete implementation mistakes pada VideoObject, drawn dari umum-mistakes list di Advanced tab — why setiap adalah wrong dan what untuk melakukan instead.
Omitting uploadDate, atau menggunakan sebuah sloppy date format.
Why ini adalah wrong: uploadDate adalah one dari hanya three diperlukan properties (dengan name
dan thumbnailUrl). Skip ini, atau write ini inconsistently, dan video isn’t
eligible untuk sebuah rich hasil di semua — ini adalah single sebagian besar umum miss pada ini jenis.
What untuk melakukan instead: selalu sertakan uploadDate sebagai sebuah full ISO 8601 date-time nilai
(sebuah date-time dengan sebuah timezone offset adalah safest format).
Shipping sebuah thumbnail dengan no reachable video.
Why ini adalah wrong: sebuah thumbnailUrl dengan no cara untuk Google untuk fetch actual video
file adalah sebuah thumbnail pointing di nothing — sebuah umum alasan sebuah hasil tidak pernah appears.
What untuk melakukan instead: menyediakan contentUrl dan/atau embedUrl (both adalah better) so
Google memiliki sebuah nyata path untuk video.
Marking up sebuah video Google dapat’t crawl atau indeks. Why ini adalah wrong: data terstruktur describes sebuah video, ini doesn’t membuat one accessible — markup dapat’t rescue sebuah video itu’s behind sebuah login, blocked di robots.txt, atau dimuat di sebuah cara crawler dapat’t see. What untuk melakukan instead: confirm video itself adalah dapat di-crawl dan dapat diindeks sebelum worrying tentang schema; periksa Search Console Video pengindeksan report untuk see what Google actually terindeks.
Stacking both key-moment mechanisms pada one video.
Why ini adalah wrong: menambahkan both automatic SeekToAction dan manual Clip markup untuk
sama video adalah redundant dan contradicts “pick one” (terjemahan) “pick one” guidance — ini invites
conflicting signals tentang where chapters adalah.
What untuk melakukan instead: choose SeekToAction (jika Anda URLs sudah accept sebuah timestamp
parameter dan Anda’re fine letting Google infer chapters) atau Clip (jika Anda ingin
name dan bound setiap chapter yourself) — tidak pernah both untuk yang sama purpose.
Forgetting untuk close out sebuah livestream.
Why ini adalah wrong: leaving endDate unset, atau stale, setelah sebuah stream ends dapat membuat
LIVE badge linger pada sebuah video itu’s no longer live.
What untuk melakukan instead: update endDate pada BroadcastEvent segera setelah stream
ends, dan panggil pengindeksan API so badge perubahan propagates promptly.
Treating valid markup sebagai sebuah guaranteed hasil. Why ini adalah wrong: sebagai dengan setiap rich-hasil jenis, syntactically valid VideoObject markup hanya membuat halaman eligible — Google’s sistem masih decide whether untuk actually tampilkan rich hasil. What untuk melakukan instead: validate markup, lalu judge success oleh what actually menampilkan di search di atas time, not oleh markup passing sebuah test alone.
Confirming sebuah VideoObject perubahan actually took effect
Pass/fail memeriksa untuk setelah Anda tambahkan atau edit VideoObject (atau Clip/BroadcastEvent) markup pada sebuah halaman.
Markup validates dan menampilkan sebagai eligible
Test untuk run: Paste halaman URL ke Google’s
Rich hasil Test.
Expected hasil: test detects sebuah VideoObject item, reports ini sebagai eligible
untuk video rich hasil, dan menampilkan no errors pada name, thumbnailUrl, atau
uploadDate.
Failure interpretation: sebuah missing-field error pada one dari three diperlukan
properties berarti rich hasil dapat’t tampilkan di semua; sebuah warning pada sebuah recommended
property (like duration atau embedUrl) won’t block eligibility tetapi weakens
hasil.
Monitoring window: Immediate — test parses live halaman’s markup pada
permintaan.
Rollback trigger: apa pun diperlukan-field error persisting setelah Anda’ve re-diperiksa
JSON-LD untuk typos atau sebuah buruk date format.
Key-moments mechanism resolves correctly
Test untuk run: di yang sama Rich hasil Test hasil, periksa apakah SeekToAction
atau Clip (whichever Anda implemented) adalah parsed without errors, dan itu Anda haven’t
accidentally shipped both.
Expected hasil: Exactly one key-moments mechanism adalah detected dan validates
clean.
Failure interpretation: Both mechanisms present, atau chosen one throwing sebuah
error, berarti chapter timestamps mungkin won’t tampilkan di bawah hasil.
Monitoring window: Immediate, di validation time.
Rollback trigger: test flags both SeekToAction dan Clip pada yang sama
video — hapus one.
Google actually terindeks video
Structured-data eligibility imports Google’s separate video-pengindeksan requirements —
sebuah syntactically valid VideoObject doesn’t oleh itself prove watch halaman,
video, atau -nya assets adalah terindeks. periksa setiap layer alih-alih treating one
Search Console status sebagai whole jawaban:
- Watch halaman terindeks. halaman video adalah embedded pada memiliki untuk menjadi terindeks pada -nya own merits pertama — Google’s guidance adalah explicit itu sebuah terindeks watch halaman masih doesn’t guarantee video itself gets terindeks.
- Video adalah main konten, not hidden. video perlu untuk menjadi embedded directly pada watch halaman (not hanya ditautkan untuk) dan not hidden behind lainnya elements atau sebuah paywall without paywall data terstruktur.
- Assets adalah fetchable di stable URLs. thumbnail dan, jika disediakan,
contentUrl/embedUrltargets perlu untuk resolve di stable URLs Google dapat repeatedly fetch — frequently-changing CDN URLs adalah sebuah known cause dari videos falling out dari indeks.
Test untuk run: periksa Video pengindeksan report di Search Console untuk URL (atau property covering ini). Expected hasil: video adalah listed sebagai terindeks, not flagged di bawah sebuah non-terindeks alasan (e.g. crawl atau robots blocking). Failure interpretation: sebuah “not indexed” (terjemahan) “not terindeks” status berarti rich hasil dapat’t appear regardless dari how clean markup adalah — video itself, not schema, adalah blocker. berfungsi melalui three layers above di order (watch halaman, lalu video placement, lalu asset fetchability) alih-alih guessing. Monitoring window: Allow Search Console sebuah few days untuk sebuah couple dari weeks untuk reflect sebuah newly-published atau newly-fixed video, since pengindeksan reports lag live crawling. Rollback trigger: video stays non-terindeks setelah sebuah reasonable wait dan sebuah robots.txt/crawlability periksa — investigate video’s accessibility, not schema.
LIVE badge appears dan clears pada schedule
Test untuk run: untuk sebuah livestream menggunakan BroadcastEvent, watch search hasil
selama live window, lalu again setelah endDate memiliki passed.
Expected hasil: LIVE badge menampilkan while stream adalah live dan disappears
promptly setelah endDate adalah updated dan pengindeksan API memiliki telah called.
Failure interpretation: sebuah badge itu lingers setelah stream ends biasanya berarti
endDate wasn’t updated, atau pengindeksan API wasn’t called untuk propagate perubahan.
Monitoring window: periksa di dalam sebuah few hours dari stream ending, since
badge adalah time-sensitive di sebuah cara sebuah pada-demand video isn’t.
Rollback trigger: badge adalah masih showing well setelah endDate memiliki passed —
re-periksa BroadcastEvent nilai dan re-submit via pengindeksan API.
Test yourself: VideoObject Schema
Five quick pertanyaan pada schema.org/VideoObject, surfaces ini reaches, key moments, dan LIVE badge. Pick sebuah jawaban untuk setiap, lalu periksa.
Log perubahan
Diperbarui 18 Jul 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.