В этом разделе представлены подробные сведения о свойствах разметки контента для подкастов.
Спецификация 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 | Необходимый | Стоимость имущества повторенный | Для См., например, раздел 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 | Необязательный | Страна повторенный | Страны, в которых разрешены СМИ:
|
Страна (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 | Необязательный | Страна или текст повторенный | Один регион или список регионов, к которым относится этот показатель популярности. Если показатель популярности применяется во всем мире, в качестве текстового значения используйте Если необходимо указать конкретные регионы, используйте тип «Страна». Если вы оставите это поле пустым, то для |
Страна (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 для определения разных глубоких ссылок для разных наборов платформ. |
actionAccessibilityRequirement | Необходимый | повторенный | Определение требований пользователя для доступа к этому объекту. Если присутствует несколько ActionAccessSpecification , пользователь, соответствующий любому критерию спецификации, может получить доступ к содержимому. |
EntryPoint (потенциалAction.target)
@type
EntryPoint
.urlTemplate
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 | Необходимый | Текст | Тип требования доступа. Это должно быть одно из следующих значений:
|
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"
}
}
]
}