Especificación de Schema.org para podcasts

En esta sección, se proporcionan los detalles de las propiedades de lenguaje de marcado de contenido de podcasts.

Especificaciones de PodcastSeries

PodcastSeries es la representación de una serie de podcasts, a la que también se hace referencia como "programa" de podcasts.

Propiedad Prioridad Tipo Descripción
@context Obligatorio Texto Contexto de Schema.org Siempre se establece en [http://schema.googleapis.com,{@language}:xx}], donde xx debe estar en el código de idioma. Esto establece el idioma predeterminado que se usa para los valores de texto de la entidad.
@type Obligatorio Texto Siempre establecer en PodcastSeries.
@id Obligatorio Texto Corresponde al ID único global de la serie de podcasts en formato URI. El ID debe ser estable y no cambiar con el tiempo. Se la trata como una string opaca y no es necesario que sea un vínculo activo. El dominio que se usa para el valor @id debe ser propiedad de tu organización.
url Obligatorio Texto Corresponde a la URL canónica de tu sitio web en el que se presenta o se describe la serie de podcasts. Debe ser único a nivel global. Este vínculo ayuda a conciliar con precisión el contenido de tu feed con el contenido de las bases de datos de Google. Para la reproducción, usa el target.urlTemplate que se detalla en la sección ListenAction de la documentación.
name Obligatorio Texto

Corresponde al nombre de la serie de podcasts. Incluye solo un nombre por idioma.

Usa una matriz para marcar la descripción en varios idiomas. Consulta el ejemplo de varios idiomas y regiones.

description Obligatorio Texto

Una sinopsis de la serie de podcasts.

Usa un array para marcar la descripción en varios idiomas. Consulta el ejemplo de múltiples regiones y lenguajes.

alternativeHeadline Optional Texto Subtítulos de la serie de podcasts.
author Obligatorio

Organización o persona

repeated

La persona o el grupo que desarrolla o entrega el programa. A menudo se refiere al host. Para ver ejemplos y detalles, consulta Organización, Persona (autor/editor).
publisher Optional

Organización o persona

repeated

El grupo o la red originales responsables de publicar el programa. A menudo, se refiere a una organización responsable de publicar o producir varios podcasts. Para ver ejemplos y detalles, consulta Organización, persona (autor/editor). Este campo es muy recomendable para la desambiguación y debe proporcionarse cuando corresponda.
actor Optional

Organización o persona

repeated

Actor del podcast. Para ver ejemplos y detalles, consulta la sección Actor (host/invitado) .
logo Optional

ImageObject

repeated

Una imagen del logotipo de la serie. Proporciona esto como una ImageObject completamente descrita. Proporcione la resolución más alta disponible. Se prefiere JPEG o PNG. Para obtener detalles y ejemplos, consulta la sección ImageObject (logo).
image Obligatorio

ImageObject

repeated

Imagen de la serie. Proporciona esto como un ImageObject completamente descrito. Proporcione la resolución más alta disponible. Se prefieren archivos JPEG o PNG. Consulta la sección ImageObject (logotipo) para obtener detalles y ejemplos.
isFamilyFriendly Obligatorio Booleano Indica si este contenido es apto para familias (es decir, si es apto para todos los miembros de una familia, incluidos los niños). Los productos de Google pueden usar isFamilyFriendly para ayudar a determinar qué contenido reproducir. El valor debe ser true o false.
inLanguage Obligatorio Texto Corresponde al idioma del contenido del podcast en formato ISO 639-1. Este valor se puede usar para completar las consultas del usuario que solicitan contenido en un idioma específico.
genre Obligatorio

Texto

repeated

La categoría o el género de la serie del podcast. Por ejemplo, puedes seguir las categorías de podcasts estándar.
endDate Optional Fecha Es la fecha del lanzamiento del episodio final de la serie de podcasts. Incluye este campo solo cuando la serie ya esté terminada.
rssFeed Obligatorio URL Corresponde a la URL del feed RSS de la serie de podcasts.
potentialAction Obligatorio ListenAction La acción que se activará para que los usuarios escuchen el contenido. Para obtener más información, consulta ListenerAction.
popularityScore Optional PopularityScoreSpecification Una puntuación de popularidad para ayudar a determinar la prioridad de entrega cuando hay varios candidatos Consulta la sección PopularityScoreSpecification (popularityScore) para obtener más detalles y ejemplos.
keywords Optional

Texto

repeated

Es una lista de palabras clave que se asociarían a la serie de podcasts. Estas palabras clave se pueden usar para expandir las consultas del usuario que pueden activar esta serie de podcasts. Por ejemplo, nombres de invitados, temas tratados, etc.
sameAs Optional URL URL de una página web de referencia de un tercero (no dentro de tu dominio) que indica inequívocamente la identidad del elemento. Esta página web se usa para la desambiguación cuando existen varias series similares. Por ejemplo, una página de Wikipedia o la página principal de la serie de podcasts. Este campo es altamente recomendado para la desambiguación de la serie.
releasedEvent Optional PublicationEvent o subtipos más específicos: FeaturedEvent o Exclusivo El evento que marca la publicación o el lanzamiento de la serie de podcasts. Un evento de publicación puede tener en cuenta el lanzamiento inicial de un podcast por parte de un editor y los tipos más especializados se pueden usar para denotar la exclusividad o la exclusividad del lanzamiento. Para obtener más detalles y ejemplos, consulta la sección Publicación del evento, evento destacado, evento exclusivo (releasedEvent). Ten en cuenta que marcar una serie como exclusiva o destacada implica que todos los episodios del programa son exclusivos o destacados.
countryOfOrigin Optional País Corresponde al país de las oficinas principales de la productora o a la persona responsable del podcast.

Especificaciones de episodio de podcast

PodcastEpisode es la representación de un episodio en schema.org dentro de una PodcastSeries.

Propiedad Prioridad Tipo Descripción
@context Obligatorio Texto Contexto de Schema.org Siempre se establece en [http://schema.googleapis.com,{@language:xx}], en el que xx es el código de idioma. Esto establece el idioma de caracteres predeterminado que se usa para los valores de texto del feed.
@type Obligatorio Texto Siempre establecer en PodcastEpisode.
@id Obligatorio Texto Corresponde a un ID único global para el episodio de podcast en formato URI. El ID debe ser estable y no cambiar con el tiempo. Se la trata como una string opaca y no es necesario que sea un vínculo activo. Tu organización debe ser la propietaria del dominio que se usa para el valor de @id.
url Obligatorio Texto Corresponde a la URL canónica del sitio web en el que ingresas o describes el episodio de podcast. Este valor debe ser único a nivel global. Este vínculo se usa para ayudar a conciliar con precisión el contenido de tu feed con el contenido de las bases de datos de Google. Para la reproducción, se usa el target.urlTemplate detallado en la sección ListenAction de la documentación.
name Obligatorio Texto

Corresponde al nombre del episodio del podcast.

Solo debe haber un nombre por idioma. Usa un arreglo para marcar la descripción en varios idiomas. Consulta el ejemplo de varios idiomas y regiones.

description Obligatorio Texto Descripción del episodio del podcast.
alternativeHeadline Obligatorio Texto Subtítulo del episodio del podcast.
author Obligatorio

Organización o persona

repeated

La persona o el grupo que desarrolla o entrega el episodio. Este valor a menudo se refiere al host. Si el autor es el mismo que el programa, puedes volver a usar la información de la entidad PodcastSeries. Para ver ejemplos y detalles, consulta Organización, persona (autor/editor).
publisher Obligatorio

Organización o persona

repeated

El grupo o la red originales responsables de publicar el programa. A menudo, se refiere a una organización responsable de publicar o producir varios podcasts. Consulta Organización, Persona (autor/editor) para obtener ejemplos y detalles. Este campo es muy recomendable para la desambiguación, y te recomendamos que lo definas cuando corresponda.
actor Obligatorio

Organización o persona

repeated

Actor del podcast. Consulta la sección Actor (host/guest) para ver ejemplos y detalles.
datePublished Obligatorio Fecha y hora La fecha y hora del lanzamiento del episodio de podcast. Este valor se usa para ordenar la secuencia del episodio y la desambiguación.
episodeNumber Obligatorio Integer El número de episodio.
partOfSeries Obligatorio PodcastSeries El PodcastSeries en el que se encuentra este episodio de podcast. Consulta PodcastSeries(partOfSeries) para obtener más detalles y ejemplos.
partOfSeason Optional Temporada Podcast Para las series de varias temporadas, esta propiedad proporciona información sobre la temporada junto con el número y el nombre de la temporada. Consulta PodcastSeason(partOfSeason) para obtener más información y ejemplos.
timeRequired Obligatorio Duración Corresponde a la duración del episodio en formato ISO 8601.
image Optional

ImageObject

repeated

Imagen de la serie. Debe ser una ImageObject completamente descrita. Proporcione la resolución más alta disponible. Se prefiere JPEG o PNG. Consulta la sección ImageObject (logotipo) para obtener más detalles y ejemplos.
isFamilyFriendly Obligatorio Booleano Indica si este contenido es apto para familias (es decir, si el contenido es apto para todos los miembros de la familia, incluidos los niños). Los productos de Google pueden usar isFamilyFriendly para determinar el contenido que se reproducirá. El valor debe ser true o false.
inLanguage Obligatorio Texto Corresponde al idioma del contenido del episodio del podcast en formato ISO 639-1. Usa este valor para cumplir con las consultas de los usuarios que solicitan contenido en un idioma específico. Si el contenido está en varios idiomas, enumera solo un idioma principal.
genre Obligatorio

Texto

repeated

La categoría o el género de la serie del podcast. Por ejemplo, puedes seguir las categorías de podcasts estándar.
associatedMedia Optional Objeto de audio Corresponde al archivo de audio del episodio del podcast. Para obtener más detalles y ejemplos, consulta AudioObject(associatedMedia).
potentialAction Obligatorio ListenAction La acción que se activará para que los usuarios escuchen el contenido. Para obtener más información, consulta la sección ListenerAction.
popularityScore Optional PopularityScoreSpecification Una puntuación de popularidad para determinar la prioridad de entrega cuando hay varios candidatos Para obtener más detalles y ejemplos, consulta la sección PopularityScoreSpecification.
keywords Optional

Texto

repeated

Es una lista de palabras clave asociadas con la serie de podcasts. Estas palabras clave se pueden usar para expandir las búsquedas del usuario que pueden activar este episodio de podcast. Por ejemplo, news, sports o history.
identifier Obligatorio

PropertyValue

repeated

Para PodcastEpisode, usa esta propiedad a fin de proporcionar un GUID. El GUID debe ser un ID que pueda identificar de forma única y global los episodios de un podcast. Es diferente del campo @id del episodio.

Consulta la sección PropertyValue (identificador) para ver un ejemplo.

sameAs Optional URL URL de una página web de referencia de un tercero (no dentro de tu dominio) que indica inequívocamente la identidad del elemento. Google usa esta página web para la desambiguación cuando existen varias series similares. Por ejemplo, una página de Wikipedia o la página principal de los episodios de podcasts. Ten en cuenta que no se debe proporcionar la página de referencia a nivel de serie. Te recomendamos mucho este campo a fin de desambiguar el episodio.
releasedEvent Optional PublicationEvent o subtipos más específicos: FeaturedEvent o Exclusivo Corresponde al evento que marca la publicación o el lanzamiento del episodio del podcast. Un evento de publicación puede tener en cuenta el lanzamiento inicial de un episodio de podcast de un publicador y los subtipos más específicos pueden indicar exclusividad o destacados del lanzamiento. Para obtener más detalles y ejemplos, consulta la sección EventEvent, FeaturedEvent, UniqueEvent (releasedEvent). Ten en cuenta que marcar una serie como exclusiva o destacada arriba implica que todos los episodios del programa son exclusivos o destacados. Te recomendamos que las marques en el nivel más detallado.
countryOfOrigin Optional País Corresponde al país de las oficinas principales de la productora o a la persona responsable del podcast.

PodcastSeries (partOfSeries)

Usa partOfSeries para establecer la relación entre un PodcastEpisode y su PodcastSeries superior. Debido a que el detalle completo de PodcastSeries se describe en la entidad PodcastSeries separada, no necesitas proporcionar detalles completos en partOfSeries. Solo debes proporcionar las siguientes propiedades:

Propiedad Prioridad Tipo Descripción
@type Obligatorio Texto Siempre establecer en PodcastSeries.
@id Obligatorio URL El ID único global de la serie en formato URI. El ID debe coincidir con el ID de la entidad PodcastSeries completa en tu feed.
name Obligatorio Texto Corresponde al nombre de la serie de podcasts.

Ejemplo 1

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

PodcastSeason (parteDeTemporada)

PodcastSeason representa la información de la temporada de un PodcastEpisode, sobre todo el número de la temporada. Solo necesitas esta propiedad cuando la serie de podcasts tiene varias temporadas.

Propiedad Prioridad Tipo Descripción
@type Obligatorio Texto Establecer siempre en PodcastSeason
@id Obligatorio URL Un ID global único para la temporada en formato URI. El ID debe ser fijo y mantener el mismo formato con el paso del tiempo. Se la trata como una string opaca y no es necesario que sea un vínculo activo.
seasonNumber Obligatorio Integer Corresponde al número de temporada de la serie de podcasts.
name Optional Texto Corresponde al nombre de la temporada de podcasts.

Ejemplo 1

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

Organización, persona (autor o editor)

Propiedad Prioridad Tipo Descripción
@type Obligatorio Texto Siempre se establece en Organization o Person.
@id Obligatorio URL Un ID global único para la organización o la persona en formato URI. El ID debe ser fijo y mantener el mismo formato con el paso del tiempo. Se la trata como una string opaca y no es necesario que sea un vínculo activo.
name Obligatorio Texto El nombre de la organización o la persona.
sameAs Optional URL URL de una página web de referencia de un tercero (no dentro de tu dominio) que indica inequívocamente la identidad del elemento. Google usa esta página web para la desambiguación cuando existen varias series similares. Algunos ejemplos pueden ser una página de Wikipedia para una organización o el sitio web oficial de la organización.

Ejemplo 1

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

Ejemplo 2

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

Actor (anfitrión o invitado)

Propiedad Prioridad Tipo Descripción
@type Obligatorio Texto Siempre se establece en Organization o Person.
@id Obligatorio URL Un ID global único para la organización o la persona en formato URI. El ID debe ser fijo y mantener el mismo formato con el paso del tiempo. Se la trata como una string opaca y no es necesario que sea un vínculo activo.
name Obligatorio Texto El nombre de la organización o la persona.
roleName Obligatorio Texto "Host" o "Invitado".
sameAs Optional URL URL de una página web de referencia de un tercero (no dentro de tu dominio) que indica inequívocamente la identidad del elemento. Google usa esta página web para la desambiguación cuando existen varias series similares. Algunos ejemplos pueden ser una página de Wikipedia para una organización o el sitio web oficial de la organización.

Ejemplo 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 o imagen)

ImageObject se usa para proporcionar el logotipo o la portada del contenido.

Propiedad Prioridad Tipo Descripción
@type Obligatorio Texto Siempre establecer en ImageObject.
height Optional Integer Altura de la imagen en píxeles.
width Optional Integer Ancho de la imagen en píxeles.
contentUrl Obligatorio URL Una URL donde se puede ubicar la imagen.
regionsAllowed Optional

País

repeated

Países en los que se permite el uso de medios:

  • Si no se especifica, se supone que la imagen está permitida en todas las configuraciones regionales.
  • Para enviar imágenes diferentes por región, agrega varias propiedades ImageObject, cada una con su propio conjunto de países y la URL de la imagen correspondiente.

País (image.regionsAllowed)

Propiedad Prioridad Tipo Descripción
@type Obligatorio Texto Establecer siempre en Country.
name Obligatorio Texto El código de país ISO 3166-1 alpha-2. Por ejemplo, GB, US.

Ejemplo 1

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

Ejemplo 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 (identificador)

Si tienes GUID para tu contenido, puedes proporcionar estos ID con los campos identifier para mejorar la precisión de la conciliación de tu contenido por parte de Google. Ten en cuenta que el GUID es obligatorio para PodcastEpisode. Debe ser diferente del campo @id del episodio (no dentro de tu dominio) y debe representar el episodio fuente de forma global y única en todas las fuentes.

Propiedad Prioridad Tipo Descripción
@type Obligatorio Texto Siempre establecido en "PropertyValue".
propertyID Obligatorio Texto Siempre establecer en GUID.
value Obligatorio Texto El GUID de la serie o el episodio.

Ejemplo 1

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

PopularityScoreSpecification (puntuación de popularidad)

El elemento popularityScore puede ayudar a los usuarios a llegar al contenido más apropiado, en casos en los que los criterios de la consulta coinciden con varias entidades de tu feed. El contenido con la puntuación de popularidad más alta disponible para la región del usuario se entrega al usuario cuando este valor está disponible. Todo el contenido sin este campo se establece de forma predeterminada en la puntuación de popularidad 0. La comparación de las puntuaciones se realiza dentro del alcance de tu catálogo completo, por lo que debes asegurarte de que la escala sea coherente en todos tus feeds.

Propiedad Prioridad Tipo Descripción
@type Obligatorio Texto Siempre establecer en PopularityScoreSpecification.
value Obligatorio Numérica Un valor numérico positivo que se compara con otras entidades de tu catálogo para la prioridad de publicación. Un número mayor indica una mayor popularidad.
eligibleRegion Optional

País o texto

repeated

Una región o una lista de las regiones a las que se aplica esta puntuación de popularidad.

Si la puntuación de popularidad se aplica de forma global, usa earth como el valor de texto.

Si es necesario indicar regiones específicas, utilice el tipo "País".

Si omites este campo, eligibleRegion se configurará de forma predeterminada como earth.

País (popularityScore.eligibleRegion)

Propiedad Prioridad Tipo Descripción
@type Obligatorio Texto Siempre establecer en Country.
name Obligatorio Texto El código de país ISO 3166-1 alpha-2. Por ejemplo, GB, US.

Ejemplo 1

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

Ejemplo 2

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

Ejemplo 3

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

PublicationEvent, FeaturedEvent, UniqueEvent (releasedEvent)

Evento de publicación
Usa este objeto para representar la fecha y ubicación de la publicación de un programa o episodio (también conocido como "fecha de lanzamiento" de una serie o un episodio). Además, el campo publishedBy denota la entidad de publicación o distribución de la serie de episodios o el episodio.
Evento exclusivo
Usa este objeto a fin de indicar que el proveedor tiene derechos de distribución exclusivos para el podcast. La exclusividad puede ser específica de una región y estar limitada por el tiempo, y debe incluir el campo de la organización que apunta al proveedor exclusivo del contenido.
Evento destacado
Usa este objeto para indicar que el proveedor presenta el podcast a los consumidores (por ejemplo, como un "original").
El contenido original es diferente al de
El término “originales (destacados)” suele indicar derechos exclusivos sobre una entidad determinada, lo que sobrecarga el término. Por lo tanto, el significado previsto debe dividirse en las dos categorías anteriores. Es posible que una entidad original también sea exclusiva. En este caso, releasedEvent puede tomar un array con ambos tipos de eventos en la misma entidad.

Ten en cuenta que, si bien la exclusividad o la exclusividad pueden compartir significados similares dentro del catálogo de un proveedor, PublicationEvent se aplica, por lo general, para habilitar la desambiguación de entidades y proporcionar metadatos adicionales sobre lo mismo, como la fecha de lanzamiento de una serie o un episodio.

Propiedad Prioridad Tipo Descripción
@type Obligatorio Texto Siempre establece en uno de los siguientes valores: PublicationEvent, ExclusiveEvent o FeaturedEvent.
location Obligatorio País La región en la que se produce el evento de publicación. También puedes usar esto para representar las restricciones de exclusividad y restricciones de distribución de la entidad. Utilice los códigos ISO 3166 para el país. Si necesitas aplicar semántica global, configúrala como EARTH. Establece location de forma explícita en EARTH, en caso de que no se apliquen restricciones específicas de configuración regional.
startDate Recomendación (obligatoria para evento exclusivo) Fecha o Fecha y hora Fecha de inicio de la publicación de las entidades. En el caso de PublicationEvent, denota la fecha de lanzamiento inicial de esta entidad. En el caso de ExclusiveEvent o FeaturedEvent, esto representa la fecha de inicio de la exclusividad o exclusividad de la entidad.
endDate Recomendación (obligatoria para evento exclusivo) Fecha o Fecha y hora Fecha de finalización de la publicación de las entidades. En el caso de PublicationEvent, denota la fecha de publicación final de esta entidad. En el caso de ExclusiveEvent o FeaturedEvent, esto representa la fecha de finalización de la exclusividad o exclusividad de la entidad.
publishedBy Obligatorio Organización o persona La entidad Organization o Person que publica esta entidad y se aplica a este evento de publicación. Usa el mismo esquema que se describe en la sección Organización (autor/editor).

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

Ejemplo 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 (asociadoMedia)

AudioObject se usa para proporcionar el archivo multimedia sin procesar del episodio del podcast.

Propiedad Prioridad Tipo Descripción
@type Obligatorio Texto Siempre establecer en AudioObject.
contentUrl Obligatorio URL Es la URL del archivo multimedia.
contentSize Obligatorio Integer El tamaño del archivo multimedia en bytes.
encodingFormat Obligatorio Texto Los tipos de medios IANA del archivo multimedia. Por ejemplo audio/mpeg.
duration Obligatorio Duración La longitud del medio en formato ISO 8601.
transcript Optional Texto Transcripción del episodio.
bitrate Optional Texto Es la tasa de bits del archivo multimedia.
name Optional Texto Es el nombre de archivo del archivo multimedia.

Ejemplo 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 (posibleAction)

La entidad ListenAction define tus vínculos directos para la reproducción y los criterios para que los usuarios (por ejemplo, ubicación geográfica, cron, acceso o estado de suscripción) accedan al contenido.

Propiedad Prioridad Tipo Descripción
@type Obligatorio Texto Siempre establecer en ListenAction.
target Obligatorio

EntryPoint

repeated

Las especificaciones del vínculo directo con la información de la plataforma compatible. Puedes usar varios campos EntryPoint a fin de definir vínculos directos diferentes para conjuntos de plataformas distintos.
actionAccessibilityRequirement Obligatorio

ActionAccessSpecification

repeated

Son los requisitos del usuario que se definen para acceder a esta entidad. Si se presentan varios ActionAccessSpecification, un usuario que coincida con cualquier criterio de especificación podrá acceder al contenido.

EntryPoint (posibleAction.target)

table class="fixed"> Tipo de prioridad de la propiedad Descripción @type Obligatorio Texto Siempre establecido en EntryPoint urlTemplate Obligatorio URL El vínculo que se usa para iniciar la reproducción de tu contenido. actionPlatform Obligatorio

Texto

repeated

La plataforma para la que es válido este vínculo directo. Los siguientes valores son posibles:

  • "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 (posibleAction.actionAccessibilityRequirement)

Propiedad Prioridad Tipo Descripción
@type Obligatorio Texto Siempre establecer en ActionAccessSpecification.
category Obligatorio Texto

El tipo de requisito de acceso. Debe ser uno de los siguientes valores:

  • nologinrequired: La acción está disponible para el usuario sin necesidad de comprar ni acceder a fin de acceder al contenido.
  • free: La acción está disponible para el usuario sin necesidad de comprar ni tener una suscripción pagada. La acción requiere que un usuario acceda.
  • subscription: Se incluye la acción con una suscripción pagada a tu servicio.
availabilityStarts Optional Fecha y hora Indica la hora de inicio del período de disponibilidad. Puedes usar esta opción para controlar el momento exacto en el que se puede exponer este contenido a los usuarios.
availabilityEnds Optional Fecha y hora Indica la hora de finalización del período de disponibilidad. Puedes usar esta opción para controlar el momento exacto en que el contenido deja de estar expuesto a los usuarios.
eligibleRegion Obligatorio

País

repeated

Corresponde al país apto para esta Oferta. Puedes usar esta opción para controlar la región o el país donde debe estar disponible este contenido.
requiresSubscription Obligatorio si corresponde Suscripción de medios El paquete de suscripción necesario para acceder a este contenido. Si tu servicio ofrece varios paquetes de suscripción, este campo es obligatorio. Si tu servicio es gratuito o si hay un solo nivel de suscripción, puedes omitir este campo.

País (potentialAction.actionAccessibilityRequirement.eligibleRegion)

Propiedad Prioridad Tipo Descripción
@type Obligatorio Texto Siempre establecer en Country.
name Obligatorio Texto El código de país ISO 3166-1 alpha 2.

MediaSubscription (potentialAction.actionAccessibilityRequirement.requireSubscription)

Propiedad Prioridad Tipo Descripción
@type Obligatorio Texto Siempre establecer en MediaSubscription.
@id Obligatorio URL Un ID global único para el paquete de suscripción en formato URI. El ID debe ser fijo y mantener el mismo formato con el paso del tiempo. Se la trata como una string opaca y no es necesario que sea un vínculo activo.
name Obligatorio Texto Es el nombre del paquete de suscripción. Por ejemplo, Premium, Basic.
expectsAcceptanceOf Se recomienda Oferta Es la oferta asociada con la compra de la Suscripción a medios de comunicación. Puedes usarlo para expresar el precio de la suscripción.

Oferta (potentialAction.actionAccessibilityRequirement.requireSubscription.expectsAcceptanceOf)

Propiedad Prioridad Tipo Descripción
@type Obligatorio Texto Siempre establecer en Offer.
price Obligatorio Number Precio de la suscripción.
priceCurrency Obligatorio Texto Corresponde a la moneda (en formato ISO 4217 de tres letras) del precio.
seller Se recomienda Organización Corresponde a la organización que ofrece la suscripción o la compra de la acción. Usa el mismo esquema que se describe en la sección Organización (autor/editor).

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

Ejemplo 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

Ejemplo 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"
            }
        }
    ]
}