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

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

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

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

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

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

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

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

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

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

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

Лицо или организация

повторный

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

Лицо или организация

повторный

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

Лицо или организация

повторный

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

ImageObject

повторный

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

ImageObject

повторный

Художественное изображение серии. Предоставьте это как полностью описанный 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 должен быть стабильным и не меняться со временем. Он рассматривается как непрозрачная строка и не обязательно должен быть рабочей ссылкой. Ваша организация должна владеть доменом, используемым для значения @id .
url Необходимый Текст Канонический URL-адрес на вашем веб-сайте, где вы представляете или описываете эпизод подкаста. Это значение должно быть глобально уникальным. Эта ссылка используется для точного сопоставления контента в вашем фиде с контентом в базах данных Google. Для воспроизведения используется target.urlTemplate , подробно описанный в разделе ListenAction документации.
name Необходимый Текст

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

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

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

Лицо или организация

повторный

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

Лицо или организация

повторный

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

Лицо или организация

повторный

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

ImageObject

повторный

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

Текст

повторный

Категория или жанр серии подкастов. Например, вы можете следить за стандартными категориями подкастов .
associatedMedia По желанию АудиоОбъект Аудиофайл эпизода подкаста. Дополнительные сведения и примеры см. в разделе AudioObject(associatedMedia) .
potentialAction Необходимый ListenAction Действие, которое должно инициироваться пользователями для прослушивания содержимого. Подробнее см. в разделе ListenAction .
popularityScore По желанию PopularityScoreSpecification Показатель популярности для определения приоритета обслуживания при наличии нескольких кандидатов. Подробности и примеры см. в разделе 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"
},

Сезон подкастов (partOfSeason)

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

Имущество приоритет Тип Описание
@type Необходимый Текст Всегда установлено значение PodcastSeason
@id Необходимый URL-адрес Глобальный уникальный идентификатор сезона в формате URI. ID должен быть стабильным и не меняться со временем. Он рассматривается как непрозрачная строка и не обязательно должен быть рабочей ссылкой.
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. ID должен быть стабильным и не меняться со временем. Он рассматривается как непрозрачная строка и не обязательно должен быть рабочей ссылкой.
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. ID должен быть стабильным и не меняться со временем. Он рассматривается как непрозрачная строка и не обязательно должен быть рабочей ссылкой.
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 alpha-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"
      }
    ]
  },
],

Значение свойства (идентификатор)

Если у вас есть идентификаторы GUID для вашего контента, вы можете указать эти идентификаторы в поле identifier , чтобы повысить точность сверки 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 По желанию

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

повторный

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

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

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

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

Страна (popularityScore.eligibleRegion)

Имущество приоритет Тип Описание
@type Необходимый Текст Всегда устанавливайте Country .
name Необходимый Текст Код страны ISO 3166-1 alpha-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 (релизедевент)

ПубликацияСобытие
Используйте этот объект для представления даты и места публикации шоу или эпизода (также известного как «дата выпуска» сериала или эпизода). Кроме того, поле publishBy обозначает 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 (потенциальное действие)

ListenAction определяет ваши глубокие ссылки для воспроизведения и критерии для пользователей (например, географический, хрональный, логин или статус подписки) для доступа к содержимому.

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

EntryPoint

повторный

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

ActionAccessSpecification

повторный

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

Точка входа (potentialAction.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 (potentialAction.actionAccessibilityRequirement)

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

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

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

Страна

повторный

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

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

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

MediaSubscription (potentialAction.actionAccessibilityRequirement.requiresSubscription)

Имущество приоритет Тип Описание
@type Необходимый Текст Всегда устанавливайте MediaSubscription .
@id Необходимый URL-адрес Глобальный уникальный идентификатор пакета подписки в формате URI. ID должен быть стабильным и не меняться со временем. Он рассматривается как непрозрачная строка и не обязательно должен быть рабочей ссылкой.
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"
            }
        }
    ]
}