無料ツール · 動画の構造化データ生成
動画の構造化データ生成ツール
動画を 1 本入力すると、動画の構造化データ(VideoObject の JSON-LD)ができます。公開日時は日本時間のオフセット付き、再生時間は正しい ISO 8601、チャプターは正しい再生位置へのリンク付き。同じ内容をページに出す説明ブロックも一緒に書き出します。
他の言語:English繁體中文日本語한국어EspañolFrançaisDeutschPortuguês (Brasil)
動画ごとに固有のタイトルにします。同じサイトの 2 本の動画が同じタイトルを共有しないように。
BMP・GIF・JPEG・PNG・WebP・SVG・AVIF。60×30 ピクセル以上(大きいほうがよい)で、URL が変わらないことが条件です。
「2026/08/21」や「2026年8月21日」ではなく、ハイフン区切りの YYYY-MM-DD で書きます。
日本時間なら +09:00。空欄にすると、Google は日付をあなたではなく Googlebot のタイムゾーンで読みます。
17:05、17分05秒、1:02:30、1025(秒数)、PT17M5S のどれでも読めます。数字は半角で。出力は ISO 8601 です。
YouTube なら https://www.youtube.com/embed/動画ID、ニコニコ動画なら https://embed.nicovideo.jp/watch/動画ID の形です。
チャプターのリンクを作るのに使います。リンクは、このページと同じパスに時間のパラメータを付けたものでなければなりません。
自分で主な出来事を渡すと、Google は自動で推測した区切りよりそちらを優先します。コロンは半角で。
処理はすべてこのページの中で行います。タイトル・URL・再生回数がブラウザの外に送られることはありません。
出典: Google 検索セントラル「動画(VideoObject、Clip、BroadcastEvent)スキーマ マークアップ」、同「動画のベスト プラクティス」、情報通信研究機構「日本標準時」、YouTube ヘルプ「動画と再生リストを埋め込む」、ニコニコインフォ「ニコニコ外部プレーヤーをリニューアルしました」、ニコニコ動画 sm9 の視聴ページ(VideoObject を確認)。いずれも 2026 年 9 月 26 日に確認。
動画の構造化データを作る手順
必須は 3 つ。そのうち 1 つは日時の書き方でつまずきやすく、URL の項目のうち 2 つはどちらも今いるページのことではありません。マークアップと説明ブロックは同じ値から書き出します。
- タイトルとサムネイルから入れます。 どちらも必須で、どちらもこの動画に固有である必要があります。サムネイルは来月も同じ URL であることが条件で、URL が頻繁に入れ替わる CDN は、動画のインデックス登録がうまくいかない原因になり得ます。
- 公開時刻にオフセットを付けます。 日付だけでも有効ですが、時刻と UTC オフセットがそろえば曖昧さがなくなります。日本で公開した動画なら +09:00 です。
- 再生時間は思いつく形で入れます。 17:05、1:02:30、秒数、ISO 形式のどれでも構いません。出力は常に、このプロパティが求める ISO 8601 の期間になります。
- contentUrl はファイル、embedUrl はプレーヤーです。 どちらも読者が開くページの URL ではありません。YouTube やニコニコ動画の埋め込みなら contentUrl は空欄のまま、embedUrl にプレーヤーの URL を入れます。ページらしい contentUrl はエラーになります。
- チャプターを入れて、2 つの出力を貼り付けます。 チャプターのリンクは、動画再生ページの URL に時間のパラメータを付けた形で作られます。JSON-LD は動画再生ページへ、日本語の見出しが付いた説明ブロックはプレーヤーの下へ貼ります。
uploadDate:+09:00 を書かないと、朝に公開した動画は前日の日付になり得ます
動画の構造化データとは、動画のタイトル・サムネイル・公開日時・再生時間・主な出来事(チャプター)を VideoObject の JSON-LD で記述し、Google が動画の情報をデータとして読み取れるようにするものです。必須のプロパティは name、thumbnailUrl、uploadDate の 3 つ。つまずきやすいのは 3 つ目です。
Google のドキュメントでは、uploadDate は動画が最初に公開された日時を ISO 8601 形式で書くもので、タイムゾーン情報を提供することをおすすめします。提供されない場合は、デフォルトで Googlebot が使用するタイムゾーンが適用されますとされています。日本標準時は協定世界時(UTC)より 9 時間進んでいます(情報通信研究機構)。日本の朝 7 時 30 分は、UTC ではまだ前日の 22 時 30 分です。オフセットのない時刻は、どのタイムゾーンで読まれるかによって別の日付になり得ます。
"uploadDate": "2026-08-21" // 有効。ただし時刻がない
"uploadDate": "2026-08-21T07:30:00" // 時刻はあるが、どこの時計か分からない
"uploadDate": "2026-08-21T07:30:00+09:00" // 曖昧さがない
ニコニコ動画の視聴ページ自身も、この形で書いています。2026 年 9 月 26 日に確認した sm9 の視聴ページの VideoObject は "uploadDate": "2007-03-06T00:33:00+09:00" でした。深夜 0 時 33 分の公開で、UTC に直すと前日の 3 月 5 日です。オフセットを落とせば、日付そのものが変わりかねません。
同じ推奨は expires にも当てはまり、Google はもう一つ指示を加えています。有効期限がない動画には、この値を指定しないこと。遠い未来の日付や空の期限は中立ではなく、一つの主張です。有効期限を過ぎた動画は動画の検索結果に表示されなくなるため、公開中の動画にうっかり過去の日付を入れないよう注意が必要だ、と Google 自身も書いています。
YouTube やニコニコ動画を埋め込んだページのマークアップ
動画を自前で配信せず、YouTube やニコニコ動画のプレーヤーを埋め込んでいるページも、マークアップの対象です。Google の動画のベスト プラクティスによれば、サードパーティのプラットフォームの動画が埋め込まれている場合、Google はその動画を、あなたのページとプラットフォーム側の対応するページの両方でインデックスに登録することがあります。そして、埋め込みのページでも構造化データの使用を推奨しています。
- contentUrl は多くの場合、書けません。contentUrl は動画ファイルの実体(.mp4 など)の URL で、プラットフォームの動画ではふつう手に入りません。そのときは embedUrl にプレーヤーの URL を入れます。YouTube の埋め込みコードの src は
https://www.youtube.com/embed/動画IDの形です(YouTube ヘルプ)。ニコニコ動画の視聴ページ自身の VideoObject も、contentUrl なしでhttps://embed.nicovideo.jp/watch/sm9?autoplay=1という embedUrl を出しています。 - embedUrl は再生ページではなくプレーヤーです。ふつうは埋め込み要素の src に書いてある URL で、動画を置いた記事の URL ではありません。このツールは、embedUrl が動画再生ページと同じならエラーにします。
- より多くの動画機能には、ホスト側の許可が要ります。Google は、動画ホストに問い合わせて、Google による動画ファイルの取得を許可しているか確認するよう勧めています。動画プレビューのような機能は、Google が動画ファイルを取得できることが前提です。
自前で配信している場合は contentUrl を入れます。可能なら contentUrl を指定するのが Google のおすすめで、動画ファイルを最も効果的に取得できる方法だからです。処理できるファイル形式は MP4、WebM、MOV、M3U8 など 21 種類で、データ URL は使えません。拡張子のない contentUrl や HTML らしい contentUrl は、このツールでは警告ではなくエラーです。
チャプター(主な出来事):YouTube の説明欄か、自分のページの Clip か
Google は動画のセグメントを自動で検出して主な出来事を表示しますが、区切りを自分で伝えることもでき、伝えた区切りのほうが優先されます。方法は動画の置き場所で変わります。
| 動画の置き場所 | 主な出来事の伝え方 |
|---|---|
| YouTube でホストしている | YouTube の動画説明にタイムスタンプとラベルを書きます。形式は [時]:[分]:[秒](時がなければ省略)、1 行に 1 つ、ラベルはタイムスタンプと同じ行に、時系列順に並べます。 |
| 自分のページで再生している | Clip 構造化データを hasPart に入れます。Clip の URL は、動画と同じ URL パスに時間を指定するクエリ パラメータを加えたものです。URL の仕組みを伝える SeekToAction もあり、日本語でも利用できます。 |
Clip には条件があります。動画の途中の時点にディープリンクできること(Google の例は ?t=30 で 30 秒後から再生)、動画の長さが 30 秒以上であること、同じページに開始時間の等しいクリップを 2 本置かないこと。このフォームは、動画再生ページの URL に ?t= と秒数を付けて各チャプターのリンクを作り、動画の終わりより後に始まるチャプターはエラーにします。
気を付けたいのは、YouTube を埋め込んだページで Clip を書く場合です。あなたのページを ?t=270 付きで開いたとき、埋め込みプレーヤーは本当に 270 秒の位置から再生を始めるでしょうか。YouTube の埋め込みプレーヤーは URL に ?start= と秒数を付けるとその位置から再生できるので(YouTube ヘルプ)、ページ側で t を読んで start に渡せば条件を満たせます。それができないなら、YouTube の説明欄のタイムスタンプに任せるほうが確実です。
動画再生ページ、サムネイル、そして説明ブロック
マークアップより先に、ページの側の条件があります。Google は「動画再生ページ」を、ユーザーに 1 つの動画を見せることが主な目的のページと定義しています。埋め込み動画をレビューするブログ記事や、複数の動画を同じ扱いで並べたカテゴリページは動画再生ページではありません。また、動画再生ページがインデックスに登録されていても、動画までインデックスに登録されるとは限りません。
| サムネイルの条件 | 値 |
|---|---|
| 形式 | BMP、GIF、JPEG、PNG、WebP、SVG、AVIF |
| サイズ | 60×30 ピクセル以上(大きいほうが好ましい) |
| 透明度 | ピクセルの 80% 以上でアルファ値が 250 を超えていること |
| URL | 動画ごとに固有で、変わらない URL。頻繁に変わる URL(有効期限の短い CDN の URL など)は、動画のインデックス登録がうまくいかない原因になり得ます |
| アクセス | Googlebot と画像用 Googlebot が取得できること(robots.txt やログインでブロックしない) |
このツールは JSON-LD と一緒に、タイトル・説明・公開日時・再生時間・チャプター表を同じ文字列で並べた説明ブロックも書き出します。script タグの中にしか説明がない動画再生ページは、読者にも AI の回答エンジンにも何も渡しません。画面にチャプター表があれば、マークアップが古くなったときにも一目で気付けます。同じ考え方を質問と回答に当てはめたのが FAQ 構造化データ生成ツール、材料と作り方に当てはめたのが レシピの構造化データ生成ツールです。レシピ動画なら、この VideoObject をレシピの video に入れます。
よくある質問
動画の構造化データとは何ですか?
動画の構造化データとは、動画のタイトル・サムネイル・公開日時・再生時間・主な出来事(チャプター)を VideoObject の JSON-LD で記述し、Google が動画の情報をデータとして読み取れるようにするものです。このツールは同じ値の説明ブロックも書き出し、Google が結果を明記している規則をチェックします。
VideoObject で必須のプロパティは何ですか?
name、thumbnailUrl、uploadDate の 3 つです。description、duration、contentUrl、embedUrl は推奨プロパティです。必須プロパティがないと、Google が動画に関する情報を抽出できない場合があります。
uploadDate に日本時間を書くときの注意点は?
オフセットの +09:00 まで書くことです。タイムゾーン情報がないと、Google は Googlebot が使用するタイムゾーンで読みます。日本標準時は UTC より 9 時間進んでいるため、朝に公開した動画は UTC では前日にあたり、オフセットがないと日付がずれるおそれがあります。
YouTube の動画を埋め込んだページにも構造化データは必要ですか?
Google は、サードパーティのプレーヤーを埋め込んだページでも構造化データの使用を推奨しています。埋め込んだ動画は、あなたのページと YouTube 側のページの両方でインデックスに登録されることがあります。動画ファイルの URL は通常分からないので、contentUrl は空欄にし、embedUrl に https://www.youtube.com/embed/動画ID を入れます。
duration(再生時間)はどう書けばいいですか?
ISO 8601 の期間で書きます。PT00H30M5S は 30 分 5 秒です。時刻や秒数そのままではありません。このツールは 17:05、17分05秒、1:02:30、1025、PT17M5S のどれでも受け付け、ISO 形式に変換して出力します。
contentUrl と embedUrl の違いは何ですか?
contentUrl は動画ファイルの実体(mp4 や webm)の URL、embedUrl はプレーヤーの URL です。どちらも動画が置かれているページの URL ではありません。可能なら contentUrl を指定するのが Google のおすすめで、動画ファイルを最も効果的に取得できる方法だからです。
検索結果にチャプター(主な出来事)を表示させるには?
YouTube でホストしている動画なら、動画説明にタイムスタンプとラベルを 1 行ずつ時系列順に書きます。自分のページで再生する動画なら、Clip 構造化データを hasPart に入れ、各 Clip の URL を動画と同じパスに時間のパラメータを付けた形にします。動画はその時点から実際に再生できる必要があり、長さは 30 秒以上が条件です。
インデックスされたのは再生ページだけ? それとも動画も?
自分のドメインは無料でチェックできます。ページごとの現在の HTTP ステータスと Google のインデックス判定、前回の期間との表示回数・平均掲載順位の比較、AI エンジンを別に数えた流入元別のトラフィック。エージェントの中から、コマンドを 1 つ打つだけです。
$ npm i -g @clize/clize && clize install $ clize seo check --domain example.jp[ Clize の Agent SEO → ]