Спецификация подкаста Schema.org

В этом разделе представлены подробные сведения о свойствах разметки контента для подкастов.

Спецификация PodcastSeries

PodcastSeries — это представление серии подкастов, которую также называют «шоу» подкастов.

Свойство Приоритет Тип Описание
@context Необходимый Текст Контекст Schema.org. Всегда устанавливайте значение [http://schema.googleapis.com,{@language}:xx}] , где в коде языка должен стоять xx . Это устанавливает язык по умолчанию, используемый для текстовых значений в сущности.
@type Необходимый Текст Всегда устанавливайте PodcastSeries .
@id Необходимый Текст Глобальный уникальный идентификатор серии подкастов в формате URI. Идентификатор должен быть стабильным и не меняться со временем. Он рассматривается как непрозрачная строка и не обязательно должен быть рабочей ссылкой. Домен, используемый для значения @id должен принадлежать вашей организации.
url Необходимый Текст Канонический URL-адрес на вашем веб-сайте, где представлена ​​или описана серия подкастов. Это должно быть глобально уникальным. Эта ссылка помогает точно согласовать контент вашего канала с контентом в базах данных Google. Для воспроизведения используйте target.urlTemplate подробно описанный в разделе ListenAction документации.
name Необходимый Текст

Название серии подкастов. Включайте только одно имя на каждом языке.

Используйте массив, чтобы разметить описание на нескольких языках. См. пример нескольких регионов и языков .

description Необходимый Текст

Краткое содержание серии подкастов.

Используйте массив, чтобы разметить описание на нескольких языках. См. пример нескольких регионов и языков .

alternativeHeadline Необязательный Текст Субтитры серии подкастов.
author Необходимый

Человек или организация

повторенный

Человек или группа, которые разрабатывают или проводят шоу. Часто обращается к хозяину. Примеры и подробную информацию см. в разделе Организация, Лицо (автор/издатель) .
publisher Необязательный

Человек или организация

повторенный

Исходная группа или сеть, ответственная за публикацию шоу. Часто относится к организации, ответственной за публикацию/производство нескольких подкастов. Примеры и подробную информацию см. в разделе Организация, Лицо (автор/издатель) . Это поле настоятельно рекомендуется для устранения неоднозначности и должно быть указано там, где это применимо.
actor Необязательный

Человек или организация

повторенный

Актер подкаста. Примеры и подробности см. в разделе «Актер (хост/гость)» .
logo Необязательный

Объект изображения

повторенный

Изображение логотипа сериала. Предоставьте это как полностью описанный ImageObject . Обеспечьте максимально возможное разрешение. JPEG или PNG предпочтительнее. Подробности и примеры см. в разделе ImageObject (логотип) .
image Необходимый

Объект изображения

повторенный

Художественное изображение сериала. Предоставьте это как полностью описанный ImageObject . Обеспечьте максимально возможное разрешение. JPEG или PNG предпочтительнее. Подробную информацию и примеры см. в разделе ImageObject (логотип) .
isFamilyFriendly Необходимый логическое значение Указывает, подходит ли этот контент для семейного просмотра (то есть подходит ли контент для всех членов семьи, включая детей). Продукты Google могут использовать isFamilyFriendly чтобы определить, какой контент воспроизводить. Значение должно быть либо true , либо false .
inLanguage Необходимый Текст Язык содержания подкаста в формате ISO 639-1. Это значение можно использовать для выполнения пользовательских запросов, которые запрашивают содержимое на определенном языке.
genre Необходимый

Текст

повторенный

Категория или жанр серии подкастов. Например, вы можете следить за стандартными категориями подкастов .
endDate Необязательный Дата Дата выхода финального эпизода серии подкастов. Включайте это поле только тогда, когда серия уже закончена.
rssFeed Необходимый URL-адрес URL-адрес RSS-канала серии подкастов.
potentialAction Необходимый ListenAction Действие, которое должно быть запущено, чтобы пользователи могли прослушать контент. Подробности см. в ListenAction .
popularityScore Необязательный PopularityScoreSpecification Показатель популярности, помогающий определить приоритет обслуживания при наличии нескольких кандидатов. Подробную информацию и примеры см. в разделе PopularityScoreSpecification (popularityScore) .
keywords Необязательный

Текст

повторенный

Список ключевых слов, которые будут связаны с серией подкастов. Эти ключевые слова можно использовать для расширения пользовательских запросов, которые могут вызвать эту серию подкастов. Например, имена гостей, затронутые темы и т. д.
sameAs Необязательный URL-адрес URL-адрес сторонней (не входящей в ваш домен) справочной веб-страницы, которая однозначно указывает на идентичность элемента. Эта веб-страница используется для устранения неоднозначности, когда существует несколько похожих серий. Например, страница Википедии или домашняя страница серии подкастов. Это поле настоятельно рекомендуется для устранения неоднозначности серии.
releasedEvent Необязательный PublicationEvent или более конкретные подтипы — FeaturedEvent или ExclusiveEvent. Событие, знаменующее публикацию или выпуск серии подкастов. Событие публикации может отмечать первоначальный выпуск подкаста издателем, а более специализированные типы могут использоваться для обозначения эксклюзивности или особенности выпуска. Подробности и примеры см. в разделе PublicationEvent, FeaturedEvent, ExclusiveEvent (releasedEvent) . Обратите внимание, что пометка сериала как эксклюзивного или избранного подразумевает, что все эпизоды шоу являются эксклюзивными или избранными.
countryOfOrigin Необязательный Страна Страна расположения основных офисов продюсерской компании или лица, ответственного за подкаст.

Спецификация эпизода подкаста

PodcastEpisode — это представление эпизода на сайте Schema.org внутри PodcastSeries .

Свойство Приоритет Тип Описание
@context Необходимый Текст Контекст Schema.org. Всегда устанавливайте значение [http://schema.googleapis.com,{@language:xx}] где xx — это код языка. Это устанавливает язык символов по умолчанию, используемый для текстовых значений в фиде.
@type Необходимый Текст Всегда установлено значение PodcastEpisode .
@id Необходимый Текст Глобальный уникальный идентификатор эпизода подкаста в формате URI. Идентификатор должен быть стабильным и не меняться со временем. Он рассматривается как непрозрачная строка и не обязательно должен быть рабочей ссылкой. Ваша организация должна владеть доменом, используемым для значения @id .
url Необходимый Текст Канонический URL-адрес на вашем веб-сайте, по которому вы представляете или описываете выпуск подкаста. Это значение должно быть глобально уникальным. Эта ссылка используется для точного сопоставления содержания вашего фида с содержимым баз данных Google. Для воспроизведения используется target.urlTemplate , подробно описанный в разделе ListenAction документации.
name Необходимый Текст

Название эпизода подкаста.

На каждом языке должно быть только одно имя. Используйте массив, чтобы разметить описание на нескольких языках. См. пример нескольких регионов и языков .

description Необходимый Текст Описание выпуска подкаста.
alternativeHeadline Необходимый Текст Подзаголовок эпизода подкаста.
author Необходимый

Человек или организация

повторенный

Человек или группа, которые разрабатывают или реализуют эпизод. Это значение часто относится к хосту. Если автор тот же, что и шоу, вы можете повторно использовать информацию из сущности PodcastSeries . Примеры и подробную информацию см. в разделе Организация, Лицо (автор/издатель) .
publisher Необходимый

Человек или организация

повторенный

Исходная группа или сеть, ответственная за публикацию шоу. Часто относится к организации, ответственной за публикацию или производство нескольких подкастов. Примеры и подробности см. в разделе Организация, Лицо (автор/издатель) . Это поле настоятельно рекомендуется для устранения неоднозначности, и мы рекомендуем вам определить его везде, где это применимо.
actor Необходимый

Человек или организация

повторенный

Актер подкаста. Примеры и подробную информацию см. в разделе Актер (хост/гость) .
datePublished Необходимый Дата и время Дата и время выпуска эпизода подкаста. Это значение используется для сортировки последовательности эпизодов и устранения неоднозначности.
episodeNumber Необходимый Целое число Номер эпизода.
partOfSeries Необходимый ПодкастСерия PodcastSeries , в котором находится этот выпуск подкаста. Подробные сведения и примеры см. в разделе PodcastSeries(partOfSeries) .
partOfSeason Необязательный ПодкастСезон Для сериалов, состоящих из нескольких сезонов, это свойство предоставляет информацию о сезоне, а также номер и название сезона. Подробности и примеры см. в разделе PodcastSeason(partOfSeason) .
timeRequired Необходимый Продолжительность Продолжительность эпизода в формате ISO 8601.
image Необязательный

Объект изображения

повторенный

Художественное изображение сериала. Это должен быть полностью описанный ImageObject . Обеспечьте максимально возможное разрешение. JPEG или PNG предпочтительнее. Подробную информацию и примеры см. в разделе ImageObject (логотип) .
isFamilyFriendly Необходимый логическое значение Указывает, подходит ли этот контент для семейного просмотра (то есть подходит ли контент для всех членов семьи, включая детей). Продукты Google могут использовать isFamilyFriendly для определения воспроизводимого контента. Значение должно быть либо true , либо false .
inLanguage Необходимый Текст Язык контента эпизода подкаста в формате ISO 639-1. Используйте это значение для выполнения пользовательских запросов, которые запрашивают содержимое на определенном языке. Если контент на нескольких языках, укажите только один основной язык.
genre Необходимый

Текст

повторенный

Категория или жанр серии подкастов. Например, вы можете следить за стандартными категориями подкастов .
associatedMedia Необязательный Аудиообъект Аудиофайл эпизода подкаста. Подробности и примеры см. в разделе AudioObject(associatedMedia) .
potentialAction Необходимый СлушайДействие Действие, которое должно быть запущено, чтобы пользователи могли прослушать контент. Подробности смотрите в разделе ListenAction .
popularityScore Необязательный ПопулярностьОценкаСпецификация Показатель популярности, позволяющий определить приоритет обслуживания при наличии нескольких кандидатов. Подробности и примеры см. в разделе PopularityScoreSpecification .
keywords Необязательный

Текст

повторенный

Список ключевых слов, связанных с серией подкастов. Эти ключевые слова можно использовать для расширения пользовательских запросов, которые могут вызвать этот выпуск подкаста. Например, news , sports или history .
identifier Необходимый

Стоимость имущества

повторенный

Для PodcastEpisode используйте это свойство, чтобы предоставить GUID. GUID должен представлять собой идентификатор, который может глобально и уникально идентифицировать выпуски подкаста. Оно отличается от поля @id в эпизоде.

См., например, раздел PropertyValue (идентификатор) .

sameAs Необязательный URL-адрес URL-адрес сторонней (не входящей в ваш домен) справочной веб-страницы, которая однозначно указывает на идентичность элемента. Google использует эту веб-страницу для устранения неоднозначности, когда существует несколько похожих серий. Например, страница Википедии или домашняя страница выпусков подкаста. Обратите внимание, что справочная страница уровня серии не должна быть предоставлена ​​здесь. Мы настоятельно рекомендуем это поле для устранения неоднозначности эпизода.
releasedEvent Необязательный PublicationEvent или более конкретные подтипы — FeaturedEvent или ExclusiveEvent. Событие, отмечающее публикацию или выпуск эпизода подкаста. Событие публикации может отмечать первоначальный выпуск эпизода подкаста издателем, а более конкретные подтипы могут обозначать эксклюзивность или особенность выпуска. Подробности и примеры см. в разделе PublicationEvent, FeaturedEvent, ExclusiveEvent (releasedEvent) . Обратите внимание: указание сериала как эксклюзивного или избранного выше означает, что все эпизоды шоу являются эксклюзивными или избранными. Мы рекомендуем вам отмечать такие свойства на самом детальном уровне.
countryOfOrigin Необязательный Страна Страна расположения основных офисов продюсерской компании или лица, ответственного за подкаст.

ПодкастСерия (partOfSeries)

Используйте partOfSeries , чтобы установить связь между PodcastEpisode и его родительским PodcastSeries . Поскольку полная информация о PodcastSeries описана в отдельной сущности PodcastSeries , вам не нужно предоставлять полную информацию в partOfSeries . Вам нужно указать только следующие свойства:

Свойство Приоритет Тип Описание
@type Необходимый Текст Всегда устанавливайте PodcastSeries .
@id Необходимый URL-адрес Глобальный уникальный идентификатор серии в формате URI. Идентификатор должен совпадать с идентификатором всего объекта PodcastSeries в вашем фиде.
name Необходимый Текст Название серии подкастов.

Пример 1

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

PodcastSeason (partOfSeason)

PodcastSeason представляет информацию о сезоне PodcastEpisode и, что наиболее важно, номер сезона. Это свойство понадобится только в том случае, если серия подкастов имеет несколько сезонов.

Свойство Приоритет Тип Описание
@type Необходимый Текст Всегда устанавливайте PodcastSeason
@id Необходимый URL-адрес Глобальный уникальный идентификатор сезона в формате URI. Идентификатор должен быть стабильным и не меняться со временем. Он рассматривается как непрозрачная строка и не обязательно должен быть рабочей ссылкой.
seasonNumber Необходимый Целое число Номер сезона серии подкастов.
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-адрес Глобальный уникальный идентификатор организации или человека в формате URI. Идентификатор должен быть стабильным и не меняться со временем. Он рассматривается как непрозрачная строка и не обязательно должен быть рабочей ссылкой.
name Необходимый Текст Название организации или человека.
sameAs Необязательный URL-адрес URL-адрес сторонней (не входящей в ваш домен) справочной веб-страницы, которая однозначно указывает на идентичность элемента. Google использует эту веб-страницу для устранения неоднозначности, когда существует несколько похожих серий. Примеры могут включать страницу организации в Википедии или официальный сайт организации.

Пример 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-адрес Глобальный уникальный идентификатор организации или человека в формате URI. Идентификатор должен быть стабильным и не меняться со временем. Он рассматривается как непрозрачная строка и не обязательно должен быть рабочей ссылкой.
name Необходимый Текст Название организации или человека.
roleName Необходимый Текст «Хозяин» или «Гость».
sameAs Необязательный URL-адрес URL-адрес сторонней (не входящей в ваш домен) справочной веб-страницы, которая однозначно указывает на идентичность элемента. Google использует эту веб-страницу для устранения неоднозначности, когда существует несколько похожих серий. Примеры могут включать страницу организации в Википедии или официальный сайт организации.

Пример 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 Необязательный Целое число Высота изображения в пикселях.
width Необязательный Целое число Ширина изображения в пикселях.
contentUrl Необходимый URL-адрес URL-адрес, по которому может быть расположено изображение.
regionsAllowed Необязательный

Страна

повторенный

Страны, в которых разрешены СМИ:

  • Если не указано, предполагается, что изображение разрешено во всех языковых стандартах.
  • Чтобы отправлять разные изображения для каждого региона, добавьте несколько свойств ImageObject , каждое со своим набором стран и соответствующим URL-адресом изображения.

Страна (image.regionsAllowed)

Свойство Приоритет Тип Описание
@type Необходимый Текст Всегда устанавливайте Country.
name Необходимый Текст Код страны ISO 3166-1 альфа-2 . Например, GB , US .

Пример 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 (идентификатор)

Если у вас есть GUID для вашего контента, вы можете предоставить эти идентификаторы в поле identifier , чтобы повысить точность сверки вашего контента Google. Обратите внимание, что для PodcastEpisode требуется GUID. Оно должно отличаться от поля @id эпизода (не в вашем домене) и должно представлять исходный эпизод глобально и уникально во времени для всех источников.

Свойство Приоритет Тип Описание
@type Необходимый Текст Всегда установлено значение «PropertyValue».
propertyID Необходимый Текст Всегда устанавливайте GUID .
value Необходимый Текст GUID сериала или эпизода.

Пример 1

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

Спецификация PopularityScore (popularityScore)

popularityScore может помочь пользователям найти наиболее подходящий контент в тех случаях, когда критерии пользовательского запроса совпадают с несколькими объектами из вашего фида. Содержимое с наивысшим показателем популярности, доступным для региона пользователя, отображается пользователю, когда это значение доступно. По умолчанию для всего контента без этого поля рейтинг популярности равен 0 . Сравнение оценок происходит в пределах вашего полного каталога, поэтому убедитесь, что шкала одинакова для всех ваших фидов.

Свойство Приоритет Тип Описание
@type Необходимый Текст Всегда установлено значение PopularityScoreSpecification .
value Необходимый Числовой Положительное числовое значение для сравнения с другими объектами из вашего каталога на предмет приоритета обслуживания. Большее число означает более высокую популярность.
eligibleRegion Необязательный

Страна или текст

повторенный

Один регион или список регионов, к которым относится этот показатель популярности.

Если показатель популярности применяется во всем мире, в качестве текстового значения используйте earth .

Если необходимо указать конкретные регионы, используйте тип «Страна».

Если вы оставите это поле пустым, то для eligibleRegion по умолчанию будет установлено значение earth .

Страна (popularityScore.eligibleRegion)

Свойство Приоритет Тип Описание
@type Необходимый Текст Всегда устанавливайте Country .
name Необходимый Текст Код страны ISO 3166-1 альфа-2 . Например, GB , US .

Пример 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)

ПубликацияСобытие
Используйте этот объект, чтобы указать дату и место публикации шоу или эпизода (также называемого «датой выпуска» сериала или эпизода). Кроме того, publishedBy обозначает организацию, публикующую или распространяющую серию или эпизод подкаста.
ЭксклюзивноеСобытие
Используйте этот объект, чтобы обозначить, что поставщик имеет эксклюзивные права на распространение подкаста. Эксклюзивность может зависеть от региона и времени и должна включать поле организации, указывающее на эксклюзивного поставщика контента.
Рекомендуемое событие
Используйте этот объект, чтобы указать, что поставщик представляет подкаст потребителям (например, как «оригинал»).
Оригиналы отличаются от Эксклюзивных
Термин «оригиналы (показанные)» часто обозначает исключительные права на данный объект, что перегружает этот термин. Таким образом, предполагаемое значение должно быть разделено на две вышеуказанные категории. Исходная сущность также может быть эксклюзивной, и в этом случае releasedEvent может принимать массив с обоими типами событий в одной и той же сущности.

Обратите внимание: хотя эксклюзивность или особенность могут иметь схожие значения в каталоге поставщика, PublicationEvent в более общем смысле применяется для устранения неоднозначности сущностей и предоставления дополнительных метаданных о них, таких как дата выпуска сериала или эпизода.

Свойство Приоритет Тип Описание
@type Необходимый Текст Всегда установите одно из PublicationEvent , ExclusiveEvent или FeaturedEvent .
location Необходимый Страна Регион, в котором происходит событие публикации. Вы также можете использовать это для представления ограничений эксклюзивности и ограничений распространения объекта. Используйте коды 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 используется для предоставления необработанного медиафайла для эпизода подкаста.

Свойство Приоритет Тип Описание
@type Необходимый Текст Всегда устанавливайте AudioObject .
contentUrl Необходимый URL-адрес URL-адрес медиафайла.
contentSize Необходимый Целое число Размер медиафайла в байтах .
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 определяет ваши глубокие ссылки для воспроизведения и критерии для пользователей (например, местоположение, хронология, статус входа или подписки) для доступа к контенту.

Свойство Приоритет Тип Описание
@type Необходимый Текст Всегда устанавливайте ListenAction .
target Необходимый

EntryPoint

повторенный

Характеристики вашей глубокой ссылки с информацией о поддерживаемой платформе. Вы можете использовать несколько полей EntryPoint для определения разных глубоких ссылок для разных наборов платформ.
actionAccessibilityRequirement Необходимый

ActionAccessSpecification

повторенный

Определение требований пользователя для доступа к этому объекту. Если присутствует несколько ActionAccessSpecification , пользователь, соответствующий любому критерию спецификации, может получить доступ к содержимому.

EntryPoint (потенциалAction.target)

класс таблицы="фиксированный"> Свойство Приоритет Тип Описание @type Необходимый Текст Всегда устанавливайте EntryPoint . urlTemplate Необходимый URL-адрес Ссылка, которая используется для запуска воспроизведения вашего контента. 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"

ActionAccessSpecification (потенциалAction.actionAccessibilityRequirement)

Свойство Приоритет Тип Описание
@type Необходимый Текст Всегда установлено значение ActionAccessSpecification .
category Необходимый Текст

Тип требования доступа. Это должно быть одно из следующих значений:

  • nologinrequired : действие доступно пользователю без покупки или входа в систему для доступа к контенту.
  • free : действие доступно без покупки или платной подписки, требующейся от пользователя. Это действие требует от пользователя входа в систему.
  • subscription : действие включено в платную подписку на ваш сервис.
availabilityStarts Необязательный Дата и время Время начала окна доступности. Вы можете использовать это, чтобы контролировать точное время, когда этот контент может быть доступен пользователям.
availabilityEnds Необязательный Дата и время Время окончания окна доступности. Вы можете использовать это, чтобы контролировать точное время, когда этот контент перестанет быть доступен пользователям.
eligibleRegion Необходимый

Страна

повторенный

Страна, которая имеет право на участие в этом предложении. Вы можете использовать это для управления страной или регионом, в котором этот контент должен быть доступен.
requiresSubscription Требуется, если применимо Медиаподписка Пакет подписки, необходимый для доступа к этому контенту. Если ваш сервис предлагает несколько пакетов подписки, это поле является обязательным. Если ваша услуга бесплатна или существует только один уровень подписки, вы можете пропустить это поле.

Страна (potentialAction.actionAccessibilityRequirement.eligibleRegion)

Свойство Приоритет Тип Описание
@type Необходимый Текст Всегда устанавливайте Country .
name Необходимый Текст Код страны ISO 3166-1 альфа 2 .

MediaSubscription (потенциалAction.actionAccessibilityRequirement.requiresSubscription)

Свойство Приоритет Тип Описание
@type Необходимый Текст Всегда устанавливайте значение MediaSubscription .
@id Необходимый URL-адрес Глобальный уникальный идентификатор пакета подписки в формате URI. Идентификатор должен быть стабильным и не меняться со временем. Он рассматривается как непрозрачная строка и не обязательно должен быть рабочей ссылкой.
name Необходимый Текст Название пакета подписки. Например Premium , Basic .
expectsAcceptanceOf рекомендуемые Предложение Предложение, связанное с покупкой Подписки на Медиа. Вы можете использовать это, чтобы выразить стоимость подписки.

Предложение (potentialAction.actionAccessibilityRequirement.requiresSubscription.expectsAcceptanceOf)

Свойство Приоритет Тип Описание
@type Необходимый Текст Всегда устанавливайте значение Offer .
price Необходимый Число Цена подписки.
priceCurrency Необходимый Текст Валюта цены (в трехбуквенном формате 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"
            }
        }
    ]
}