ガイド付きレシピ構造化データで指定する動画にはcontentUrlプロパティが必須

[レベル: 上級]

ガイド付きレシピの拡張レポートを Search Console で利用できるように先日なりました

ガイド付きレシピが一般公開されたことに伴い、構造化データの要件に変更があったようです。
レシピ動画をマークアップする際の VideoObject タイプには contentUrl プロパティが必須になりました。

ガイド付きレシピに contentUrl エラーが発生

レシピの動画を VideoObject タイプで構造化データに追加している場合、contentUrl プロパティがないとエラーになります。

リッチリザルト テストでは対象外としてみなされます。

ガイド付きレシピの contentUrl エラー

videoプロパティに “項目「contentUrl」がありません” の警告が出ています。

ガイド付きレシピの contentUrl エラー

Search Console の拡張レポートでもエラーが出ているはずです。

レシピ構造化データでは動画は必須ではなく推奨

レシピの構造化データでは、動画のための video は必須のプロパティではありません。
推奨のプロパティです。

video プロパティを追加する際は、VideoObject タイプをエンベッドします(埋め込む)。

VideoObject タイプには次のいずれかまたは両方のプロパティを追加します。

  • contentUrl
  • embedUrl

レシピの動画をマークアップしたとしても、どちらか片方のプロパティを指定しさえすれば要件を満たします。
embedUrl があれば、contentUrl は必要ないはずです。
にもかかわらず、ガイド付きレシピではエラーになってしまいます。

つまりガイド付きレシピに関しては、contentUrlembedUrl の両方のプロパティが VideoObject タイプ には必要なのです。
通常のレシピ リッチリザルトとは要件が異なるのです。

ガイド付きレシピの「contentUrl がありません」警告の対処方法

ガイド付きレシピの「contentUrl がありません」警告の対処方法を説明します。

無視する

contentUrl が必要なのはガイド付きレシピの構造化データです。
検索結果の通常のリッチリザルトには影響しません。

スマートディスプレイでのレシピ案内を想定していないのであれば警告は無視できます。
それでも、検索結果のリッチリザルトとしては引き続き有効です。

contentUrl を追加する

もう 1 つの対処方法は、当然のことながら contentUrl プロパティの追加です。

contentUrl プロパティは、動画の実際のファイルの URL を指定します。
一方、embedUrl プロパティは動画を再生する URL です。

YouTube にアップロードした動画を構造化データで指定する場合は、embedUrl プロパティの URL は、埋め込みコードの iframe タグの src 要素で指定される URL になります(その動画が公開されている YouTube のページではないので注意)。

<iframe width="560" height="315" src="https://www.youtube.com/embed/Cwfr3qu_PkY" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

src="https://www.youtube.com/embed/xxxxxxxx" の部分(の URL)です。

肝心の contentUrl プロパティですが、YouTube にアップロードした動画のメディアファイルの実際の URL は取得できません(自作するかサードパーティ製のツールを使えば可能っぽい)。

レシピの動画は自分で作成しているはずです。
したがって、動画のメディアファイルは自分のサーバーにアップロードするといいでしょう。
自分のサーバーにアップロードした動画の URL を contentUrl プロパティに指定することでエラーは解決できます。

再生プレーヤーの embedUrl の URL とファイルの存在場所の contentUrl の URL のドメイン名が異なっていても何ら問題ありません。

なお、YouTube ではなく自分が管理するドメイン名のサイトで再生プレイヤー自体も提供していれば embedUrl とともに contentUrl の URL はすぐにわかるはずです。

ということで、ガイド付きレシピの contentUrl エラーの対処方法をまとめます。

  • ガイド付きレシピの提供を想定していなければ無視する(検索結果のリッチリザルトとしては有効)
  • contentUrl を追加する(YouTube 動画を利用している場合は、動画ファイルは自分のサーバーにもアップロードする)

ガイド付きレシピで動画プロパティを追加するときは contentUrlembedUrl の両方が必要だとデベロッパーガイドに Google は明記すべきですね。