Domain 23 / 225

動画 SEO は VideoObject 構造化データと watch ページの設計で決まる

動画 SEO の要点

動画 SEO は watch ページに VideoObject 構造化データを実装して動画情報(サムネイル / アップロード日 / 再生時間)を Google に伝える。Key Moments で章立て表示、BroadcastEvent で LIVE バッジ。サムネイル URL は複数比率(1:1 / 4:3 / 16:9)が推奨

なぜこれを学ぶか

動画 SEO は YouTube だけでなく自社サイト動画も Google 検索 / 動画モード / Discover に出すための施策。 EC の商品紹介動画、ハウツーコンテンツ、ウェビナーアーカイブを正しく実装すれば、テキスト記事より上位に動画リッチリザルトが出ることもある。

ライブ配信サイト・教育コンテンツ・レビュー系メディアでは特に効果が大きい。

学ばないと起きること

よくある事故被害
watch ページの定義を理解せず動画を埋め込みだけGoogle が動画を認識せず、動画検索に出ない
VideoObject 構造化データを実装しない動画リッチリザルト(サムネ + 再生時間)が出ない、CTR を取り逃す
サムネイル URL を 1 比率しか用意しないデバイス別に最適表示できず、ライブやモバイルで小さく表示
Key Moments を実装しない検索結果から動画の特定セクションへの流入を取り逃す
LIVE 配信で BroadcastEvent を使わないLIVE バッジが付かず、リアルタイム視聴者を集められない
動画 URL が毎回変わる(CMS の不適切な設定)Google が再インデックスを繰り返し、安定しない
nosnippet を入れて Key Moments を意図せず無効化章立て表示が完全に止まる

学ぶメリット

  • 自社サイトの動画を Google 動画検索 / 動画モードに出せる
  • VideoObject + Clip / SeekToAction で章立て検索結果を獲得できる
  • LIVE 配信時に LIVE バッジで露出を最大化できる
  • 商談で「watch ページ + VideoObject」の構造を即答できる

仕組み

Watch ページとは

動画 SEO で Google が想定するのは 「watch ページ」= 1 ページに 1 つのメイン動画があり、その動画の視聴が主要目的のページ

例:

  • YouTube の動画ページ
  • ニコニコ動画の動画ページ
  • 自社サイトの動画ランディングページ

NG パターン:

  • 1 ページに動画が 5-10 個並ぶ動画一覧ページ(Google は「メイン動画」を判定できない)
  • ブログ記事の途中に動画埋め込み(メインがテキストのページ)

動画の埋め込み方

Google は HTML の以下のタグで動画を識別する:

<!-- 自前ホスト -->
<video src="movie.mp4"></video>

<!-- iframe 埋め込み -->
<embed src="movie.mp4" />

<!-- object 埋め込み -->
<object data="movie.mp4"></object>

YouTube / Vimeo の iframe 埋め込みも認識される。

サポート動画形式

主要なファイル形式:

  • MP4 / WebM / MOV / OGG / 3GP / AVI / FLV / MPG / MKV など

WebM や MP4(H.264)が最も広くサポートされる。

キー概念

VideoObject 構造化データ

最低限の必須プロパティ:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "Macbook Air 2024 のキーボードレビュー",
  "description": "新型 Macbook Air 2024 のキーボードを実機で 1 ヶ月使った感想",
  "thumbnailUrl": [
    "https://example.com/thumb-1x1.jpg",
    "https://example.com/thumb-4x3.jpg",
    "https://example.com/thumb-16x9.jpg"
  ],
  "uploadDate": "2026-05-10T10:00:00+09:00",
  "duration": "PT5M30S",
  "contentUrl": "https://example.com/videos/macbook-keyboard.mp4",
  "embedUrl": "https://example.com/embed/macbook-keyboard"
}
</script>

thumbnailUrl複数比率(1:1 / 4:3 / 16:9)を指定するのが推奨。デバイスごとに最適な比率が選ばれる。

duration は ISO 8601 形式(PT5M30S = 5 分 30 秒)。

Key Moments(章立て)

動画の特定セクションをチャプターのように検索結果に表示する機能。3 つの実装方法:

1. Clip 構造化データ

各セクションの開始 / 終了時刻とラベルを明示:

{
  "@type": "VideoObject",
  "hasPart": [
    {
      "@type": "Clip",
      "name": "イントロ",
      "startOffset": 0,
      "endOffset": 30,
      "url": "https://example.com/video#t=0"
    },
    {
      "@type": "Clip",
      "name": "キーボード詳細",
      "startOffset": 30,
      "endOffset": 180,
      "url": "https://example.com/video#t=30"
    }
  ]
}

2. SeekToAction 構造化データ

URL のタイムスタンプ形式を Google に伝え、自動でチャプター生成させる:

{
  "@type": "VideoObject",
  "potentialAction": {
    "@type": "SeekToAction",
    "target": "https://example.com/watch?v=123&t={seek_to_second_number}",
    "startOffset-input": "required name=seek_to_second_number"
  }
}

3. YouTube 動画概要欄のタイムスタンプ

YouTube 動画なら、概要欄に 0:00 イントロ / 0:30 キーボード詳細 のような形式で書くだけで、Google が自動認識する。

LIVE バッジ(BroadcastEvent)

ライブ配信動画に LIVE バッジを付けるための実装:

{
  "@type": "VideoObject",
  "publication": [
    {
      "@type": "BroadcastEvent",
      "name": "ライブイベント",
      "isLiveBroadcast": true,
      "startDate": "2026-05-10T20:00:00+09:00",
      "endDate": "2026-05-10T22:00:00+09:00"
    }
  ]
}

ライブ開始タイミングで Google にクロールしてもらうため、Indexing API での通知が推奨。

nosnippet と Key Moments の関係

<meta name="robots" content="nosnippet"> を入れると、Key Moments / 章立て表示も止まる。 動画のテキスト抽出を一切させたくない場合に使うが、CTR は確実に下がる。

よくある誤解

よくある誤解実際のところ出典
動画を埋め込めば自動的に Google 動画検索に出るwatch ページの定義を満たし、VideoObject 構造化データが必要動画 SEO
サムネイル URL は 1 つで十分複数比率(1:1 / 4:3 / 16:9)が推奨、デバイス別最適化VideoObject 構造化データ
動画ページに同じ画像をアイキャッチに繰り返し使えば OKサムネイルは動画の代表画像として動画内容を反映していること同上
Key Moments は必ず Clip 構造化データで実装する必要があるYouTube ならタイムスタンプ概要欄、SeekToAction で自動検出も可同上
1 ページに動画 10 個並べても Google が個別に認識するwatch ページ定義を満たさず、メイン動画の判定不能同上
動画の duration は省略可動画リッチリザルトの再生時間表示には必須相当同上
LIVE 配信は通常の VideoObject だけで LIVE バッジが付くBroadcastEvent + Indexing API の通知が必要同上
動画 URL が変わってもサムネイル URL が同じなら問題ない動画 URL が変わると Google が同じ動画を再認識する負荷が増える、固定 URL が推奨同上

実務での適用

商品紹介動画(EC)の VideoObject

{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "青いマキシ丈ドレスの着用イメージ",
  "description": "サイズ M を着用したモデル(身長 170cm)の前後 360 度ビュー",
  "thumbnailUrl": [
    "https://cdn.example.com/products/dress-blue-thumb-1x1.jpg",
    "https://cdn.example.com/products/dress-blue-thumb-16x9.jpg"
  ],
  "uploadDate": "2026-05-10T10:00:00+09:00",
  "duration": "PT45S",
  "contentUrl": "https://cdn.example.com/products/dress-blue-360.mp4"
}

商品ページの Product 構造化データの中に video プロパティとして含めることもできる。

ハウツー動画の Key Moments

{
  "@type": "VideoObject",
  "name": "5 分で分かる canonical の設定方法",
  "hasPart": [
    {"@type": "Clip", "name": "canonical とは", "startOffset": 0, "endOffset": 60, "url": "..."},
    {"@type": "Clip", "name": "rel=canonical の書き方", "startOffset": 60, "endOffset": 180, "url": "..."},
    {"@type": "Clip", "name": "サイトマップ指定", "startOffset": 180, "endOffset": 240, "url": "..."},
    {"@type": "Clip", "name": "よくある誤設定", "startOffset": 240, "endOffset": 300, "url": "..."}
  ]
}

ハウツーやチュートリアル動画は Key Moments と相性が良い。

LIVE 配信の事前準備

  1. 配信予定時刻の数日前に watch ページを公開(VideoObject + BroadcastEvent)
  2. Indexing API で Google にクロール要求を送信
  3. ライブ開始タイミングで再度 Indexing API 通知
  4. 配信中も VideoObject を更新(必要に応じて)
  5. 配信終了後は isLiveBroadcast: false に切り替え、アーカイブ動画として登録

トラブル別の対処

症状確認すべきこと
動画が動画検索に出ないwatch ページの定義を満たしているか / VideoObject が実装されているか / サムネ URL が有効か
動画リッチリザルトに再生時間が出ないduration プロパティが ISO 8601 形式(PT5M30S 等)で入っているか
Key Moments が表示されないClip / SeekToAction の実装、または YouTube タイムスタンプ概要欄の形式
LIVE バッジが付かないBroadcastEvent + isLiveBroadcast + Indexing API 通知の 3 点セット
動画ページの順位が下がったwatch ページが 1 動画 1 ページの構成か、動画自体の品質(解像度・音質)

公式ソース

自己テスト

Q1. watch ページとは何か?

1 ページに 1 つのメイン動画があり、その動画の視聴が主要目的のページ。 Google が動画 SEO で想定する構成

Q2. サムネイル URL は何枚指定するのが推奨か?

複数比率(1:1 / 4:3 / 16:9)を指定するのが推奨。デバイス別に最適な比率が選ばれる

Q3. duration プロパティの形式は?

ISO 8601 形式。例: 5 分 30 秒なら PT5M30S、1 時間 30 分 5 秒なら PT1H30M5S

Q4. Key Moments を実装する 3 つの方法は?
  1. Clip 構造化データ(明示的なチャプター指定)
  2. SeekToAction 構造化データ(URL タイムスタンプ形式を伝えて自動生成)
  3. YouTube 動画概要欄のタイムスタンプ(0:00 イントロ 形式)
Q5. ライブ配信に LIVE バッジを付けるには?

VideoObject + BroadcastEvent + isLiveBroadcast: true の構造化データ + Indexing API 通知の組み合わせ

Q6. 1 ページに動画を 10 個並べると Google が個別に認識するか?

しない。watch ページ定義(1 ページ 1 メイン動画)を満たさず、メイン動画の判定不能

Q7. nosnippet を入れると Key Moments への影響は?

Key Moments / 章立て表示も止まる。動画のテキスト抽出を一切させたくない場合のみ使う

Q8. CSS background-video / 動的に毎回変わる動画 URL は SEO 上どうか?

CSS background や動的 URL は不安定。Google が同じ動画を再認識する負荷が増えるので、固定 URL での HTML 埋め込み(video / embed / object)が推奨

これらの内容を採点付きで挑戦したい場合は、本ドメインのプロ試験で 5 問形式で確認できる。