2026年5月23日

2026年5月23日

WordPressの動画をGoogle検索の動画カルーセルに表示させるための最適化

Google検索で動画のサムネイルが横に並ぶ「動画カルーセル」や動画の検索結果に自サイトの動画を出すには、動画がそのページのメインコンテンツであること、Googleが動画ファイルやサムネイルを取得できること、VideoObjectの構造化データで動画の情報を伝えることの3点が土台になります。この記事では、WordPressで動画ページを作るときの考え方、構造化データの追加方法、Search Consoleでの確認手順までを説明します。なお、どの動画を表示するかはGoogleが決めるため、ここで紹介する対応は表示を保証するものではなく、対象になりうる状態を整える作業です。

「動画カルーセル」はサイト内のスライダーとは別物

最初に整理しておきたいのが、ここでいうカルーセルはGoogleの検索結果に出る動画の並びであって、WordPressのテーマやプラグインで作るスライダー(動画を横に切り替えて見せる部品)のことではない、という点です。サイト内に動画スライダーを置いても検索結果のカルーセルには直接関係しません。むしろ、1ページに複数の動画を並べると、どれがそのページの主役なのかがGoogleに伝わりにくくなります。

また、Googleには「カルーセル」という名前の構造化データ(ItemListを使うもの)もありますが、こちらはレシピやコースなど特定の種類の一覧ページ向けの仕組みで、動画を検索結果に出すためのものではありません。動画で使うのはVideoObjectです。

Googleが動画を表示する前提条件

Googleの動画に関するガイドラインでは、検索結果に動画として表示されるのは、動画がそのページの主要なコンテンツになっているページです(2026年10月現在)。記事の途中に参考程度に動画を埋め込んだページや、サイドバーに動画があるだけのページは、動画の検索結果には出にくくなっています。

WordPressで動画を検索結果に出したい場合は、次のような「視聴ページ」を意識して作るのが基本です。

  • 1ページにつき主役の動画は1本にし、ページの上部(ファーストビューに近い位置)に置く
  • ページのタイトルと見出しを、その動画の内容に合わせる
  • 動画の説明、要点、文字起こしなどのテキストを動画の下に添える
  • 動画を再生するのにログインや会員登録を必須にしない

テキストを添えるのは、Googleが動画の内容を理解する手がかりになるだけでなく、動画を再生しない読者にとっても内容をつかみやすくするためです。

WordPressでの動画の置き方

YouTubeを埋め込む場合

WordPressの埋め込みブロック(YouTube)でURLを貼るのがもっとも手軽です。YouTube上の動画でも、あなたのページが視聴ページとしての条件を満たしていれば、あなたのページの動画として検索結果に出ることがあります。ただし同じ動画はYouTube本体のページも検索結果の候補になるため、どちらが表示されるかはGoogleの判断になります。

表示速度の対策として、YouTubeの埋め込みを画像に置き換え、クリックされてから読み込む方式(いわゆるファサード)を使うプラグインやテーマがあります。この方式ではページの読み込み時に動画の埋め込みがHTMLに存在しないため、Googleが動画を見つけられない場合があります。採用する場合は、後述の構造化データで動画の存在を明示し、URL検査で動画が検出されているかを確認してください。

動画ファイルを自サイトに置く場合

メディアライブラリにアップロードした動画を「動画」ブロックで配置すると、<video> タグで出力されます。この場合は、Googleが動画ファイルとサムネイル画像の両方を取得できる必要があります。robots.txtで wp-content/uploads をブロックしていないか、セキュリティプラグインやCDNの設定でGooglebotからのアクセスを拒否していないかを確認してください。動画ブロックの「ポスター画像」を設定しておくと、サムネイルとしても使えます。

自サイトに動画を置く方法はサーバーの転送量やディスク容量を消費します。長い動画や再生回数の多い動画は、YouTubeや動画配信サービスに置いて埋め込むほうが運用は楽になります。

VideoObjectの構造化データを追加する

構造化データを使うと、動画のタイトル、説明、サムネイル、公開日、長さなどをGoogleに明示できます。Googleのドキュメントでは、name、thumbnailUrl、uploadDate が必須のプロパティとされ、description、contentUrl、embedUrl、duration などが推奨プロパティです(2026年10月現在。項目は変わることがあるので、実装前に公式ドキュメントを確認してください)。

Rank MathやYoast SEO(動画用の有料アドオン)など、動画の構造化データを出力できるSEOプラグインがあります。すでにプラグインで出力している場合は、以下のコードを追加すると二重になるので使わないでください。

プラグインを使わない場合は、子テーマの functions.php か独自プラグインに次のようなコードを追加します。投稿のカスタムフィールド video_embed_url(埋め込みURL)または video_content_url(動画ファイルのURL)と、video_duration(長さ)を入力した投稿にだけ出力し、サムネイルにはアイキャッチ画像を使います。

<?php
// 動画ページに VideoObject の構造化データを出力する
add_action( 'wp_head', function () {
	if ( ! is_singular( 'post' ) ) {
		return;
	}

	$post_id     = get_queried_object_id();
	$embed_url   = get_post_meta( $post_id, 'video_embed_url', true );   // 例: https://www.youtube.com/embed/xxxxxxxxxxx
	$content_url = get_post_meta( $post_id, 'video_content_url', true ); // 例: https://example.com/wp-content/uploads/sample.mp4
	$duration    = get_post_meta( $post_id, 'video_duration', true );    // ISO 8601 形式。例: PT4M30S
	$thumbnail   = get_the_post_thumbnail_url( $post_id, 'full' );

	// 動画URLかサムネイル(必須項目)が無ければ出力しない
	if ( ( ! $embed_url && ! $content_url ) || ! $thumbnail ) {
		return;
	}

	$data = array(
		'@context'     => 'https://schema.org',
		'@type'        => 'VideoObject',
		'name'         => wp_strip_all_tags( get_the_title( $post_id ) ),
		'description'  => wp_strip_all_tags( get_the_excerpt( $post_id ) ),
		'thumbnailUrl' => array( esc_url_raw( $thumbnail ) ),
		'uploadDate'   => get_the_date( 'c', $post_id ),
	);

	if ( $embed_url ) {
		$data['embedUrl'] = esc_url_raw( $embed_url );
	}
	if ( $content_url ) {
		$data['contentUrl'] = esc_url_raw( $content_url );
	}
	if ( $duration && preg_match( '/^PT(?=\d)(\d+H)?(\d+M)?(\d+S)?$/', $duration ) ) {
		$data['duration'] = $duration;
	}

	// JSON_HEX_TAG で < > をエスケープし、タイトル等に含まれるタグで script 要素が壊れないようにする
	echo '<script type="application/ld+json">' . wp_json_encode( $data, JSON_UNESCAPED_UNICODE | JSON_HEX_TAG ) . '</script>' . "\n";
} );

uploadDate には投稿日を入れていますが、実際の動画の公開日と大きく違う場合は、カスタムフィールドで別に持たせるほうが正確です。また、構造化データに書く内容は、ページ上で読者に見えている動画と一致させてください。ページにない動画の情報を書くことはガイドライン違反になります。

動画サイトマップを使うかどうか

WordPress標準のXMLサイトマップ(/wp-sitemap.xml)には動画の情報は含まれません。動画ページが少ないサイトなら、構造化データと通常のサイトマップで足りることがほとんどです。動画ページが数百本ある、新しい動画を早く見つけてほしい、といった場合は、動画サイトマップを出力できるプラグインの利用を検討してください。動画サイトマップは構造化データの代わりではなく、動画の存在をGoogleに知らせる補助的な手段です。

確認方法と改善の流れ

実装したら、次の順で確認します。

  1. Googleの「リッチリザルト テスト」に動画ページのURLを入力し、動画の構造化データが検出され、エラーがないかを見る
  2. Search Consoleの「URL検査」で同じURLを調べ、公開URLをテストして動画が検出されているかを確認する
  3. 数日から数週間後、Search Consoleの「インデックス作成」にある動画のレポートで、動画がインデックスされているか、されていない場合はどの理由に当たるかを確認する

動画のレポートで「動画がページのメインコンテンツではない」といった趣旨の理由が出る場合は、構造化データではなくページの作りに原因があります。動画の位置を上に移す、ページの主題を動画に合わせる、1ページの動画を1本に絞る、といった対処を検討してください。サムネイルが取得できない理由であれば、画像のURLが公開されているか、robots.txtやアクセス制限でブロックしていないかを見直します。

まとめ

  • 動画カルーセルはGoogle検索結果の機能で、サイト内の動画スライダーとは関係がない
  • 動画がページのメインコンテンツになっている視聴ページを作ることが前提条件
  • YouTubeの埋め込みでも自サイトの動画でもよいが、ファサード方式や配信制限でGoogleが動画を見つけられない状態に注意する
  • VideoObjectの構造化データで名前・サムネイル・公開日などを伝え、プラグインとの二重出力を避ける
  • リッチリザルト テスト、URL検査、Search Consoleの動画レポートで、検出とインデックスの状況を確認する

お気軽にご相談ください

お見積りへ お問い合わせへ
▲