Especificação do Podcast Schema.org

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

Especificações da PodcastSeries

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

Propriedade Prioridade Tipo Descrição
@context Obrigatório Texto Contexto do schema.org. Sempre definido como [http://schema.googleapis.com,{@language}:xx}], em que xx precisa estar no código do idioma. Isso define o idioma padrão usado para os valores de texto na entidade.
@type Obrigatório Texto Sempre definido como PodcastSeries.
@id Obrigatório Texto Um ID exclusivo globalmente para a série de podcast no formato 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 em funcionamento. 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 podcast é 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 podcast. 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 podcast.

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

repeated

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

Pessoa ou organização

repeated

É o grupo ou a rede original responsável por publicar o programa. Geralmente, refere-se a uma organização responsável por publicar/produzir vários podcasts. Para 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

repeated

Atriz do podcast. Veja exemplos e detalhes na seção Ator (host/convidado) .
logo Opcional

ImageObject

repeated

Imagem do logotipo da série. Informe isso como um ImageObject totalmente descrito. Ofereça a resolução mais alta disponível. É preferível JPEG ou PNG. Para mais detalhes e exemplos, consulte a seção ImageObject (logotipo).
image Obrigatório

ImageObject

repeated

Uma imagem da série de arte. Forneça isso como um ImageObject totalmente descrito. Ofereça a resolução mais alta disponível. Recomendamos JPEG ou PNG. Consulte a seção ImageObject (logotipo) para ver detalhes e exemplos.
isFamilyFriendly Obrigatório Booleano Indica se o conteúdo é adequado para toda a família, ou seja, se o conteúdo é adequado para todos os membros da 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 Idioma do conteúdo do podcast no formato ISO 639-1. Esse valor pode ser usado para atender a consultas do usuário que solicitam conteúdo em um idioma específico.
genre Obrigatório

Texto

repeated

A categoria ou o gênero da série do podcast. Por exemplo, é possível seguir categorias padrão de podcasts.
endDate Opcional Data A data do lançamento do episódio final da série de podcast. Só inclua esse campo quando a série já tiver terminado.
rssFeed Obrigatório URL É o URL do feed RSS da série de podcasts.
potentialAction Obrigatório ListenAction A ação que será acionada para os usuários ouvirem o conteúdo. Para mais detalhes, consulte ListenAction.
popularityScore Opcional PopularityScoreSpecification Uma pontuação de popularidade para ajudar a determinar a prioridade de exibição quando há vários candidatos. Consulte a seção PopularityScoreSpecification (popularityScore) para ver detalhes e exemplos.
keywords Opcional

Texto

repeated

Uma lista de palavras-chave que seriam associadas à série de podcast. 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 URL de uma página da Web de referência de terceiros (que não está no seu domínio) que indica inequivocamente 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 mais subtipos específicos: DestaquesEvent 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 destaque do lançamento. Para ver detalhes e exemplos, consulte a seção PublicationEvent, DestaqueEvent, 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 escritórios principais da produtora ou do responsável pelo podcast.

Especificações do podcast

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

Propriedade Prioridade Tipo Descrição
@context Obrigatório Texto Contexto do schema.org. Sempre defina como [http://schema.googleapis.com,{@language:xx}], em que xx é o código do idioma. Isso define o idioma de caractere padrão usado para os valores de texto no feed.
@type Obrigatório Texto Sempre definido como PodcastEpisode.
@id Obrigatório Texto Um ID exclusivo globalmente para o episódio de podcast no formato 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 em funcionamento. Sua organização precisa ser proprietária do domínio usado para o valor de @id.
url Obrigatório Texto O URL canônico no seu 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 reprodução, é usado o target.urlTemplate detalhado na seção ListenAction da documentação.
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 Legenda do episódio do podcast.
author Obrigatório

Pessoa ou organização

repeated

É a pessoa ou o grupo que desenvolve ou envia o episódio. Esse valor geralmente se refere ao host. Se o autor for o mesmo que o programa, será possível reutilizar as informações da entidade PodcastSeries. Para ver exemplos e detalhes, consulte Organização, Pessoa (autor/editor).
publisher Obrigatório

Pessoa ou organização

repeated

É o grupo ou a rede original responsável por publicar o programa. Geralmente, se refere a uma organização responsável por publicar ou produzir vários podcasts. Consulte Organização, Pessoa (autor/editor) para ver exemplos e detalhes. Esse campo é altamente recomendado para desambiguação. Recomendamos que você o defina sempre que aplicável.
actor Obrigatório

Pessoa ou organização

repeated

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

ImageObject

repeated

Uma imagem da série de arte. Precisa ser um ImageObject totalmente descrito. Ofereça a resolução mais alta disponível. É preferível JPEG ou PNG. Consulte a seção ImageObject (logotipo) para ver detalhes e exemplos.
isFamilyFriendly Obrigatório Booleano Indica se o conteúdo é adequado para famílias (ou seja, se o conteúdo é 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 de 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

repeated

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

Texto

repeated

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

repeated

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. É diferente do campo @id no episódio.

Consulte a seção PropertyValue (identificador) para ver um exemplo.

sameAs Opcional URL URL de uma página da Web de referência de terceiros (que não está no seu domínio) que indica inequivocamente a identidade do item. O Google usa essa página da Web para fazer a desambiguação quando várias séries semelhantes existem. Por exemplo, uma página da Wikipédia ou a página inicial de episódios de podcasts. A página de referência no nível da série não pode ser fornecida aqui. É altamente recomendável usar esse campo para remover a ambiguidade do episódio.
releasedEvent Opcional PublicationEvent ou mais subtipos específicos: DestaquesEvent 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 ver 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 marcar essas propriedades no nível mais granular.
countryOfOrigin Opcional País O país dos principais escritórios da produtora 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 o detalhe completo do PodcastSeries é descrito na entidade PodcastSeries separada, não é necessário fornecer detalhes completos no partOfSeries. Você só precisa fornecer as seguintes propriedades:

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

Exemplo 1

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

PodcastSeason (parte da temporada)

O PodcastSeason representa as informações da temporada de um PodcastEpisode, mais importante que o número da temporada. Essa propriedade só é necessária quando a série de podcast tem várias temporadas.

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre definido como PodcastSeason
@id Obrigatório URL Um ID globalmente exclusivo para a temporada no formato URI. O ID precisa ser estável e não pode ser alterado ao longo do tempo. Ele é tratado como uma string opaca e não precisa ser um link em funcionamento.
seasonNumber Obrigatório Inteiro O número da temporada da série de podcast.
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 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 em funcionamento.
name Obrigatório Texto É o nome da organização ou da pessoa.
sameAs Opcional URL URL de uma página da Web de referência de terceiros (que não está no seu domínio) que indica inequivocamente a identidade do item. O Google usa essa página da Web para fazer a desambiguação quando várias séries semelhantes existem. Os exemplos podem incluir uma página da Wikipédia sobre uma organização ou o site oficial da organização.

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 (host 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 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 em funcionamento.
name Obrigatório Texto É o nome da organização ou pessoa.
roleName Obrigatório Texto "Host" ou "Convidado".
sameAs Opcional URL URL de uma página da Web de referência de terceiros (que não está no seu domínio) que indica inequivocamente a identidade do item. O Google usa essa página da Web para fazer a desambiguação quando várias séries semelhantes existem. Os exemplos podem incluir uma página da Wikipédia sobre uma organização ou o site oficial da organização.

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 as obras de arte do conteúdo.

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

País

repeated

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

  • Se não especificado, presume-se que a imagem é permitida em todas as localidades.
  • 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 (em inglês). Por exemplo, GB, 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, forneça esses IDs com o campo identifier para melhorar a precisão da reconciliação do Google com seu conteúdo. O GUID é obrigatório para PodcastEpisode. Ela precisa ser diferente do campo @id do episódio (não dentro do seu domínio) e precisa representar o episódio de origem globalmente e de forma exclusiva 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 definido 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 é exibido ao usuário quando esse valor está disponível. Todo o conteúdo sem esse campo é padronizado com base na pontuação de popularidade 0. A comparação da pontuação acontece no escopo do seu catálogo completo. Portanto, verifique se a escala é consistente em todos os seus feeds.

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

País ou texto

repeated

Uma região ou uma lista das regiões a que essa pontuação de popularidade se aplica.

Se a pontuação de popularidade se aplicar globalmente, use earth como o valor do texto.

Se for necessário listar regiões específicas, use o tipo "País".

Se você não preencher esse campo, o padrão de eligibleRegion será earth.

País (popularityScore.eligibleRegion)

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 (em inglês). Por exemplo, GB, 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, DestaqueEvent, ExclusiveEvent (releasedEvent)

Evento de publicação
Use esse objeto para representar a data e o local da publicação de um programa ou episódio (também conhecido como a "data de lançamento" de uma série ou episódio). Além disso, o campo publishedBy indica a entidade de publicação ou distribuição da série ou episódio do podcast.
Evento exclusivo
Use esse objeto para indicar que o provedor tem direitos de distribuição exclusivos para o podcast. A exclusividade pode ser específica da região e ter um prazo definido. Ela precisa incluir o campo da organização que aponta para o provedor exclusivo do conteúdo.
Evento em destaque
Use esse objeto para indicar que o provedor apresenta o podcast aos consumidores, por exemplo, como "original".
O conteúdo original é diferente do exclusivo
O termo "originals (em destaque)" geralmente denota direitos exclusivos sobre uma entidade, o que sobrecarrega o termo. Sendo assim, o significado pretendido precisa ser dividido nas duas categorias acima. É possível que uma entidade original também seja exclusiva e, nesse caso, o releasedEvent pode usar uma matriz com os dois tipos de eventos na mesma entidade.

Embora a exclusividade ou o destaque possa compartilhar significados semelhantes no catálogo de um provedor, PublicationEvent geralmente se aplica para permitir a desambiguação de entidades e fornecer metadados adicionais sobre o mesmo, 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 ocorre o evento de publicação. Também é possível usá-lo para representar as restrições de exclusividade e distribuição da entidade. Use códigos ISO 3166 para o país. Se você precisar aplicar a semântica global, defina como EARTH. Defina location explicitamente como EARTH, caso as restrições específicas de localidade não sejam aplicáveis.
startDate Recomendado (obrigatório para ExclusiveEvent) Data ou data/hora Data de início da publicação das entidades. No caso de PublicationEvent, isso indica a data de lançamento inicial da 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 data/hora Data de término da publicação das entidades. No caso de PublicationEvent, indica a data de publicação final da entidade. No caso de ExclusiveEvent ou FeaturedEvent, isso representa a data de término do caráter exclusivo ou em destaque da entidade.
publishedBy Obrigatório Organização ou pessoa A entidade Organization ou Person, que publica essa entidade e se aplica ao 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 de podcast.

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre definido como AudioObject.
contentUrl Obrigatório URL O URL do arquivo de mídia.
contentSize Obrigatório Inteiro O tamanho do arquivo de mídia em bytes.
encodingFormat Obrigatório Texto Os tipos de mídia da IANA do arquivo de mídia. Por exemplo, audio/mpeg.
duration Obrigatório Duração É o comprimento da mídia no formato de duração 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 geográfico, chronal, de login ou assinatura) para acessar o conteúdo.

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

EntryPoint

repeated

As especificações do link direto com as informações de plataforma compatíveis. Você pode usar vários campos EntryPoint para definir links diretos diferentes para diferentes conjuntos de plataformas.
actionAccessibilityRequirement Obrigatório

ActionAccessSpecification

repeated

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

EntryPoint (potentialAction.target)

table class="Fixed"> Prioridade de Propriedade Tipo Descrição @type Obrigatório Texto Sempre definido como EntryPoint. urlTemplate Obrigatório URL O link usado para iniciar a reprodução do conteúdo. actionPlatform Obrigatório

Texto

repeated

A plataforma para a qual esse 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 definido 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 compra ou login para acessar o conteúdo.
  • free: a ação está disponível sem a necessidade de compra ou assinatura paga do usuário. A ação exige que um usuário faça login.
  • subscription: a ação está incluída em uma assinatura paga do seu serviço.
availabilityStarts Opcional Data/hora É a hora de início do período de disponibilidade. É possível 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 usá-lo para controlar o momento exato em que este conteúdo deixará de ser exposto aos usuários.
eligibleRegion Obrigatório

País

repeated

É o país qualificado para esta Oferta. Você pode usar isso para controlar o país ou a região em que o conteúdo precisa estar disponível.
requiresSubscription Obrigatório, se aplicável Assinatura de mídia É necessário o pacote de assinatura para acessar este conteúdo. Se o serviço oferece vários pacotes de assinatura, esse campo é obrigatório. Se o serviço for sem custo financeiro ou houver apenas um nível de assinatura, será possível pular esse campo.

País (potentialAction.actionAccessibilityRequirement.eligibleRegion)

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.

MediaSubscription (potentialAction.actionAccessibilityRequirement.requiresSubscription)

Propriedade Prioridade Tipo Descrição
@type Obrigatório Texto Sempre definido como MediaSubscription.
@id Obrigatório URL Um ID globalmente exclusivo para o pacote de assinatura no formato 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 em funcionamento.
name Obrigatório Texto O nome do pacote de assinatura. Por exemplo, Premium, Basic.
expectsAcceptanceOf Recomendável 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 definido 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 Recomendável Organização É a organização que oferece a assinatura ou a 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"
            }
        }
    ]
}