ポッドキャスト Schema.org の仕様

このセクションでは、ポッドキャストのコンテンツ マークアップ プロパティについて詳しく説明します。

PodcastSeries の仕様

PodcastSeries は、ポッドキャスト シリーズを表します。ポッドキャスト「番組」とも呼ばれます。

プロパティ 優先度 タイプ 説明
@context 必須 テキスト Schema.org のコンテキスト。常に [http://schema.googleapis.com,{@language}:xx}] に設定します。xx は言語コードにする必要があります。これにより、エンティティ内のテキスト値に使用されるデフォルトの言語が設定されます。
@type 必須 テキスト 常に PodcastSeries に設定。
@id 必須 テキスト ポッドキャスト シリーズのグローバルに一意の ID(URI 形式)。ID は固定されており、時間の経過とともに変化してはなりません。不透明型の文字列として扱われ、有効なリンクである必要はありません。@id 値に使用するドメインは、プロバイダの組織が所有している必要があります。
url 必須 テキスト ポッドキャスト シリーズの紹介または説明が掲載されているウェブサイトの正規 URL。これはグローバルに一意である必要があります。このリンクは、フィード内のコンテンツと Google のデータベース内のコンテンツを正確に照合するために役立ちます。再生には、ドキュメントの ListenAction セクションで説明されている target.urlTemplate を使用します。
name 必須 テキスト

ポッドキャスト シリーズの名前。言語ごとに 1 つの名前のみを含めます。

複数の言語で説明をマークアップするには、配列を使用します。複数の地域と言語の例をご覧ください。

description 必須 テキスト

ポッドキャスト シリーズのあらすじ。

複数の言語で説明をマークアップするには、配列を使用します。 複数の地域と言語の例をご覧ください。

alternativeHeadline 任意 テキスト ポッドキャスト シリーズの字幕。
author 必須

Person または Organization

repeated

番組を開発または配信する個人またはグループ。多くの場合、ホストを指します。例と詳細については、組織、人物(著者/出版社)をご覧ください。
publisher 任意

Person または Organization

repeated

番組の公開を担当する元のグループまたはネットワーク。多くの場合、複数のポッドキャストの公開や制作を担当する組織を指します。例と詳細については、組織、個人(著者/出版社)をご覧ください。このフィールドは、あいまいさを解消するために強く推奨され、該当する場合は必ず指定する必要があります。
actor 任意

Person または Organization

repeated

ポッドキャストの出演者。例と詳細については、アクタ(ホスト/ゲスト)セクションをご覧ください。
logo 任意

ImageObject

repeated

シリーズのロゴ画像。詳細を記述した ImageObject として提供してください。使用可能な最高解像度を指定します。JPEG または PNG 形式を推奨します。詳細と例については、ImageObject(ロゴ)のセクションをご覧ください。
image 必須

ImageObject

repeated

シリーズのアートワーク画像。詳細な説明を含む ImageObject として提供してください。使用可能な最高解像度を指定します。JPEG または PNG が推奨されます。詳細と例については、ImageObject(ロゴ)のセクションをご覧ください。
isFamilyFriendly 必須 ブール値 このコンテンツが家族向けかどうか(つまり、コンテンツが子供を含む家族全員に適しているかどうか)を示します。Google サービスでは、isFamilyFriendly を使用して再生するコンテンツを決定することがあります。値は true または false にする必要があります。
inLanguage 必須 テキスト ポッドキャスト コンテンツの言語(ISO 639-1 形式)。この値は、特定の言語のコンテンツをリクエストするユーザーのクエリを処理するために使用できます。
genre 必須

テキスト

repeated

ポッドキャスト シリーズのカテゴリまたはジャンル。たとえば、標準の ポッドキャスト カテゴリに沿って作成できます。
endDate 任意 日付 ポッドキャスト シリーズの最終エピソードのリリース日。このフィールドは、シリーズがすでに終了している場合にのみ含めます。
rssFeed 必須 URL ポッドキャスト シリーズの RSS フィードの URL。
potentialAction 必須 ListenAction ユーザーがコンテンツを再生する際にトリガーされるアクション。詳しくは、ListenAction をご覧ください。
popularityScore 任意 PopularityScoreSpecification 複数の候補がある場合に、配信の優先順位を決めるのに役立つ人気度スコア。詳細と例については、 PopularityScoreSpecification (popularityScore) セクションをご覧ください。
keywords 任意

テキスト

repeated

ポッドキャスト シリーズに関連付けるキーワードのリスト。これらのキーワードは、このポッドキャスト シリーズをトリガーするユーザーのクエリを拡張するために使用できます。たとえば、ゲストの名前、取り上げられたトピックなど。
sameAs 任意 URL 商品アイテムの ID を一義的に示すサードパーティ(お客様のドメイン外)の参照ウェブページの URL。このウェブページは、類似するシリーズが複数存在する場合の不明点解消に使用されます。たとえば、Wikipedia ページやポッドキャスト シリーズのホームページなどです。このフィールドは、シリーズの区別に強く推奨されます。
releasedEvent 任意 PublicationEvent、またはより具体的なサブタイプ - FeaturedEvent または ExclusiveEvent ポッドキャスト シリーズの公開またはリリースを示すイベント。公開イベントは、パブリッシャーによるポッドキャストの最初のリリースを記録できます。より特殊なタイプは、リリースの独占性や注目度を示すために使用できます。詳細と例については、PublicationEvent、FeaturedEvent、ExclusiveEvent(releasedEvent)のセクションをご覧ください。シリーズを限定公開または注目コンテンツとしてマークすると、その番組のすべてのエピソードが限定公開または注目コンテンツとしてマークされます。
countryOfOrigin 任意 ポッドキャストの制作会社または担当者の主要なオフィスがある国。

PodcastEpisode 仕様

PodcastEpisode は、PodcastSeries 内のエピソードの schema.org 表現です。

プロパティ 優先度 タイプ 説明
@context 必須 テキスト Schema.org のコンテキスト。常に [http://schema.googleapis.com,{@language:xx}] に設定します。ここで、xx は言語コードです。これにより、フィード内のテキスト値に使用されるデフォルトの文字言語が設定されます。
@type 必須 テキスト 常に PodcastEpisode に設定。
@id 必須 テキスト ポッドキャスト エピソードのグローバルに一意の ID(URI 形式)。ID は固定されており、時間の経過とともに変化してはなりません。不透明型の文字列として扱われ、有効なリンクである必要はありません。@id 値に使用するドメインは、組織が所有している必要があります。
url 必須 テキスト ポッドキャスト エピソードの紹介または説明が掲載されているウェブサイトの正規 URL。この値はグローバルに一意である必要があります。このリンクは、フィード内のコンテンツを Google のデータベースのコンテンツと正確に対応させるために使用されます。再生には、ドキュメントの ListenAction セクションで説明されている target.urlTemplate が使用されます。
name 必須 テキスト

ポッドキャスト エピソードのタイトル。

言語ごとに 1 つのみ指定できます。複数の言語で説明をマークアップするには、配列を使用します。複数のリージョンと言語の例をご覧ください。

description 必須 テキスト ポッドキャスト エピソードの説明。
alternativeHeadline 必須 テキスト ポッドキャスト エピソードのサブタイトル。
author 必須

Person または Organization

repeated

エピソードを制作または配信する個人またはグループ。この値は多くの場合、ホストを参照します。作成者が番組と同じ場合は、PodcastSeries エンティティの情報を再利用できます。例と詳細については、組織、人物(著者/出版社)をご覧ください。
publisher 必須

Person または Organization

repeated

番組の公開を担当する元のグループまたはネットワーク。多くの場合、複数のポッドキャストの公開または制作を担当する組織を指します。例と詳細については、組織、個人(著者/出版社)をご覧ください。このフィールドは、あいまいさを解消するために強く推奨され、該当する場合は定義することをおすすめします。
actor 必須

Person または Organization

repeated

ポッドキャストの出演者。例と詳細については、アクタ(ホスト/ゲスト)セクションをご覧ください。
datePublished 必須 日時 ポッドキャスト エピソードのリリース日時。この値は、エピソードの順序と不一致の解消に使用されます。
episodeNumber 必須 Integer エピソード番号。
partOfSeries 必須 PodcastSeries このポッドキャスト エピソードが含まれている PodcastSeries。詳細と例については、PodcastSeries(partOfSeries) をご覧ください。
partOfSeason 任意 PodcastSeason 複数シーズンのシリーズの場合、このプロパティには、シーズン番号とシーズン名とともにシーズン情報が含まれます。詳細と例については、PodcastSeason(partOfSeason) をご覧ください。
timeRequired 必須 所要時間 エピソードの長さ(ISO 8601 期間形式)。
image 任意

ImageObject

repeated

シリーズのアートワーク画像。これは、完全に記述された ImageObject である必要があります。使用可能な最高解像度を指定します。JPEG または PNG 形式を推奨します。詳細と例については、ImageObject(ロゴ)のセクションをご覧ください。
isFamilyFriendly 必須 ブール値 このコンテンツが家族向けかどうか(つまり、コンテンツが子供を含む家族全員に適しているかどうか)を示します。Google プロダクトでは、再生するコンテンツを決定する際に isFamilyFriendly を使用することがあります。値は true または false にする必要があります。
inLanguage 必須 テキスト ポッドキャスト エピソードのコンテンツの言語(ISO 639-1 形式)。この値は、特定の言語のコンテンツをリクエストするユーザーのクエリを処理するために使用します。コンテンツが複数の言語で提供されている場合は、メインの言語を 1 つだけ指定します。
genre 必須

テキスト

repeated

ポッドキャスト シリーズのカテゴリまたはジャンル。たとえば、標準のポッドキャスト カテゴリに沿って作成できます。
associatedMedia 任意 AudioObject ポッドキャスト エピソードの音声ファイル。詳細と例については、AudioObject(associatedMedia) をご覧ください。
potentialAction 必須 ListenAction ユーザーがコンテンツを再生する際にトリガーされるアクション。詳細については、ListenAction セクションをご覧ください。
popularityScore 任意 PopularityScoreSpecification 複数の候補がある場合に配信の優先順位を決定する人気度スコア。詳細と例については、 PopularityScoreSpecification セクションをご覧ください。
keywords 任意

テキスト

repeated

ポッドキャスト シリーズに関連付けられているキーワードのリスト。これらのキーワードは、このポッドキャスト エピソードをトリガーするユーザーのクエリを拡張するために使用できます。たとえば、newssportshistory です。
identifier 必須

PropertyValue

repeated

PodcastEpisode の場合は、このプロパティを使用して GUID を指定します。GUID は、ポッドキャストのエピソードをグローバルで一意に識別できる ID である必要があります。これは、エピソードの @id フィールドとは異なります。

例については、PropertyValue(identifier)のセクションをご覧ください。

sameAs 任意 URL 商品アイテムの ID を一義的に示すサードパーティ(お客様のドメイン外)の参照ウェブページの URL。Google は、複数の類似シリーズが存在する場合に、このウェブページを使用して不明確さを解消します。たとえば、Wikipedia ページやポッドキャスト エピソードのホームページなどです。シリーズ レベルの参照ページはここで指定しないでください。エピソードの不一致を解消するために、このフィールドの使用を強くおすすめします
releasedEvent 任意 PublicationEvent、またはより具体的なサブタイプ - FeaturedEvent または ExclusiveEvent ポッドキャスト エピソードの公開またはリリースを示すイベント。公開イベントは、パブリッシャーによるポッドキャスト エピソードの最初のリリースを記録できます。より具体的なサブタイプは、リリースの独占性や注目度を表すことができます。詳細と例については、 PublicationEvent、FeaturedEvent、ExclusiveEvent(releasedEvent)のセクションをご覧ください。シリーズを限定公開または注目コンテンツとしてマークすると、その番組のすべてのエピソードが限定公開または注目コンテンツとしてマークされます。このようなプロパティは、最も細かいレベルでマークすることをおすすめします。
countryOfOrigin 任意 ポッドキャストの制作会社または担当者の主要なオフィスがある国。

PodcastSeries(partOfSeries)

partOfSeries を使用して、PodcastEpisode とその親 PodcastSeries の関係を確立します。PodcastSeries の詳細は個別の PodcastSeries エンティティで記述されているため、partOfSeries で詳細を指定する必要はありません。指定する必要があるプロパティは次のとおりです。

プロパティ 優先度 タイプ 説明
@type 必須 テキスト 常に PodcastSeries に設定。
@id 必須 URL シリーズのグローバルに一意の ID(URI 形式)。この ID は、フィード内の完全な PodcastSeries エンティティの ID と一致している必要があります。
name 必須 テキスト ポッドキャスト シリーズの名前。
  • 複数の言語で説明をマークアップするには、配列を使用します。 複数の地域と言語の例をご覧ください。

例 1

"partOfSeries": {
  "@type": "PodcastSeries",
  "@id": "http://www.tjpodcast.org/series?id=1",
  "name": "Radiolab"
},

PodcastSeason(partOfSeason)

PodcastSeasonPodcastEpisode のシーズン情報を表します。最も重要なのはシーズン番号です。このプロパティは、ポッドキャスト シリーズに複数のシーズンがある場合にのみ必要です。

プロパティ 優先度 タイプ 説明
@type 必須 テキスト 常に PodcastSeason に設定
@id 必須 URL シーズンのグローバルに一意の ID(URI 形式)。ID は固定されており、時間の経過とともに変化してはなりません。不透明型の文字列として扱われ、有効なリンクである必要はありません。
seasonNumber 必須 Integer ポッドキャスト シリーズのシーズン番号。
name 任意 テキスト ポッドキャスト シーズンの名前。

例 1

"partOfSeason": {
  "@type": "PodcastSeason",
  "@id": "http://www.tjpodcast.org/seriesx/season?id=1",
  "seasonNumber": 1,
  "name": "Radiolab Season 1"
},

組織、個人(著者または出版社)

プロパティ 優先度 タイプ 説明
@type 必須 テキスト 常に Organization または Person のいずれかに設定します。
@id 必須 URL 組織または個人のグローバルに一意の ID(URI 形式)。ID は固定されており、時間の経過とともに変化してはなりません。不透明型の文字列として扱われ、有効なリンクである必要はありません。
name 必須 テキスト 組織または個人の名前。
sameAs 任意 URL 商品アイテムの ID を一義的に示すサードパーティ(お客様のドメイン外)の参照ウェブページの URL。Google は、複数の類似シリーズが存在する場合に、このウェブページを使用して不明確さを解消します。たとえば、組織の Wikipedia ページや組織の公式ウェブサイトなどです。

例 1

"author": {
  "@type": "Organization",
  "@id": "https://www.tjpodcast.org/organization/wnyc",
  "sameAs": "https://en.wikipedia.org/wiki/WNYC",
  "name": "WNYC"
},

例 2

"author": {
  "@type": "Person",
  "@id": "https://www.tjpodcast.org/person/jad_abumrad",
  "sameAs": "https://en.wikipedia.org/wiki/Jad_Abumrad",
  "name": "Jad Abumrad"
},

アクター(ホストまたはゲスト)

プロパティ 優先度 タイプ 説明
@type 必須 テキスト 常に Organization または Person のいずれかに設定します。
@id 必須 URL 組織または個人のグローバルに一意の ID(URI 形式)。ID は固定されており、時間の経過とともに変化してはなりません。不透明型の文字列として扱われ、有効なリンクである必要はありません。
name 必須 テキスト 組織または個人の名前。
roleName 必須 テキスト [ホスト] または [ゲスト]。
sameAs 任意 URL 商品アイテムの ID を一義的に示すサードパーティ(お客様のドメイン外)の参照ウェブページの URL。Google は、複数の類似シリーズが存在する場合に、このウェブページを使用して不明確さを解消します。たとえば、組織の Wikipedia ページや組織の公式ウェブサイトなどです。

例 1

"actor":[{
  "@type": "PerformanceRole",
  "actor": {
    "@type": "Person",
    "@id": "https://www.tjpodcast.org/person/Roman",
    "name": {
      "@language":"en",
      "@value": "Roman Mars"
    },
    "roleName": "Host"
    "sameAs": "https://en.wikipedia.org/wiki/Roman",
  },
  "actor": {
    "@type": "Person",
    "@id": "https://www.tjpodcast.org/person/guest",
    "name":{
      "@language":"en",
      "@value": "Kurt Kohlstedt"
    },
    "roleName": "Guest"
   },
}]

ImageObject(ロゴまたは画像)

ImageObject は、コンテンツのロゴやアートワークを提供するために使用されます。

プロパティ 優先度 タイプ 説明
@type 必須 テキスト 常に ImageObject に設定。
height 任意 Integer 画像の高さ(ピクセル)。
width 任意 Integer 画像の幅(ピクセル単位)。
contentUrl 必須 URL 画像が配置されている URL。
regionsAllowed 任意

repeated

メディアが許可されている国:

  • 指定しなかった場合、すべてのロケールで画像の表示が許可されていると見なされます。
  • 地域ごとに異なる画像を配信するには、複数の ImageObject プロパティを追加して、それぞれに国のグループおよび対応する画像 URL を指定します。

国(image.regionsAllowed)

プロパティ 優先度 タイプ 説明
@type 必須 テキスト 常に Country. に設定
name 必須 テキスト ISO 3166-1 alpha-2 の国コード。例: GBUS

例 1

"logo": {
  "@type": "ImageObject",
  "height": "100",
  "width": "800",
  "contentUrl": "http://www.foo.com/img/67890.jpg",
},

例 2

"logo": [
  {
    "@type": "ImageObject",
    "height": "100",
    "width": "800",
    "contentUrl": "http://www.foo.com/img/67890.jpg",
    "regionsAllowed": [
      {
        "@type": "Country",
        "name": "US"
      },
      {
        "@type": "Country",
        "name": "GB"
      }
    ]
  },
  {
    "@type": "ImageObject",
    "height": "100",
    "width": "800",
    "contentUrl": "http://www.foo.com/img/12345.jpg",
    "regionsAllowed": [
      {
        "@type": "Country",
        "name": "IN"
      },
      {
        "@type": "Country",
        "name": "PK"
      }
    ]
  },
],

PropertyValue (identifier)

コンテンツの GUID がある場合は、identifier フィールドにこれらの ID を指定して、Google によるコンテンツの調整の精度を高めることができます。PodcastEpisode には GUID が必要です。これは、エピソードの @id フィールドとは異なる(ドメイン内ではない)もので、ソースのエピソードをグローバルに一意に表すもので、時間の経過とともにソース間で一意である必要があります。

プロパティ 優先度 タイプ 説明
@type 必須 テキスト 常に PropertyValue に設定します。
propertyID 必須 テキスト 常に GUID に設定。
value 必須 テキスト シリーズまたはエピソードの GUID。

例 1

"identifier": {
  "@type": "PropertyValue",
  "propertyID": "GUID",
  "value": "50204fe4-bc68-4b34-aae6-e73c700cc5ca"
},

PopularityScoreSpecification(popularityScore)

popularityScore は、ユーザーのクエリの条件がフィードの複数のエンティティと一致する場合に、ユーザーが最も適切なコンテンツにアクセスできるようにするのに役立ちます。この値が利用可能な場合、ユーザーの地域で利用可能な人気スコアが最も高いコンテンツがユーザーに提供されます。このフィールドが指定されていないコンテンツはすべて、デフォルトで人気度スコア 0 になります。スコアの比較はカタログ全体の範囲内で行われるため、すべてのフィードで基準が一致するようにしてください。

プロパティ 優先度 タイプ 説明
@type 必須 テキスト 常に PopularityScoreSpecification に設定。
value 必須 数値 カタログ内の他のエンティティと比較して配信優先度を決定する正の整数値。数値が大きいほど人気度が高いことを表します。
eligibleRegion 任意

国またはテキスト

repeated

この人気度スコアを適用する 1 つの地域または地域のリスト。

人気度スコアがグローバルに適用される場合は、テキスト値として earth を使用します。

特定の地域をリストに含める必要がある場合は、[Country] タイプを使用してください。

このフィールドを省略すると、eligibleRegion はデフォルトで earth になります。

国(popularityScore.eligibleRegion)

プロパティ 優先度 タイプ 説明
@type 必須 テキスト 常に Country に設定。
name 必須 テキスト ISO 3166-1 alpha-2 の国コード。例: GBUS

例 1

"popularityScore": {
  "@type": "PopularityScoreSpecification",
  "value": 4.3,
  "eligibleRegion": "Earth"
},

例 2

"popularityScore": {
  "@type": "PopularityScoreSpecification",
  "value": 2,
  "eligibleRegion": {
    "@type": "Country",
    "name": "US"
  }
},

例 3

"popularityScore": {
  "@type": "PopularityScoreSpecification",
  "value": 101,
  "eligibleRegion": [
    {
      "@type": "Country",
      "name": "US"
    },
    {
      "@type": "Country",
      "name": "GB"
    }
  ]
},

PublicationEvent、FeaturedEvent、ExclusiveEvent(releasedEvent)

PublicationEvent
このオブジェクトは、番組またはエピソードの公開日と公開場所(シリーズまたはエピソードの「リリース日」とも呼ばれます)を表すために使用します。また、publishedBy フィールドは、ポッドキャスト シリーズまたはエピソードの公開または配信エンティティを表します。
ExclusiveEvent
このオブジェクトは、プロバイダがポッドキャストの独占配信権を持っていることを示すために使用します。独占配信は地域固有で期間限定に設定できます。コンテンツの独占配信プロバイダを指す組織フィールドを含める必要があります。
FeaturedEvent
このオブジェクトは、プロバイダがポッドキャストを消費者に紹介していることを表すために使用します(「オリジナル」など)。
オリジナルと限定コンテンツの違い
「オリジナル(注目)」という用語は、特定のエンティティに対する独占的権利を意味することが多く、用語が過負荷になっています。そのため、意図する意味は上記の 2 つのカテゴリに分類する必要があります。元のエンティティも排他的にすることもできます。この場合、releasedEvent には、同じエンティティの両方のタイプのイベントを含む配列を指定できます。

なお、独占配信や注目度が高いコンテンツはプロバイダのカタログ内で類似した意味を持つ場合がありますが、PublicationEvent はエンティティの不明確さを解消し、シリーズやエピソードのリリース日など、エンティティに関する追加のメタデータを提供するために、より一般的に適用されます。

プロパティ 優先度 タイプ 説明
@type 必須 テキスト 必ず PublicationEventExclusiveEventFeaturedEvent のいずれかに設定します。
location 必須 パブリケーション イベントが発生したリージョン。また、エンティティの独占制限と配信制限を表すために使用することもできます。国には ISO 3166 コードを使用します。グローバル セマンティクスを適用する必要がある場合は、EARTH に設定します。ロケール固有の制限が適用されない場合に備えて、location を明示的に EARTH に設定します。
startDate 推奨 (ExclusiveEvent の場合は必須) Date または DateTime エンティティの公開開始日。PublicationEvent の場合、このエンティティの最初のリリース日を示します。ExclusiveEvent または FeaturedEvent の場合、これはエンティティの独占性または注目度の開始日を表します。
endDate 推奨 (ExclusiveEvent の場合は必須) Date または DateTime エンティティの公開終了日。PublicationEvent の場合、このエンティティの最終公開日を示します。ExclusiveEvent または FeaturedEvent の場合、これはエンティティの独占性または注目度の終了日を表します。
publishedBy 必須 組織または個人 このエンティティを公開し、この公開イベントに適用される Organization または Person エンティティ。組織(著者/出版社)セクションで説明されているスキーマを使用してください。

例 1

"releasedEvent": [ {
  "@type": "PublicationEvent",
  "location": "EARTH",
  "startDate": "2016-04-21T20:00",
  "publishedBy": {
    "@type": "Organization",
    "@id": "https://www.tjpodcast.org/organization/wnyc",
    "sameAs": "https://en.wikipedia.org/wiki/WNYC",
    "name": "WNYC"
  },
 }, {
  "@type": "FeaturedEvent",
  "location": "US",
  "startDate": "2020-04-18T20:00",
  "endDate": "2020-04-21T20:00",
  "publishedBy": {
    "@type": "Organization",
    "@id": "https://www.tjpodcast.org/organization/tjpodcast",
    "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
    "name": "TJPodcast",
  },
 },
]

例 2

"releasedEvent": [ {
  "@type": "FeaturedEvent",
  "location": "US",
  "startDate": "2020-04-18T20:00",
  "endDate": "2020-05-21T20:00",
  "publishedBy": {
    "@type": "Organization",
    "@id": "https://www.tjpodcast.org/organization/tjpodcast",
    "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
    "name": "TJPodcast",
  },
 }, {
  "@type": "ExclusiveEvent",
  "location": "US",
  "startDate": "2020-04-18T20:00",
  "endDate": "2020-04-24T20:00",
  "publishedBy": {
    "@type": "Organization",
    "@id": "https://www.tjpodcast.org/organization/tjpodcast",
    "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
    "name": "TJPodcast",
  },
 }, {
  "@type": "ExclusiveEvent",
  "location": "CA",
  "startDate": "2020-04-21T20:00",
  "endDate": "2020-04-24T20:00",
  "publishedBy": {
    "@type": "Organization",
    "@id": "https://www.tjpodcast.org/organization/tjpodcast",
    "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
    "name": "TJPodcast",
  },
 }
]

AudioObject(associatedMedia)

AudioObject は、ポッドキャスト エピソードの元のメディア ファイルを提供するために使用されます。

プロパティ 優先度 タイプ 説明
@type 必須 テキスト 常に AudioObject に設定。
contentUrl 必須 URL メディア ファイルの URL。
contentSize 必須 Integer メディア ファイルのサイズ(バイト単位)。
encodingFormat 必須 テキスト メディア ファイルの IANA メディアタイプ。例: audio/mpeg
duration 必須 所要時間 メディアの長さ(ISO 8601 期間形式)。
transcript 任意 テキスト エピソードの文字起こし。
bitrate 任意 テキスト メディア ファイルのビットレート。
name 任意 テキスト メディア ファイルのファイル名。

例 1

"associatedMedia": {
    "@type": "AudioObject",
    "contentUrl": "https://www.tjpodcast.org/media_files/mp3/radiolab_podcast19.mp3",
    "duration": "PT5M32S",
    "contentSize": "53616000",
    "encodingFormat": "audio/mpeg",
    "name": "radiolab_podcast19.mp3",
    "transcript": "Transcript of the episode",
    "bitrate": "64Kbps"
},

ListenAction(potentialAction)

ListenAction エンティティには、再生用のディープリンクと、ユーザーがコンテンツにアクセスするための条件(地域、時間、ログイン、定期購入ステータスなど)を定義します。

プロパティ 優先度 タイプ 説明
@type 必須 テキスト 常に ListenAction に設定。
target 必須

EntryPoint

repeated

サポートされているプラットフォーム情報を含む、ディープリンクの仕様。複数の EntryPoint フィールドを使用して、プラットフォーム セットごとに異なるディープリンクを定義できます。
actionAccessibilityRequirement 必須

ActionAccessSpecification

repeated

このエンティティにアクセスするためのユーザー要件の定義。複数の ActionAccessSpecification が存在する場合、仕様の条件のいずれかに一致するユーザーがコンテンツにアクセスできます。

EntryPoint(potentialAction.target)

table class="fixed"> プロパティ 優先度 タイプ 説明 @type 必須 テキスト 常に EntryPoint に設定します。 urlTemplate 必須 URL コンテンツの再生を開始するために使用されるリンク。 actionPlatform 必須

テキスト

repeated

ディープリンクが有効なプラットフォーム。使用できる値は次のとおりです。

  • "http://schema.org/DesktopWebPlatform"
  • "http://schema.org/MobileWebPlatform"
  • "http://schema.org/AndroidPlatform"
  • "http://schema.org/AndroidTVPlatform"
  • "http://schema.org/IOSPlatform"
  • "http://schema.googleapis.com/GoogleAudioCast"
  • "http://schema.googleapis.com/GoogleVideoCast"

ActionAccessSpecification(potentialAction.actionAccessibilityRequirement)

プロパティ 優先度 タイプ 説明
@type 必須 テキスト 常に ActionAccessSpecification に設定。
category 必須 テキスト

アクセス要件の種類。次のいずれかの値を指定する必要があります。

  • nologinrequired: ユーザーは、コンテンツにアクセスするために購入またはログインをしなくても、アクションを使用できます。
  • free: ユーザーは、購入や有料登録を求められることなく、アクションを実行できます。ただし、ログインは必要です。
  • subscription: アクションを使用するには、サービスの有料登録が必要です。
availabilityStarts 任意 日時 サービス期間の開始時刻。これにより、このコンテンツをユーザーに提供する正確な開始時刻を管理できます。
availabilityEnds 任意 日時 サービス期間の終了時刻。これにより、このコンテンツをユーザーに公開する正確な終了時刻を管理できます。
eligibleRegion 必須

repeated

この特典を利用できる国。コンテンツを利用できる国または地域を管理するために使用できます。
requiresSubscription 必須(該当する場合) MediaSubscription このコンテンツにアクセスするために必要な定期購入パッケージ。サービスで複数の定期購入パッケージを提供している場合は、このフィールドが必要です。サービスが無料であるか、サブスクリプションの階層が 1 つしかない場合は、このフィールドをスキップできます。

国(potentialAction.actionAccessibilityRequirement.eligibleRegion)

プロパティ 優先度 タイプ 説明
@type 必須 テキスト 常に Country に設定。
name 必須 テキスト ISO 3166-1 alpha 2 の国コード。

MediaSubscription(potentialAction.actionAccessibilityRequirement.requiresSubscription)

プロパティ 優先度 タイプ 説明
@type 必須 テキスト 常に MediaSubscription に設定。
@id 必須 URL サブスクリプション パッケージのグローバルに一意の ID(URI 形式)。ID は固定されており、時間の経過とともに変化してはなりません。不透明型の文字列として扱われ、有効なリンクである必要はありません。
name 必須 テキスト サブスクリプション パッケージの名前。例: PremiumBasic
expectsAcceptanceOf 推奨 特典 メディア サブスクリプションの購入に関連付けられている特典。これを使用して、定期購入の価格を表現できます。

特典(potentialAction.actionAccessibilityRequirement.requiresSubscription.expectsAcceptanceOf)

プロパティ 優先度 タイプ 説明
@type 必須 テキスト 常に Offer に設定。
price 必須 数値 定期購入の価格。
priceCurrency 必須 テキスト 価格の通貨(3 文字の ISO 4217 形式)。
seller 推奨 組織 アクションの有料会員登録または購入を提供する組織。組織(著者/出版社)セクションで説明されているスキーマを使用します。

例 1

"potentialAction": {
    "@type": "ListenAction",
    "target": {
        "@type": "EntryPoint",
        "urlTemplate": "https://www.tjpodcast.org/?streamStationId=170",
        "actionPlatform": [
            "http://schema.org/DesktopWebPlatform",
            "http://schema.org/MobileWebPlatform",
            "http://schema.org/AndroidPlatform",
            "http://schema.org/AndroidTVPlatform",
            "http://schema.org/IOSPlatform",
            "http://schema.googleapis.com/GoogleAudioCast",
            "http://schema.googleapis.com/GoogleVideoCast"
        ]
    },
    "actionAccessibilityRequirement": {
        "@type": "ActionAccessSpecification",
        "category": "nologinrequired",
        "availabilityStarts": "2018-04-01T11:01:00-04:00",
        "availabilityEnds": "2018-06-30T23:59:00-04:00",
        "eligibleRegion": {
            "@type": "Country",
            "name": "US"
        }
    }
},

例 2

"potentialAction": {
    "@type": "ListenAction",
    "target": [
        {
            "@type": "EntryPoint",
            "urlTemplate": "https://www.tjpodcast.org/?streamStationId=170",
            "actionPlatform": [
                "http://schema.org/DesktopWebPlatform",
                "http://schema.org/MobileWebPlatform",
                "http://schema.org/AndroidPlatform",
                "http://schema.org/AndroidTVPlatform",
                "http://schema.org/IOSPlatform"
            ]
        },
        {
            "@type": "EntryPoint",
            "urlTemplate": "https://www.tjpodcast.org/castlink?streamStationId=170",
            "actionPlatform": [
                "http://schema.googleapis.com/GoogleAudioCast",
                "http://schema.googleapis.com/GoogleVideoCast"
            ]
        }
    ],
    "actionAccessibilityRequirement": [
        {
            "@type": "ActionAccessSpecification",
            "category": "nologinrequired",
            "availabilityStarts": "2018-04-01T11:01:00-04:00",
            "availabilityEnds": "2018-06-30T23:59:00-04:00",
            "eligibleRegion": [
                {
                    "@type": "Country",
                    "name": "IN"
                },
                {
                    "@type": "Country",
                    "name": "GB"
                }
            ]
        },
        {
            "@type": "ActionAccessSpecification",
            "category": "Subscription",
            "requiresSubscription": {
                "@type": "MediaSubscription",
                "@id": "http://www.example.com/packages/basic-pack",
                "name": "Basic Pack",
                "expectsAcceptanceOf": {
                    "@type": "Offer",
                    "price": 8.99,
                    "priceCurrency": "USD"
                }
            },
            "availabilityStarts": "2018-04-01T11:01:00-04:00",
            "availabilityEnds": "2018-06-30T23:59:00-04:00",
            "eligibleRegion": {
                "@type": "Country",
                "name": "US"
            }
        }
    ]
},

付録

完全な例

{
    "@context": "http://schema.org",
    "@type": "DataFeed",
    "dateModified": "2018-09-10T13:58:26.892Z",
    "dataFeedElement": [
        {
            "@context": [
                "http://schema.googleapis.com",
                {
                    "@language": "en"
                }
            ],
            "@type": "PodcastSeries",
            "@id": "http://www.tjpodcast.org/series?id=2",
            "url": "http://www.tjpodcast.org/series?id=2",
            "name": "Radiolab",
            "description": "A two-time Peabody Award-winner...",
            "alternativeHeadline": "Radiolab - Powered by WNYC",
            "sameAs": "https://en.wikipedia.org/wiki/Radiolab",
            "image": {
                "@type": "ImageObject",
                "height": "100",
                "width": "800",
                "contentUrl": "http://www.tjpodcast.org/img/2.jpg"
            },
            "logo": {
                "@type": "ImageObject",
                "height": "100",
                "width": "800",
                "contentUrl": "http://www.tjpodcast.org/logo/2/1.jpg"
            },
            "keywords": [
                "Science",
                "Technology",
                "Philosophy",
                "Education"
            ],
            "author": [
                {
                    "@type": "Person",
                    "@id": "https://www.tjpodcast.org/author/jad_abumrad",
                    "name": "Jad Abumrad",
                    "sameAs": "https://en.wikipedia.org/wiki/Jad_Abumrad"
                },
                {
                    "@type": "Person",
                    "@id": "https://www.tjpodcast.org/author/robert_krulwich",
                    "name": "Robert Krulwich",
                    "sameAs": "https://en.wikipedia.org/wiki/Robert_Krulwich"
                }
            ],
            "publisher": {
                "@type": "Organization",
                "name": "WNYC",
                "@id": "https://www.tjpodcast.org/network/wnyc_studios",
                "sameAs": "https://en.wikipedia.org/wiki/WNYC_Studios"
            },
            "isFamilyFriendly": "True",
            "inLanguage": "en",
            "genre": [
                "Science & Medicine",
                "Natural Sciences"
            ],
            "endDate": "2017-12-22T08:59:00",
            "rssFeed": "http://feeds.wnyc.org/radiolab",
            "potentialAction": {
                "@type": "ListenAction",
                "target": {
                    "@type": "EntryPoint",
                    "urlTemplate": "https://www.tjpodcast.org/?streamSeriesId=2",
                    "actionPlatform": [
                        "http://schema.org/DesktopWebPlatform",
                        "http://schema.org/MobileWebPlatform",
                        "http://schema.googleapis.com/GoogleAudioCast",
                        "http://schema.googleapis.com/GoogleVideoCast"
                    ]
                },
                "actionAccessibilityRequirement": {
                    "@type": "ActionAccessSpecification",
                    "category": "nologinrequired",
                    "availabilityStarts": "2018-04-01T11:01:00-04:00",
                    "availabilityEnds": "2019-12-30T23:59:00-04:00",
                    "eligibleRegion": {
                        "@type": "Country",
                        "name": "FR"
                    }
                }
            },
            "popularityScore": {
                "@type": "PopularityScoreSpecification",
                "value": 4.2
            }
        },
        {
            "@context": [
                "http://schema.googleapis.com",
                {
                    "@language": "en"
                }
            ],
            "@type": "PodcastEpisode",
            "@id": "http://www.tjpodcast.org/episode?id=1",
            "url": "http://www.tjpodcast.org/episode?id=1",
            "name": "A Clockwork Miracle",
            "description": "As legend goes, in 1562, King Philip II...",
            "sameAs": "https://www.wnycstudios.org/story/radiolab-clockwork-miracle",
            "image": {
                "@type": "ImageObject",
                "height": "100",
                "width": "800",
                "contentUrl": "http://www.tjpodcast.org/img/2/1.jpg"
            },
            "keywords": [
                "Education",
                "Philosophy",
                "Science",
            ],
            "partOfSeries": {
                "@type": "PodcastSeries",
                "@id": "http://www.tjpodcast.org/series?id=2",
                "name": "Radiolab",
                "sameAs": "https://en.wikipedia.org/wiki/Radiolab",
            },
            "episodeNumber": 101,
            "inLanguage": "en",
            "author": [
                {
                    "@type": "Person",
                    "@id": "https://www.tjpodcast.org/author/jad_abumrad",
                    "name": "Jad Abumrad",
                    "sameAs": "https://en.wikipedia.org/wiki/Jad_Abumrad"
                },
                {
                    "@type": "Person",
                    "@id": "https://www.tjpodcast.org/author/robert_krulwich",
                    "name": "Robert Krulwich",
                    "sameAs": "https://en.wikipedia.org/wiki/Robert_Krulwich"
                }
            ],
            "publisher": {
                "@type": "Organization",
                "name": "WNYC",
                "@id": "https://www.tjpodcast.org/network/wnyc_studios",
                "sameAs": "https://en.wikipedia.org/wiki/WNYC_Studios"
            },
            "isFamilyFriendly": "True",
            "genre": [
                "Science",
                "Philosophy",
                "Fiction"
            ],
            "datePublished": "2018-12-27T23:23:00Z",
            "timeRequired": "PT22M",
            "associatedMedia": {
                "@type": "AudioObject",
                "contentUrl": "https://www.tjpodcast.org/media_files/mp3/radiolab_podcast19.mp3",
                "duration": "PT21M45S",
                "contentSize": "53616000",
                "encodingFormat": "audio/mpeg",
                "transcript": "Transcript of the episode",
                "bitrate": "64Kbps"
            },
            "potentialAction": {
                "@type": "ListenAction",
                "target": {
                    "@type": "EntryPoint",
                    "urlTemplate": "https://www.tjpodcast.org/?streamEpisodeId=1",
                    "actionPlatform": [
                        "http://schema.org/DesktopWebPlatform",
                        "http://schema.org/MobileWebPlatform",
                        "http://schema.googleapis.com/GoogleAudioCast",
                        "http://schema.googleapis.com/GoogleVideoCast"
                    ]
                },
                "actionAccessibilityRequirement": {
                    "@type": "ActionAccessSpecification",
                    "category": "nologinrequired",
                    "availabilityStarts": "2018-04-01T11:01:00-04:00",
                    "availabilityEnds": "2019-12-30T23:59:00-04:00",
                    "eligibleRegion": {
                        "@type": "Country",
                        "name": "FR"
                    }
                }
            },
            "popularityScore": {
                "@type": "PopularityScoreSpecification",
                "value": 3.8
            },
            "identifier": [
                {
                    "@type": "PropertyValue",
                    "propertyID": "GUID",
                    "value": "53ff386e-e768-40b5-8854-1b7415826ded"
                }
            ]
        }
    ],
    "actor": [
        {
            "@type": "PerformanceRole",
            "actor": {
                "@type": "Person",
                "@id": "https://www.tjpodcast.org/person/Roman",
                "name": {
                    "@language": "en",
                    "@value": "Roman Mars"
                },
                "roleName": "Host",
                "sameAs": "https://en.wikipedia.org/wiki/Roman"
            },
            "actor": {
                "@type": "Person",
                "@id": "https://www.tjpodcast.org/person/guest",
                "name": {
                    "@language": "en",
                    "@value": "Kurt Kohlstedt"
                },
                "roleName": "Guest"
            }
        }
    ],
    "releasedEvent": [
        {
            "@type": "FeaturedEvent",
            "location": "US",
            "startDate": "2020-04-18T20:00",
            "endDate": "2020-05-21T20:00",
            "publishedBy": {
                "@type": "Organization",
                "@id": "https://www.tjpodcast.org/organization/tjpodcast",
                "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
                "name": "TJPodcast"
            }
        },
        {
            "@type": "ExclusiveEvent",
            "location": "US",
            "startDate": "2020-04-18T20:00",
            "endDate": "2020-04-24T20:00",
            "publishedBy": {
                "@type": "Organization",
                "@id": "https://www.tjpodcast.org/organization/tjpodcast",
                "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
                "name": "TJPodcast"
            }
        },
        {
            "@type": "ExclusiveEvent",
            "location": "CA",
            "startDate": "2020-04-21T20:00",
            "endDate": "2020-04-24T20:00",
            "publishedBy": {
                "@type": "Organization",
                "@id": "https://www.tjpodcast.org/organization/tjpodcast",
                "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
                "name": "TJPodcast"
            }
        }
    ]
}