免費工具 · VIDEO SCHEMA 產生器

影片結構化資料產生器(VideoObject)

描述一支影片,就拿到 VideoObject 的 JSON-LD:上傳時間帶著時區(台灣是 +08:00)、長度是真正的 ISO 8601、章節連結指向正確的秒數——另外附上一段放在播放器下方、說的是同一件事的說明區塊。影片嵌的是 YouTube 也適用。免費,全部在你的瀏覽器裡跑完。

免費即時免註冊不上傳任何資料

其他語言:English繁體中文日本語한국어EspañolFrançaisDeutschPortuguês (Brasil)

VideoObject · 產生器
影片本身

每支影片要有自己的標題,同一個網站上不要兩支影片共用一個。

BMP、GIF、JPEG、PNG、WebP、SVG 或 AVIF。至少 60x30 像素、越大越好,而且網址要固定不變。

什麼時候上架、片長多少

台灣全年都是 +08:00。留空的話,Google 會改用 Googlebot 的時區來讀,不是你的。

12:36、1:02:30、756(秒)、「12 分 36 秒」或 PT12M36S 都可以,輸出一律是 ISO 8601。

檔案、播放器與觀賞頁面

嵌 YouTube 的話,就是 iframe 的 src:https://www.youtube.com/embed/ 加上影片 ID。

用來組出章節連結:Google 要求章節網址和影片是同一個路徑,再加上時間參數。

章節(重要時刻)

自己把重要時刻告訴 Google,它會優先採用,而不是自己猜怎麼分段。

錯誤與警告
    JSON-LD — 貼進觀賞頁面
    
                
    可見 HTML — 說明區塊,同一組值
    
                

    全部在這一頁裡執行,標題、網址和觀看次數都不會離開你的瀏覽器。說明區塊的每個值都和標記相同;欄位標題可以配合版面改,值不要動。

    資料來源:Google 搜尋中心〈影片 (VideoObject、Clip、BroadcastEvent) 結構化資料〉(必要屬性、時區、contentUrl 與 embedUrl、YouTube 說明中的時間戳記、Clip 規則)與〈影片 SEO 最佳做法〉(第三方播放器、觀賞頁面的定義、縮圖規格、到期日);YouTube 說明〈影片章節〉與〈YouTube 嵌入式播放器參數〉(start);中央氣象署〈中華民國 116 年日曆資料表〉(臺灣時為世界時 +8 小時)。以上皆於 2026 年 9 月 26 日查閱。

    影片結構化資料怎麼產生

    三個必要屬性、一個很容易寫錯的日期格式,還有兩個網址欄位都不是你現在看的這一頁。產生器用同一組值寫出標記和說明區塊。

    1. 先填標題和縮圖。 兩者都是必要屬性,也都必須是這支影片專屬的。縮圖網址下個月還是同一個,Google 才用得上——網址很快就失效的 CDN,可能讓影片無法順利建立索引。
    2. 上傳時間要帶時差。 只有日期是有效的;日期加時間加 UTC 時差才沒有歧義。台灣全年是 +08:00,沒寫時差,Google 會用 Googlebot 的時區來讀。
    3. 長度照你習慣的寫法輸入。 12:36、1:02:30、「12 分 36 秒」、純秒數或 ISO 字串都可以,輸出一律是這個屬性要的 ISO 8601 時間長度。
    4. contentUrl 指向檔案,embedUrl 指向播放器。 兩個都不是讀者落地的那一頁。影片放在 YouTube 的話,你手上通常只有 embedUrl;contentUrl 看起來像網頁時,產生器會直接列為錯誤。
    5. 加上章節,兩份輸出都貼上。 章節連結由觀賞頁面網址加時間參數組成,這是 Google 要求的形式。JSON-LD 放進觀賞頁面,說明區塊放在播放器下方。

    uploadDate:台灣是 +08:00,全年同一個

    影片結構化資料產生器會把一支影片的資料轉成 VideoObject 的 JSON-LD——也就是 Google 用來讀取影片標題、縮圖、長度與重要時刻的結構化資料。必要屬性有三個:name、thumbnailUrl、uploadDate。第三個,是標記常常悄悄出錯的地方。

    Google 的繁中文件寫:uploadDate 是影片首次發布的日期和時間,採 ISO 8601 格式,並補了一句:建議您提供時區資訊。否則,系統會預設為 Googlebot 使用的時區。在台灣,這個時區只有一個值——中央氣象署的日曆資料表把「臺灣時」寫成世界時 +8 小時,全年都用同一個換算。

    時差為什麼重要?因為換算之後,日期可能不一樣。台灣時間 8 月 14 日早上 7:30 上片,換成 UTC 是 8 月 13 日 23:30;少寫了 +08:00,這支影片的「發布日」就交給別人的時鐘決定。三種寫法,告訴 Google 的資訊一種比一種多:

    "uploadDate": "2026-08-14"                    // 有效,但沒有時間
          "uploadDate": "2026-08-14T07:30:00"           // 有時間,但是誰的時鐘?
          "uploadDate": "2026-08-14T07:30:00+08:00"     // 沒有歧義

    expires 也適用同樣的時區建議,而 Google 還加了一句常被忽略的話:影片不會過期,就不要提供這項資訊。到期日一旦是過去的日期,影片就不會出現在搜尋結果中——空白或隨手填的到期日不是中性的,它是一個聲明。

    影片放在 YouTube:你的頁面和 YouTube 都可能被收錄

    如果你的網站嵌的是 YouTube 影片,Google 的影片最佳做法寫得很清楚:Google 可能會在您的網頁和第三方平台的相應網頁上將影片編入索引,兩個版本都可能出現在影片功能裡;而觀賞頁面嵌的即使是第三方播放器,仍建議你提供結構化資料。實際寫起來有三點:

    • embedUrl 就是 iframe 的 src。嵌 YouTube 時,那是 https://www.youtube.com/embed/ 加上影片 ID。你手上通常沒有影片檔,也就沒有 contentUrl 可填——那就別填,千萬不要把它指向 YouTube 的觀看頁或你自己的文章;Google 要的是影片檔實際內容位元組的網址。
    • YouTube 那一頁的章節,寫在 YouTube 的說明欄。Google 可能會根據 YouTube 說明裡的時間戳記啟用重要時刻,並偏好你明確提供的標示:一行一個時間戳記、標籤寫在同一行、依時間順序排列。YouTube 自己的章節規則更嚴:第一個時間戳記必須是 00:00、至少三個,每一段不得短於 10 秒。
    • 你自己頁面上的 Clip,連結必須真的會跳。Clip 的 url 要指向同一個路徑、加上時間參數(例如 ?t=108),而且 Google 要求影片有深層連結,點進來就從那一秒開始。嵌 YouTube 的頁面不會自動理會網址上的 ?t=——要由頁面把秒數交給內嵌播放器的 start 參數(YouTube 用它指定從第幾秒開始播放),否則章節連結只是一個會回到片頭的網址。

    食記、開箱文裡嵌的影片,不算觀賞頁面

    Google 的影片功能——主要搜尋結果裡的影片結果、影片模式、重要時刻——以「觀賞頁面」為對象:主要用途是讓使用者看一支影片的頁面。Google 自己列的反例裡,第一個就是評論內嵌影片的網誌文章;另外還有含商品 360 度影片的商品頁、列出多支同樣顯眼影片的分類頁。食記、開箱、遊記中間嵌一支影片,正是這種頁面:影片是和其他內容相輔相成,不是主角。

    這不代表那些文章不能標記影片。非觀賞頁面仍可以顯示為文字結果,以及帶影片標記的 Google 圖片結果。只是如果你希望影片本身進到影片功能裡,Google 的建議是替每支影片做一個專屬的觀賞頁面,而且每個觀賞頁面都有這支影片專屬的標題和說明——name 與 description 要求不重複,原因就在這裡。

    另外三條硬性條件:觀賞頁面本身要能被編入索引;影片必須嵌在頁面上,不能藏在其他元素後面;要登入或訂閱才看得到的影片,要加上付費牆結構化資料,Google 才仍然找得到它、為它建立索引。

    長度、縮圖、章節:Google 寫下的數字

    duration 要的是 ISO 8601 的時間長度,不是時鐘時間,也不是秒數:PT00H30M5S 是三十分鐘五秒。這個表單接受你手上現成的寫法——12:36、1:02:30、756、「12 分 36 秒」或 ISO 字串——一律輸出 ISO 格式;讀不懂的值直接報錯,不會原樣放行。

    規則數值
    縮圖格式BMP、GIF、JPEG、PNG、WebP、SVG、AVIF
    縮圖大小至少 60 x 30 像素,Google 偏好較大的縮圖
    透明度至少 80% 縮圖像素的 Alpha 值必須大於 250
    縮圖網址每支影片一個不重複、穩定的網址;很快就失效的 CDN 網址會讓影片無法順利建立索引
    存取Googlebot 與 Googlebot 圖片都要抓得到:不被 robots.txt 擋、不需要登入
    章節(Clip)影片總長至少 30 秒;同一支影片不要有開始時間重複的片段

    產生器還會擋下起點晚於影片結尾的章節——在 Google 那一端,打錯的時間戳記就長那樣。至於為什麼多了第二份輸出:只有 script 標籤知道影片在講什麼的觀賞頁面,讀者得不到任何資訊,AI 回答引擎也沒有句子可以引用;一份和標記有同樣時間戳記的可見章節表,一眼就檢查得完。同樣的原則用在問答上,是 FAQ schema 產生器;用在食譜的食材與步驟,是 食譜結構化資料產生器。

    常見問題

    什麼是影片結構化資料產生器?

    影片結構化資料產生器會把一支影片的資料轉成 VideoObject 的 JSON-LD——也就是 Google 用來讀取影片標題、縮圖、長度與重要時刻的結構化資料。這個產生器也用同一組值寫出可見的說明區塊,並檢查 Google 寫明後果的那幾條規則。

    VideoObject 一定要填哪些欄位?

    三個:name、thumbnailUrl、uploadDate。description、duration、contentUrl、embedUrl 是建議屬性。少了必要的三個,Google 可能無法擷取任何影片相關資訊。

    uploadDate 要加時區嗎?台灣要寫什麼?

    建議要加。Google 說沒有時區資訊時,會預設為 Googlebot 使用的時區。台灣全年都是 +08:00,寫成 2026-08-14T07:30:00+08:00。早上 8 點前發布的影片換算成 UTC 會落在前一天,少了時差,日期就可能被讀錯。

    影片放在 YouTube,還需要自己加 VideoObject 嗎?

    建議還是加。Google 說嵌入 YouTube 等第三方平台的影片,可能在你的網頁和平台的相應網頁上分別被編入索引,而觀賞頁面嵌的是第三方播放器時,仍建議提供結構化資料。embedUrl 填 YouTube 的內嵌網址;沒有影片檔,就不要填 contentUrl。

    contentUrl 和 embedUrl 差在哪裡?

    contentUrl 指向影片檔實際的內容位元組,例如 mp4;embedUrl 指向播放器,通常就是嵌入元素的 src。兩者都不是嵌著影片的那一頁,Google 明說不要連結到影片所在的網頁。能提供 contentUrl 就提供,這是 Google 擷取影片最有效的方法。

    食記或開箱文裡嵌的影片,會出現在影片搜尋結果嗎?

    Google 把評論內嵌影片的網誌文章列為非觀賞頁面,而影片結果、影片模式、重要時刻這些影片功能,是以觀賞頁面為對象的。這類文章仍可顯示為文字結果,以及帶影片標記的 Google 圖片結果;要讓影片本身進入影片功能,Google 建議替每支影片做專屬的觀賞頁面。

    章節(重要時刻)要怎麼加?

    在 hasPart 裡放 Clip,每個都有名稱、以秒計的 startOffset,以及觀賞頁面同一路徑加上時間參數的 url,而且這個網址點進去必須真的從那一秒開始播放。影片放在 YouTube 的話,也可以在 YouTube 說明欄寫時間戳記,Google 會偏好你明確提供的標示。

    clize seo check — 檢查自己的網域免費

    被收錄的是觀賞頁面,還是只有 YouTube 那一份?

    檢查自己的網域不用錢:每一頁當下的 HTTP 狀態與 Google 的索引判定、和上一個週期相比的曝光與平均排名,以及依來源拆開的流量,AI 引擎另外列出。在你的 agent 裡一道指令就跑完。

    $ npm i -g @clize/clize && clize install
    $ clize seo check --domain yourdomain.tw
    [ Clize 的 Agent SEO → ]