Especificação do Podcast Schema.org

Esta seção fornece os detalhes das propriedades de marcação de conteúdo para podcasts.

Especificação de PodcastSeries

PodcastSeries é a representação de uma série de podcasts, que também é chamada de "programa".

Propriedade Prioridade Tipo Descrição
@context Obrigatório Texto Contexto de schema.org. Sempre defina como [http://schema.googleapis.com,{@language}:xx}], em que o xx precisa estar no código de idioma. Isso define o idioma padrão usado para os valores de texto na entidade.
@type Obrigatório Texto Sempre defina como PodcastSeries.
@id Obrigatório Texto É um ID globalmente exclusivo da série de podcasts no formato de URI. O ID precisa ser estável e não pode mudar ao longo do tempo. Ele é tratado como uma string opaca e não precisa ser um link funcional. O domínio usado para o valor @id precisa ser de propriedade da sua organização.
url Obrigatório Texto É o URL canônico no seu site em que a série de podcasts é apresentada ou descrita. Ele precisa ser globalmente exclusivo. Esse link ajuda a reconciliar com precisão o conteúdo do feed com o conteúdo dos bancos de dados do Google. Para reprodução, use o target.urlTemplate detalhado na seção ListenAction da documentação.
name Obrigatório Texto

Nome da série de podcasts. Inclua apenas um nome por idioma.

Use uma matriz para marcar a descrição em vários idiomas. Consulte o exemplo de várias regiões e idiomas.

description Obrigatório Texto

Uma sinopse da série de podcasts.

Use uma matriz para marcar a descrição em vários idiomas. Consulte o exemplo de várias regiões e idiomas.

alternativeHeadline Opcional Texto Legendas da série de podcasts.
author Obrigatório

Pessoa ou organização

repetida

A pessoa ou grupo que desenvolve ou transmite o programa. Geralmente se refere ao host. Para conferir exemplos e detalhes, consulte Organização, pessoa (autor/editor).
publisher Opcional

Pessoa ou organização

repetida

O grupo ou a rede original responsável pela publicação do programa. Muitas vezes, se refere a uma organização responsável por publicar/produzir vários podcasts. Para conferir exemplos e detalhes, consulte Organização, pessoa (autor/editor). Esse campo é altamente recomendado para desambiguação e precisa ser fornecido sempre que aplicável.
actor Opcional

Pessoa ou organização

repetida

Ator do podcast. Para conferir exemplos e detalhes, consulte a seção Ator (host/convidado) .
logo Opcional

ImageObject

repetida

Uma imagem do logotipo da série. Forneça isso como um ImageObject totalmente descrito. Forneça a resolução mais alta disponível. JPEG ou PNG é o formato preferencial. Para detalhes e exemplos, consulte a seção ImageObject (logo).
image Obrigatório

ImageObject

repetida

Uma imagem da arte da série. Forneça isso como um ImageObject totalmente descrito. Forneça a resolução mais alta disponível. JPEG ou PNG é preferível. Consulte a seção ImageObject (logo) para conferir detalhes e exemplos.
isFamilyFriendly Obrigatório Booleano Indica se o conteúdo é adequado para famílias, ou seja, se ele é adequado para todos os membros de uma família, incluindo crianças. Os produtos do Google podem usar isFamilyFriendly para ajudar a determinar o conteúdo a ser reproduzido. O valor precisa ser true ou false.
inLanguage Obrigatório Texto O idioma do conteúdo do podcast no formato ISO 639-1. Esse valor pode ser usado para atender consultas de usuários que solicitam conteúdo em um idioma específico.
genre Obrigatório

Texto

repetida

A categoria ou o gênero da série de podcasts. Por exemplo, você pode seguir categorias padrão de podcasts.
endDate Opcional Data A data de lançamento do último episódio da série de podcasts. Inclua esse campo somente quando a série já estiver concluída.
rssFeed Obrigatório URL O URL do feed RSS da série de podcasts.
potentialAction Obrigatório ListenAction A ação a ser acionada para que os usuários ouçam o conteúdo. Para mais detalhes, consulte ListenAction.
popularityScore Opcional PopularityScoreSpecification Uma pontuação de popularidade para ajudar a determinar a prioridade de veiculação quando há vários candidatos. Consulte a seção PopularityScoreSpecification (popularityScore) para mais detalhes e exemplos.
keywords Opcional

Texto

repetida

Uma lista de palavras-chave que seriam associadas à série de podcasts. Essas palavras-chave podem ser usadas para expandir as consultas do usuário que podem acionar essa série de podcasts. Por exemplo, nomes de convidados, temas abordados etc.
sameAs Opcional URL É o URL de uma página da Web de referência de terceiros (fora do seu domínio) que indica claramente a identidade do item. Essa página da Web é usada para desambiguação quando há várias séries semelhantes. Por exemplo, uma página da Wikipédia ou a página inicial da série de podcasts. Esse campo é altamente recomendado para a desambiguação da série.
releasedEvent Opcional PublicationEvent ou subtipos mais específicos: FeaturedEvent ou ExclusiveEvent. O evento que marca a publicação ou o lançamento da série de podcasts. Um evento de publicação pode indicar o lançamento inicial de um podcast por um editor, e os tipos mais especializados podem ser usados para indicar a exclusividade ou a destaque do lançamento. Para detalhes e exemplos, consulte a seção PublicationEvent, FeaturedEvent, ExclusiveEvent (releasedEvent). Marcar uma série como exclusiva ou em destaque implica que todos os episódios do programa são exclusivos ou em destaque.
countryOfOrigin Opcional País O país dos principais escritórios da empresa de produção ou do indivíduo responsável pelo podcast.

Especificação de PodcastEpisode

PodcastEpisode é a representação do schema.org de um episódio em um PodcastSeries.

Propriedade Prioridade Tipo Descrição
@context Obrigatório Texto Contexto de schema.org. Sempre definido como [http://schema.googleapis.com,{@language:xx}], em que xx é o código do idioma. Isso define o idioma de caracteres padrão usado para os valores de texto no feed.
@type Obrigatório Texto Sempre defina como PodcastEpisode.
@id Obrigatório Texto É um ID globalmente exclusivo do episódio de podcast no formato de URI. O ID precisa ser estável e não pode mudar ao longo do tempo. Ele é tratado como uma string opaca e não precisa ser um link funcional. Sua organização precisa ser proprietária do domínio usado para o valor @id.
url Obrigatório Texto É o URL canônico do site em que você apresenta ou descreve o episódio do podcast. Esse valor precisa ser globalmente exclusivo. Esse link é usado para ajudar a reconciliar com precisão o conteúdo do feed com o conteúdo dos bancos de dados do Google. Para a reprodução, o target.urlTemplate detalhado na seção ListenAction da documentação é usado.
name Obrigatório Texto

Nome do episódio do podcast.

Só pode haver um nome por idioma. Use uma matriz para marcar a descrição em vários idiomas. Consulte o exemplo de várias regiões e idiomas.

description Obrigatório Texto Descrição do episódio do podcast.
alternativeHeadline Obrigatório Texto Subtítulo do episódio de podcast.
author Obrigatório

Pessoa ou organização

repetida

A pessoa ou o grupo que desenvolve ou entrega o episódio. Esse valor geralmente se refere ao host. Se o autor for o mesmo do programa, você poderá reutilizar as informações da entidade PodcastSeries. Para exemplos e detalhes, consulte Organização, pessoa (autor/editor).
publisher Obrigatório

Pessoa ou organização

repetida

O grupo ou a rede original responsável pela publicação do programa. Muitas vezes, se refere a uma organização responsável por publicar ou produzir vários podcasts. Consulte Organização, pessoa (autor/editor) para exemplos e detalhes. Esse campo é altamente recomendado para a desambiguação e recomendamos que você o defina sempre que for aplicável.
actor Obrigatório

Pessoa ou organização

repetida

Ator do podcast. Para conferir exemplos e detalhes, consulte a seção Ator (host/convidado).
datePublished Obrigatório Data/hora A data e a hora de lançamento do episódio do podcast. Esse valor é usado para classificar a sequência de episódios e a desambiguação.
episodeNumber Obrigatório Número inteiro O número do episódio.
partOfSeries Obrigatório PodcastSeries O PodcastSeries em que o episódio de podcast está. Consulte PodcastSeries(partOfSeries) para conferir detalhes e exemplos.
partOfSeason Opcional PodcastSeason Para séries com várias temporadas, essa propriedade fornece as informações da temporada, incluindo o número e o nome da temporada. Consulte PodcastSeason(partOfSeason) para detalhes e exemplos.
timeRequired Obrigatório Duração A duração do episódio no formato ISO 8601.
image Opcional

ImageObject

repetida

Uma imagem da arte da série. Precisa ser uma ImageObject totalmente descrita. Forneça a resolução mais alta disponível. JPEG ou PNG é o formato preferencial. Consulte a seção ImageObject (logo) para mais detalhes e exemplos.
isFamilyFriendly Obrigatório Booleano Indica se o conteúdo é adequado para famílias, ou seja, se ele é adequado para todos os membros de uma família, incluindo crianças. Os produtos do Google podem usar isFamilyFriendly para determinar o conteúdo a ser reproduzido. O valor precisa ser true ou false.
inLanguage Obrigatório Texto O idioma do conteúdo do episódio do podcast no formato ISO 639-1. Use esse valor para atender às consultas do usuário que solicitam conteúdo em um idioma específico. Se o conteúdo estiver em vários idiomas, liste apenas um idioma principal.
genre Obrigatório

Texto

repetida

A categoria ou o gênero da série de podcasts. Por exemplo, você pode seguir as categorias padrão de podcasts.
associatedMedia Opcional AudioObject O arquivo de áudio do episódio do podcast. Para detalhes e exemplos, consulte AudioObject(associatedMedia).
potentialAction Obrigatório ListenAction A ação a ser acionada para que os usuários ouçam o conteúdo. Para saber mais, consulte a seção ListenAction.
popularityScore Opcional PopularityScoreSpecification Uma pontuação de popularidade para determinar a prioridade de veiculação quando há vários candidatos. Para detalhes e exemplos, consulte a seção PopularityScoreSpecification.
keywords Opcional

Texto

repetida

Uma lista de palavras-chave associadas à série de podcasts. Essas palavras-chave podem ser usadas para expandir as consultas do usuário que podem acionar esse episódio de podcast. Por exemplo, news, sports ou history.
identifier Obrigatório

PropertyValue

repetida

Para PodcastEpisode, use essa propriedade para fornecer um GUID. O GUID precisa ser um ID que possa identificar globalmente e de forma exclusiva os episódios de um podcast. Ele é diferente do campo @id no episódio.

Consulte a seção PropertyValue (identificador) para exemplos.

sameAs Opcional URL É o URL de uma página da Web de referência de terceiros (fora do seu domínio) que indica claramente a identidade do item. O Google usa essa página da Web para fazer a desambiguação quando há várias séries semelhantes. Por exemplo, uma página da Wikipédia ou a página inicial dos episódios do podcast. A página de referência do nível da série não precisa ser fornecida aqui. Recomendamos esse campo para a desambiguação do episódio.
releasedEvent Opcional PublicationEvent ou subtipos mais específicos, como FeaturedEvent ou ExclusiveEvent. O evento que marca a publicação ou o lançamento do episódio do podcast. Um evento de publicação pode indicar o lançamento inicial de um episódio de podcast por um editor, e os subtipos mais específicos podem indicar exclusividade ou destaque do lançamento. Para detalhes e exemplos, consulte a seção PublicationEvent, FeaturedEvent, ExclusiveEvent (releasedEvent). Marcar uma série como exclusiva ou em destaque acima implica que todos os episódios do programa são exclusivos ou em destaque. Recomendamos que você marque essas propriedades no nível mais granular.
countryOfOrigin Opcional País O país dos principais escritórios da empresa de produção ou do indivíduo responsável pelo podcast.

PodcastSeries (partOfSeries)

Use o partOfSeries para estabelecer a relação entre um PodcastEpisode e o PodcastSeries pai dele. Como os detalhes completos do PodcastSeries são descritos na entidade PodcastSeries separada, não é necessário fornecer todos os detalhes em partOfSeries. Você só precisa fornecer as seguintes propriedades:

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre defina como PodcastSeries.
@id Obrigatório URL O ID globalmente exclusivo da série no formato de URI. O ID precisa corresponder ao ID da entidade PodcastSeries completa no seu feed.
name Obrigatório Texto O nome da série de podcasts.

Exemplo 1

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

PodcastSeason (partOfSeason)

O PodcastSeason representa as informações da temporada de um PodcastEpisode, principalmente o número da temporada. Você só vai precisar dessa propriedade quando a série de podcasts tiver várias temporadas.

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre definido como PodcastSeason
@id Obrigatório URL É um ID globalmente exclusivo da temporada no formato de URI. O ID precisa ser estável e não pode mudar ao longo do tempo. Ele é tratado como uma string opaca e não precisa ser um link funcional.
seasonNumber Obrigatório Número inteiro O número da temporada da série de podcasts.
name Opcional Texto O nome da temporada do podcast.

Exemplo 1

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

Organização, pessoa (autor ou editor)

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre defina como Organization ou Person.
@id Obrigatório URL Um ID globalmente exclusivo para a organização ou pessoa no formato de URI. O ID precisa ser estável e não pode mudar ao longo do tempo. Ele é tratado como uma string opaca e não precisa ser um link funcional.
name Obrigatório Texto O nome da organização ou da pessoa.
sameAs Opcional URL É o URL de uma página da Web de referência de terceiros (fora do seu domínio) que indica claramente a identidade do item. O Google usa essa página da Web para fazer a desambiguação quando há várias séries semelhantes. Exemplos podem incluir uma página da Wikipédia sobre uma organização ou o site oficial dela.

Exemplo 1

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

Exemplo 2

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

Ator (anfitrião ou convidado)

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre defina como Organization ou Person.
@id Obrigatório URL Um ID globalmente exclusivo para a organização ou pessoa no formato de URI. O ID precisa ser estável e não pode mudar ao longo do tempo. Ele é tratado como uma string opaca e não precisa ser um link funcional.
name Obrigatório Texto O nome da organização ou da pessoa.
roleName Obrigatório Texto "Host" ou "Convidado".
sameAs Opcional URL É o URL de uma página da Web de referência de terceiros (fora do seu domínio) que indica claramente a identidade do item. O Google usa essa página da Web para fazer a desambiguação quando há várias séries semelhantes. Exemplos podem incluir uma página da Wikipédia sobre uma organização ou o site oficial dela.

Exemplo 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 (logotipo ou imagem)

O ImageObject é usado para fornecer o logotipo ou a arte do conteúdo.

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre defina como ImageObject.
height Opcional Número inteiro Altura da imagem em pixels.
width Opcional Número inteiro Largura da imagem, em pixels.
contentUrl Obrigatório URL Um URL em que a imagem pode ser localizada.
regionsAllowed Opcional

País

repetida

Os países em que a mídia é permitida:

  • Se não for especificado, presumiremos que a imagem é permitida em todos os locais.
  • Para enviar imagens diferentes por região, adicione várias propriedades ImageObject, cada uma com um conjunto de países e um URL de imagem correspondente.

País (image.regionsAllowed)

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre definido como Country.
name Obrigatório Texto O código de país ISO 3166-1 alfa-2. Por exemplo, GB e US.

Exemplo 1

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

Exemplo 2

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

PropertyValue (identifier)

Se você tiver GUIDs para seu conteúdo, poderá fornecer esses IDs com o campo identifier para melhorar a precisão da reconciliação do Google do seu conteúdo. O GUID é obrigatório para PodcastEpisode. Ele precisa ser diferente do campo @id do episódio (não dentro do seu domínio) e representar o episódio de origem de forma global e única ao longo do tempo, em todas as fontes.

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre definido como "PropertyValue".
propertyID Obrigatório Texto Sempre defina como GUID.
value Obrigatório Texto O GUID da série ou do episódio.

Exemplo 1

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

PopularityScoreSpecification (popularityScore)

O popularityScore pode ajudar os usuários a acessar o conteúdo mais adequado em cenários em que os critérios da consulta do usuário correspondem a várias entidades do seu feed. O conteúdo com a maior pontuação de popularidade disponível para a região do usuário é veiculado quando esse valor está disponível. Todo conteúdo sem esse campo vai receber a pontuação de popularidade 0. A comparação de pontuação acontece no escopo do seu catálogo completo. Portanto, verifique se a escala é consistente em todos os feeds.

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre defina como PopularityScoreSpecification.
value Obrigatório Numérico Um valor numérico positivo para comparar com outras entidades do seu catálogo para definir a prioridade de veiculação. Um número maior representa uma popularidade maior.
eligibleRegion Opcional

País ou texto

repetida

Uma região ou uma lista de regiões onde esse índice de popularidade é aplicado.

Se a pontuação de popularidade for aplicada globalmente, use earth como o valor de texto.

Se regiões específicas precisarem ser listadas, use o tipo "País".

Se você deixar esse campo de fora, o padrão de eligibleRegion será earth.

País (popularityScore.eligibleRegion)

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre defina como Country.
name Obrigatório Texto O código de país ISO 3166-1 alfa-2. Por exemplo, GB e US.

Exemplo 1

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

Exemplo 2

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

Exemplo 3

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

PublicationEvent, FeaturedEvent, ExclusiveEvent (releasedEvent)

PublicationEvent
Use esse objeto para representar a data e o local de publicação de um programa ou episódio (também conhecido como "data de lançamento" de uma série ou episódio). Além disso, o campo publishedBy denota a entidade de publicação ou distribuição da série ou do episódio do podcast.
ExclusiveEvent
Use este objeto para indicar que o provedor tem direitos de distribuição exclusivos para o podcast. A exclusividade pode ser específica para a região e limitada no tempo e precisa incluir o campo de organização que aponta para o provedor exclusivo do conteúdo.
FeaturedEvent
Use esse objeto para representar que o provedor oferece o podcast aos consumidores (por exemplo, como um "original").
"Originals" é diferente de "Exclusivo"
O termo "originals (destaque)" geralmente denota direitos exclusivos de uma determinada entidade, o que sobrecarrega o termo. Assim, o significado pretendido precisa ser dividido nas duas categorias acima. É possível que uma entidade original também seja exclusivo. Nesse caso, o releasedEvent pode receber uma matriz com os dois tipos de eventos na mesma entidade.

Embora a exclusividade ou a exibição em destaque possam ter significados semelhantes no catálogo de um provedor, o PublicationEvent é mais usado para permitir a desambiguação de entidades e fornecer metadados adicionais sobre elas, como a data de lançamento de uma série ou episódio.

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre defina como PublicationEvent, ExclusiveEvent ou FeaturedEvent.
location Obrigatório País A região em que o evento de publicação ocorre. Você também pode usar esse recurso para representar as restrições de exclusividade e de distribuição da entidade. Use os códigos ISO 3166 para o país. Se você precisar aplicar a semântica global, defina como EARTH. Defina explicitamente location como EARTH, caso as restrições específicas da localidade não sejam aplicáveis.
startDate Recomendado (obrigatório para ExclusiveEvent) Data ou DateTime Data de início da publicação das entidades. No caso de PublicationEvent, isso indica a data de lançamento inicial dessa entidade. No caso de ExclusiveEvent ou FeaturedEvent, isso representa a data de início da exclusividade ou destaque da entidade.
endDate Recomendado (obrigatório para ExclusiveEvent) Data ou DateTime Data de término da publicação das entidades. No caso de PublicationEvent, isso indica a data de publicação final dessa entidade. No caso de ExclusiveEvent ou FeaturedEvent, isso representa a data de término da exclusividade ou destaque da entidade.
publishedBy Obrigatório Organização ou pessoa A entidade Organization ou Person que publica essa entidade e se aplica a esse evento de publicação. Use o mesmo esquema descrito na seção Organização (autor/editor).

Exemplo 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",
  },
 },
]

Exemplo 2

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

AudioObject (associatedMedia)

O AudioObject é usado para fornecer o arquivo de mídia bruto do episódio do podcast.

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre defina como AudioObject.
contentUrl Obrigatório URL O URL do arquivo de mídia.
contentSize Obrigatório Número inteiro O tamanho do arquivo de mídia em bytes.
encodingFormat Obrigatório Texto Os tipos de mídia IANA do arquivo de mídia. Por exemplo, audio/mpeg.
duration Obrigatório Duração A duração da mídia no formato ISO 8601.
transcript Opcional Texto Transcrição do episódio.
bitrate Opcional Texto A taxa de bits do arquivo de mídia.
name Opcional Texto O nome do arquivo de mídia.

Exemplo 1

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

ListenAction (potentialAction)

A entidade ListenAction define os links diretos para reprodução e os critérios para os usuários (por exemplo, status de geo, chronal, login ou assinatura) para acessar o conteúdo.

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre defina como ListenAction.
target Obrigatório

EntryPoint

repetida

São as especificações do link direto com as informações da plataforma com suporte. É possível usar vários campos EntryPoint para definir links diretos diferentes para diferentes conjuntos de plataformas.
actionAccessibilityRequirement Obrigatório

ActionAccessSpecification

repetida

É a definição dos requisitos que o usuário precisa atender para acessar esta entidade. Se houver várias ActionAccessSpecification, um usuário que atenda a qualquer critério de especificação poderá acessar o conteúdo.

EntryPoint (potentialAction.target)

table class="fixed"> Property Priority Type Description @type Required Text Sempre definido como EntryPoint. urlTemplate Obrigatório URL O link usado para iniciar a reprodução do conteúdo. actionPlatform Obrigatório

Texto

repetida

É a plataforma em que este link direto é válido. Os seguintes valores são possíveis:

  • "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)

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre defina como ActionAccessSpecification.
category Obrigatório Texto

O tipo de requisito de acesso. Precisa ser um dos seguintes valores:

  • nologinrequired: a ação está disponível para o usuário sem necessidade de compra ou login para acessar o conteúdo.
  • free: a ação está disponível sem necessidade de compra ou assinatura paga do usuário. A ação exige que o usuário faça login.
  • subscription: a ação está incluída em uma assinatura paga do serviço.
availabilityStarts Opcional Data/hora É a hora de início do período de disponibilidade. Você pode usar isso para controlar o momento exato em que esse conteúdo pode ser exposto aos usuários.
availabilityEnds Opcional Data/hora É a hora de término do período de disponibilidade. Você pode usar isso para controlar o momento exato em que esse conteúdo deixa de ser exposto aos usuários.
eligibleRegion Obrigatório

País

repetida

O país qualificado para esta oferta. Você pode usar esse campo para controlar o país ou a região em que esse conteúdo precisa estar disponível.
requiresSubscription Obrigatório, se aplicável MediaSubscription O pacote de assinatura necessário para acessar este conteúdo. Se o serviço oferecer vários pacotes de assinatura, esse campo será obrigatório. Se o serviço for sem custo financeiro ou tiver apenas um nível de assinatura, pule este campo.

País (potentialAction.actionAccessibilityRequirement.eligibleRegion)

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre defina como Country.
name Obrigatório Texto O código do país ISO 3166-1 alfa 2.

MediaSubscription (potentialAction.actionAccessibilityRequirement.requiresSubscription)

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre defina como MediaSubscription.
@id Obrigatório URL Um ID globalmente exclusivo para o pacote de assinatura no formato de URI. O ID precisa ser estável e não pode mudar ao longo do tempo. Ele é tratado como uma string opaca e não precisa ser um link funcional.
name Obrigatório Texto O nome do pacote de assinatura. Por exemplo, Premium, Basic.
expectsAcceptanceOf Recomendado Oferta A oferta associada à compra da assinatura de mídia. Você pode usar isso para expressar o preço da assinatura.

Oferta (potentialAction.actionAccessibilityRequirement.requiresSubscription.expectsAcceptanceOf)

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre defina como Offer.
price Obrigatório Número Preço da assinatura.
priceCurrency Obrigatório Texto A moeda (no formato ISO 4217 de três letras) do preço.
seller Recomendado Organização A organização que oferece a assinatura ou compra da ação. Use o mesmo esquema descrito na seção Organização (autor/editor).

Exemplo 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"
        }
    }
},

Exemplo 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"
            }
        }
    ]
},

Apêndice

Exemplo completo

{
    "@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"
            }
        }
    ]
}