Podcast Schema.org の仕様

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

PodcastSeries の仕様

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

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

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

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

description 必須 Text

ポッドキャスト シリーズの概要。

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

alternativeHeadline Optional Text ポッドキャスト シリーズの字幕。
author 必須

個人または組織

repeated

番組を開発または配信する個人またはグループ。多くの場合、ホストを指します。例と詳細については、Organization、Person(author/publisher)をご覧ください。
publisher Optional

個人または組織

repeated

番組の公開元となった元のグループまたはネットワーク。多くの場合、複数のポッドキャストの公開/作成を担当する組織を指します。例と詳細については、Organization, Person (author/publisher) をご覧ください。このフィールドは確認しやすくするために、指定することを強くおすすめします。
actor Optional

個人または組織

repeated

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

ImageObject

repeated

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

ImageObject

repeated

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

Text

repeated

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

Text

repeated

ポッドキャスト シリーズに関連付けられるキーワードのリスト。これらのキーワードは、このポッドキャスト シリーズをトリガーするユーザークエリを拡張するために使用できます。ゲストの名前、取り上げているトピックなど
sameAs Optional URL アイテムの ID を明確に示す、サードパーティ(ドメイン以外)の参照ウェブページの URL。このウェブページは、複数の類似シリーズが存在する場合の曖昧さ回避に使用されます。たとえば、Wikipedia やポッドキャスト シリーズのホームページなどです。シリーズの曖昧さ回避のために、このフィールドを強くおすすめします
releasedEvent Optional PublicationEvent、またはより具体的なサブタイプ - FEATUREEvent または ExclusiveEvent ポッドキャスト シリーズの公開またはリリースを示すイベント。パブリケーション イベントでは、パブリッシャーがポッドキャストの最初のリリースを公開できます。また、より特殊なタイプを使用することで、リリースの独占性や注目度を示すことができます。詳細と例については、PublicationEvent、FeatureEvent、ExclusiveEvent(releasedEvent)をご覧ください。シリーズを独占動画または注目動画としてマークすると、その番組のすべてのエピソードが独占動画またはおすすめ動画となります。
countryOfOrigin Optional Country 制作会社またはポッドキャスト責任者のオフィスの所在地。

ポッドキャスト エピソードの仕様

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

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

ポッドキャスト エピソードの名前。

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

description 必須 Text ポッドキャスト エピソードの説明。
alternativeHeadline 必須 Text ポッドキャスト エピソードの字幕。
author 必須

個人または組織

repeated

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

個人または組織

repeated

番組の公開元となった元のグループまたはネットワーク。多くの場合、複数のポッドキャストの公開または生成を担当する組織を指します。例と詳細については、Organization、Person(author/publisher)をご覧ください。このフィールドは、確認しやすくするために、使用することを強くおすすめします。
actor 必須

個人または組織

repeated

ポッドキャストのアクター。例と詳細については、アクター(ホスト/ゲスト)セクションをご覧ください。
datePublished 必須 日時 ポッドキャスト エピソードのリリースの日時。この値は、エピソードの順序と曖昧さを解消するために使用されます。
episodeNumber 必須 Integer エピソード番号
partOfSeries 必須 ポッドキャスト シリーズ このポッドキャスト エピソードが属する PodcastSeries。詳細と例については、PodcastSeries(partOfSeries) をご覧ください。
partOfSeason Optional ポッドキャストのシーズン マルチシーズン シリーズの場合、このプロパティはシーズン情報とシーズン番号、シーズン名を提供します。詳細と例については、PodcastSeason(partOfSeason) をご覧ください。
timeRequired 必須 所要時間 エピソードの長さ(ISO 8601 時間形式)。
image Optional

ImageObject

repeated

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

Text

repeated

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

Text

repeated

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

PropertyValue

repeated

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

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

sameAs Optional URL アイテムの ID を明確に示す、サードパーティ(ドメイン以外)の参照ウェブページの URL。Google では、類似した複数のシリーズが存在する場合に、曖昧さ回避のためにこのウェブページを使用します。たとえば、Wikipedia のページ、ポッドキャストのエピソードのホームページなどです。シリーズレベルのリファレンス ページは指定しないでください。エピソードを明確にするために、このフィールドを強くおすすめします
releasedEvent Optional PublicationEvent、またはより具体的なサブタイプ - FeatureEvent または ExclusiveEvent ポッドキャスト エピソードの公開またはリリースを示すイベント。パブリッシャー イベントは、パブリッシャーによるポッドキャスト エピソードの最初のリリースを示します。より具体的なサブタイプは、リリースの独占性や注目度を示します。詳細と例については、PublicationEvent、FEATUREEvent、ExclusiveEvent(releasedEvent)をご覧ください。上記のシリーズを独占動画または注目動画としてマークすると、その番組のすべてのエピソードが独占動画または注目動画として表示されることになります。このようなプロパティは、より細かく設定することをおすすめします。
countryOfOrigin Optional Country 制作会社またはポッドキャストを担当する個人のオフィスの所在地。

PodcastSeries(partOfSeries)

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

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

例 1

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

PodcastSeason(partOfSeason)

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

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

例 1

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

組織、担当者(著者またはパブリッシャー)

プロパティ 優先度 タイプ 説明
@type 必須 Text 常に Organization または Person に設定します。
@id 必須 URL 組織または個人のグローバルに一意の ID(URI 形式)。ID は安定し、時間の経過とともに変化しないようにする必要があります。これは不透明な文字列として扱われ、有効なリンクである必要はありません。
name 必須 Text 組織または個人の名前。
sameAs Optional 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 必須 Text 常に Organization または Person に設定します。
@id 必須 URL 組織または個人のグローバルに一意の ID(URI 形式)。ID は安定し、時間の経過とともに変化しないようにする必要があります。これは不透明な文字列として扱われ、有効なリンクである必要はありません。
name 必須 Text 組織または個人の名前。
roleName 必須 Text 「ホスト」または「ゲスト」。
sameAs Optional 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 必須 Text 常に ImageObject に設定されます。
height Optional Integer 画像の高さ(ピクセル単位)。
width Optional Integer 画像の幅(ピクセル単位)。
contentUrl 必須 URL 画像を配置できる URL。
regionsAllowed Optional

Country

repeated

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

  • 指定しない場合、画像はすべての言語 / 地域で許可されているものとみなされます。
  • 地域ごとに異なる画像を送信するには、複数の ImageObject プロパティを追加し、各プロパティに独自の国とそれに対応する画像の URL を指定します。

国(image.regionsAllowed)

プロパティ 優先度 タイプ 説明
@type 必須 Text 常に Country. に設定
name 必須 Text 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 を指定した場合は、これらの ID を identifier フィールドに指定することで、Google によるコンテンツの調整の精度を向上させることができます。PodcastEpisode には GUID が必要です。これは、エピソードの @id フィールド(ドメイン内にはない)とは異なる必要があり、ソース エピソードをグローバルに、時間の経過とともに、ソース全体で一意に表す必要があります。

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

例 1

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

RankityScoreSpecification(popularityScore)

popularityScore は、ユーザークエリの条件がフィードの複数のエンティティと一致する場合に、ユーザーが最適なコンテンツにアクセスできるようにします。ユーザーの地域で利用可能な人気スコアが最も高いコンテンツは、この値が利用可能であればユーザーに表示されます。このフィールドのないすべてのコンテンツはデフォルトで人気スコア 0 になります。スコアの比較は全カタログの範囲内で行われるため、すべてのフィードで評価の整合性を保つようにしてください。

プロパティ 優先度 タイプ 説明
@type 必須 Text 常に PopularityScoreSpecification に設定されます。
value 必須 数値 配信優先度に関して、カタログ内の他のエンティティと比較するための正の数値。数値が大きいほど人気度が高いことを示します。
eligibleRegion Optional

国またはテキスト

repeated

この人気度スコアが適用される 1 つのリージョンまたはリージョンのリスト。

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

特定のリージョンを表示する必要がある場合は、「国」タイプを使用してください。

このフィールドを省略すると、eligibleRegion がデフォルトで earth に設定されます。

国(popularityScore.eligibilityRegion)

プロパティ 優先度 タイプ 説明
@type 必須 Text 常に Country に設定されます。
name 必須 Text 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、FeatureEvent、ExclusiveEvent(releasedEvent)

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

独占性や注目度は、プロバイダのカタログ内で類似の意味を共有する場合もありますが、一般的には、エンティティの曖昧さ回避を有効にし、シリーズやエピソードのリリース日など、それに関する追加のメタデータを提供します。PublicationEvent

プロパティ 優先度 タイプ 説明
@type 必須 Text 常に PublicationEventExclusiveEventFeaturedEvent のいずれかに設定します。
location 必須 Country パブリケーション イベントが発生するリージョン。また、エンティティの独占的な制限や配信制限を示すためにも使用できます。ISO 3166 コードを使用してください。グローバル セマンティクスを適用する必要がある場合は、EARTH に設定します。ロケール固有の制限が適用できない場合は、location を明示的に EARTH に設定します。
startDate 推奨(ExclusiveEvent で必須) 日付または日時 エンティティの公開の開始日。PublicationEvent の場合、このエンティティの初期リリース日を示します。ExclusiveEvent または FeaturedEvent の場合、これはエンティティの排他的性または特徴的特徴の開始日を表します。
endDate 推奨(ExclusiveEvent で必須) 日付または日時 エンティティの公開の終了日。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(relatedMedia)

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

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

例 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 必須 Text 常に ListenAction に設定されます。
target 必須

EntryPoint

repeated

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

ActionAccessSpecification

repeated

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

EntryPoint(PotentialAction.target)

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

Text

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 必須 Text 常に ActionAccessSpecification に設定されます。
category 必須 Text

アクセス要件のタイプ。次のいずれかの値にする必要があります。

  • nologinrequired: ユーザーは、購入やログインをしなくてもコンテンツにアクセスできます。
  • free: ユーザーは、購入や有料会員登録をしなくてもアクションできます。この操作を行うには、ユーザーのログインが必要です。
  • subscription: アクションは、サービスの有料サブスクリプションに含まれています。
availabilityStarts Optional 日時 サービス期間の開始時刻。これを使用して、このコンテンツをユーザーに公開する正確なタイミングを制御できます。
availabilityEnds Optional 日時 サービス期間の終了時刻。これを使用して、このコンテンツのユーザーへの公開を停止するタイミングを正確に制御できます。
eligibleRegion 必須

Country

repeated

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

国(PotentialAction.actionAccessibilityRequirement.eligibilityRegion)

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

MediaSubscription(PotentialAction.actionAccessibilityRequirement.requiresSubscription)

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

特典(PotentialAction.actionAccessibilityRequirement.requiresSubscription.expectsAcceptanceOf)

プロパティ 優先度 タイプ 説明
@type 必須 Text 常に Offer に設定されます。
price 必須 数値 定期購入の価格。
priceCurrency 必須 Text 価格の通貨(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"
            }
        }
    ]
}