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 配信の事前準備
- 配信予定時刻の数日前に watch ページを公開(VideoObject + BroadcastEvent)
- Indexing API で Google にクロール要求を送信
- ライブ開始タイミングで再度 Indexing API 通知
- 配信中も VideoObject を更新(必要に応じて)
- 配信終了後は
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 つの方法は?
- Clip 構造化データ(明示的なチャプター指定)
- SeekToAction 構造化データ(URL タイムスタンプ形式を伝えて自動生成)
- 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 問形式で確認できる。