Spécification Schema.org des podcasts

Cette section fournit des informations détaillées sur les propriétés de balisage de contenu des podcasts.

Spécifications PodcastSeries

PodcastSeries est la représentation d'une série de podcasts, qui est également appelé podcast.

Propriété Priorité Type Description
@context Obligatoire Texte Contexte schema.org Toujours définir sur [http://schema.googleapis.com,{@language}:xx}], où xx doit figurer dans le code de langue. Ce paramètre définit la langue par défaut utilisée pour les valeurs textuelles de l'entité.
@type Obligatoire Texte Toujours défini sur PodcastSeries.
@id Obligatoire Texte ID unique pour la série de podcasts au format URI. L'ID doit être stables et ne changent pas au fil du temps. Elle est traitée comme une chaîne opaque et doit être un lien fonctionnel. Le domaine utilisé pour la valeur @id doit appartenant à votre organisation.
url Obligatoire Texte L'URL canonique du site Web sur lequel la série de podcasts est diffusée décrit. Il doit être unique. Ce lien permet de déterminer précisément rapprocher le contenu de votre flux de celui des bases de données de Google. Pour utilisez le target.urlTemplate détaillé dans la section ListenAction de la documentation.
name Obligatoire Texte

Nom de la série de podcasts. N'incluez qu'un seul nom par langue.

Utilisez un tableau pour baliser la description dans plusieurs langues. Reportez-vous à la rubrique régions et langues.

description Obligatoire Texte

Un résumé de la série de podcasts.

Utilisez un tableau pour baliser la description dans plusieurs langues. Consultez l' exemple pour plusieurs régions et langues.

alternativeHeadline Optional Texte Sous-titres de la série de podcasts.
author Obligatoire

Personne ou organisation

repeated

Personne ou groupe qui développe ou diffuse l'émission. Fait souvent référence à l'hôte. Pour obtenir des exemples et des informations détaillées, consultez la section Organisation, personne (auteur/éditeur).
publisher Optional

Personne ou organisation

repeated

Groupe ou réseau d'origine responsable de la publication de l'émission. Souvent fait référence à une organisation chargée de publier/produire plusieurs podcasts. Pour obtenir des exemples et des informations détaillées, consultez la page Organisation, Personne (auteur/éditeur) : Ce champ est fortement recommandé pour et doivent être fournies le cas échéant.
actor Optional

Personne ou organisation

repeated

Acteur du podcast. Pour obtenir des exemples et des détails, consultez la section Acteur (hôte/invité) .
logo Optional

ImageObject

repeated

Image du logo de la série. Fournissez cette description ImageObject Fournissez la résolution la plus élevée disponible. JPEG ou PNG est à privilégier. Pour obtenir des détails et des exemples, consultez les ImageObject (logo).
image Obligatoire

ImageObject

repeated

Illustration de la série. Fournissez cette description ImageObject Fournissez la résolution la plus élevée disponible. JPEG ou PNG est de préférence. Veuillez consulter la section ImageObject (logo) pour en savoir plus et exemples.
isFamilyFriendly Obligatoire Booléen Indique si le contenu est adapté aux familles (en d'autres termes, si le contenu est adapté à tous les membres d'une famille, y compris aux enfants). Produits Google peut utiliser isFamilyFriendly pour déterminer quel contenu lire. La la valeur doit être true ou false.
inLanguage Obligatoire Texte Langue du contenu du podcast au format ISO 639-1. Cette valeur peut être utilisée pour répondre qui demande des contenus dans une langue spécifique.
genre Obligatoire

Texte

repeated

Catégorie ou genre de la série de podcasts. Par exemple, vous pouvez suivre standard Catégories de podcasts.
endDate Optional Date Date de sortie de l'épisode final de la série de podcasts. Uniquement inclure ce champ lorsque la série est déjà terminée.
rssFeed Obligatoire URL URL du flux RSS de la série de podcasts.
potentialAction Obligatoire ListenAction Action à déclencher pour que les utilisateurs écoutent le contenu. Pour en savoir plus, consultez ListenAction.
popularityScore Optional PopularityScoreSpecification Un indice de popularité qui vous aide à déterminer la priorité de diffusion en cas de plusieurs candidats. Consultez les PopularityScoreSpecification (popularityScore) pour des détails et des exemples.
keywords Optional

Texte

repeated

Liste de mots clés qui seraient associés à la série de podcasts. Ces des mots clés peuvent être utilisés pour élargir les requêtes utilisateur susceptibles de déclencher ce podcast de la série. Par exemple, le nom des invités, les sujets abordés, etc.
sameAs Optional URL URL d'une page Web de référence tierce (n'appartenant pas à votre domaine) qui indique sans ambiguïté l'identité de l'article. Cette page Web est utilisée pour lorsque plusieurs séries similaires existent. Par exemple, un site Wikipédia ou la page d'accueil de la série de podcasts. Ce champ est fortement recommandé pour lever toute ambiguïté sur cette série.
releasedEvent Optional PublicationEvent, ou sous-types plus spécifiques : FeaturedEvent ou ExclusiveEvent Événement qui marque la publication ou la sortie de la série de podcasts. A peut indiquer la sortie initiale d'un podcast par un éditeur. les types plus spécialisés peuvent être utilisés pour indiquer l'exclusivité ou la caractéristique de l'album. Pour obtenir plus d'informations et des exemples, consultez les événements PublicationEvent, FeaturedEvent, ExclusiveEvent (releasedEvent). Notez que le marquage d'un si la série est exclusive ou mise en avant implique que tous les épisodes de l'émission en exclusivité ou en vedette.
countryOfOrigin Optional Pays Le pays des bureaux principaux de la société de production ou le responsable du podcast.

Spécification de l'épisode de podcast

PodcastEpisode est la représentation schema.org d'un épisode. dans une PodcastSeries.

Propriété Priorité Type Description
@context Obligatoire Texte Contexte schema.org Toujours défini sur [http://schema.googleapis.com,{@language:xx}]xx est le code de langue. Cela définit le caractère par défaut langue utilisée pour les valeurs textuelles dans le flux.
@type Obligatoire Texte Toujours défini sur PodcastEpisode.
@id Obligatoire Texte ID unique global de l'épisode de podcast au format URI. L'ID doit être stables et ne changent pas au fil du temps. Elle est traitée comme une chaîne opaque et doit être un lien fonctionnel. Votre organisation doit être propriétaire du domaine utilisé pour la valeur @id.
url Obligatoire Texte URL canonique de votre site Web où vous présentez ou décrivez le épisode de podcast. Cette valeur doit être unique. Ce lien vous aide les contenus de votre flux et de la plate-forme Google les bases de données. Pour la lecture, le target.urlTemplate détaillé dans le la section ListenAction de la documentation est utilisée.
name Obligatoire Texte

Nom de l'épisode de podcast.

Il ne doit y avoir qu'un seul nom par langue. Utilisez un tableau pour baliser les en plusieurs langues. Pour en savoir plus, consultez la section Gérer les ressources exemples de langages.

description Obligatoire Texte Description de l'épisode de podcast.
alternativeHeadline Obligatoire Texte Sous-titre de l'épisode de podcast.
author Obligatoire

Personne ou organisation

repeated

Personne ou groupe qui développe ou diffuse l'épisode. Souvent, cette valeur fait référence à l'hôte. Si l'auteur est le même que celui de l'émission, vous pouvez réutiliser des informations de l'entité PodcastSeries. Par exemple et consultez Organisation, personne (auteur/éditeur).
publisher Obligatoire

Personne ou organisation

repeated

Groupe ou réseau d'origine responsable de la publication de l'émission. Souvent désigne une organisation chargée de publier ou de produire les podcasts. Veuillez consulter Organisation, personne (auteur/éditeur) pour en savoir plus des exemples et des détails. Ce champ est vivement recommandé pour faire la distinction et nous vous recommandons de le définir le cas échéant.
actor Obligatoire

Personne ou organisation

repeated

Acteur du podcast. Pour obtenir des exemples et des détails, consultez les Section Acteur (organisateur/invité).
datePublished Obligatoire Date/Heure Date et heure de la sortie de l'épisode de podcast. Cette valeur sert à pour trier la séquence de l'épisode et faire la distinction.
episodeNumber Obligatoire Entier Numéro de l'épisode.
partOfSeries Obligatoire PodcastSeries PodcastSeries dans lequel se trouve cet épisode de podcast. Consultez la page PodcastSeries(partOfSeries) pour plus de détails et d'exemples.
partOfSeason Optional PodcastSeason Pour les séries de plusieurs saisons, cette propriété fournit les informations sur les saisons avec le numéro et le nom de la saison. Consultez PodcastSeason(partOfSeason) pour obtenir des détails et des exemples.
timeRequired Obligatoire Durée Durée de l'épisode au format ISO 8601.
image Optional

ImageObject

repeated

Illustration de la série. Il doit s'agir d'une description complète ImageObject Fournissez la résolution la plus élevée disponible. JPEG ou PNG est à privilégier. Veuillez consulter la section ImageObject (logo) pour en savoir plus des détails et des exemples.
isFamilyFriendly Obligatoire Booléen Indique si le contenu est adapté aux familles (c'est-à-dire si le contenu adapté à tous les membres d'une famille, y compris les enfants). Google produits peuvent utiliser isFamilyFriendly pour déterminer le contenu à lire. La valeur doit être true ou false.
inLanguage Obligatoire Texte Langue du contenu de l'épisode de podcast au format ISO 639-1. Utiliser ceci pour répondre aux requêtes des utilisateurs qui demandent du contenu dans une langue spécifique. Si le contenu est disponible en plusieurs langues, n'indiquez qu'une seule langue principale.
genre Obligatoire

Texte

repeated

Catégorie ou genre de la série de podcasts. Par exemple, vous pouvez suivre les catégories de podcasts standards.
associatedMedia Optional AudioObject Fichier audio de l'épisode de podcast. Pour obtenir des détails et des exemples, consultez AudioObject(associatedMedia) :
potentialAction Obligatoire ListenAction Action à déclencher pour que les utilisateurs écoutent le contenu. Pour en savoir plus, consultez la section ListenAction.
popularityScore Optional PopularityScoreSpecification Un indice de popularité permettant de déterminer la priorité de diffusion lorsqu'il existe plusieurs candidats. Pour plus d'informations et d'exemples, consultez la PopularityScoreSpecification).
keywords Optional

Texte

repeated

Liste de mots clés associés à la série de podcasts. Ces mots clés pourraient pour développer les requêtes des utilisateurs qui peuvent déclencher cet épisode de podcast. Pour Exemple : news, sports ou history.
identifier Obligatoire

PropertyValue

repeated

Pour PodcastEpisode, utilisez cette propriété pour fournir un GUID. La Le GUID doit être un ID permettant d'identifier l'identité d'un podcast de manière globale et unique. d'épisodes. Il diffère du champ @id de l'épisode.

Consultez la section PropertyValue (identifier) pour en savoir plus à titre d'exemple.

sameAs Optional URL URL d'une page Web de référence tierce (n'appartenant pas à votre domaine) qui indique sans ambiguïté l'identité de l'article. Google utilise cette page Web pour lorsque plusieurs séries similaires existent. Par exemple, un site Wikipédia ou sur la page d'accueil des épisodes du podcast. Notez que la référence au niveau de la série ne doit pas être indiquée ici. Nous vous recommandons vivement d'utiliser ce champ pour de l'épisode.
releasedEvent Optional PublicationEvent, ou sous-types plus spécifiques : FeaturedEvent ou ExclusiveEvent Événement qui marque la publication ou la sortie de l'épisode de podcast. A peut indiquer la sortie initiale d'un épisode de podcast par éditeur. Les sous-types plus spécifiques peuvent indiquer l'exclusivité ou la mise en avant de l'album. Pour plus d'informations et d'exemples, consultez la PublicationEvent, FeaturedEvent, ExclusiveEvent (releasedEvent). Remarque : Pour marquer une série comme exclusive ou présentée ci-dessus, vous devez sont des épisodes exclusifs ou sont mis en avant. Nous vous recommandons de marquer au niveau le plus précis.
countryOfOrigin Optional Pays Pays des bureaux principaux de la société de production ou de l'individu responsable du podcast.

PodcastSeries (partOfSeries)

Utilisez partOfSeries pour établir la relation entre un PodcastEpisode. et son parent PodcastSeries. Étant donné que tous les détails du PodcastSeries est décrit dans l'entité PodcastSeries distincte, il n'est pas nécessaire de fournir Consultez les détails complets dans partOfSeries. Il vous suffit de fournir les éléments suivants : propriétés:

Propriété Priorité Type Description
@type Obligatoire Texte Toujours défini sur PodcastSeries.
@id Obligatoire URL ID unique global pour la série au format URI. L'ID doit correspondre à ID de l'entité PodcastSeries complète de votre flux.
name Obligatoire Texte Nom de la série de podcasts.

Exemple 1

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

PodcastSeason (partOfSeason)

Le PodcastSeason représente les informations de saison d'un PodcastEpisode, et surtout le numéro de la saison. Vous n'avez besoin que cette propriété lorsque la série de podcasts comporte plusieurs saisons.

Propriété Priorité Type Description
@type Obligatoire Texte Toujours défini sur PodcastSeason
@id Obligatoire URL Identifiant unique de la saison au format URI. L'ID doit être stable et ne changent pas au fil du temps. Elle est traitée comme une chaîne opaque et n'a pas besoin être un lien fonctionnel.
seasonNumber Obligatoire Entier Numéro de la saison de la série de podcasts.
name Optional Texte Nom de la saison du podcast.

Exemple 1

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

Organisation, personne (auteur ou éditeur)

Propriété Priorité Type Description
@type Obligatoire Texte Toujours défini sur Organization ou Person.
@id Obligatoire URL ID unique global de l'organisation ou de la personne au format URI. L'identifiant doivent être stables et ne pas changer au fil du temps. Elle est traitée comme une chaîne opaque et n'a pas besoin d'être un lien fonctionnel.
name Obligatoire Texte Nom de l'organisation ou de la personne.
sameAs Optional URL URL d'une page Web de référence tierce (n'appartenant pas à votre domaine) qui indique sans ambiguïté l'identité de l'article. Google utilise cette page Web pour lorsque plusieurs séries similaires existent. Il peut s'agir, par exemple, Page Wikipédia d'une organisation ou son site Web officiel.

Exemple 1

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

Exemple 2

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

Acteur (organisateur ou invité)

Propriété Priorité Type Description
@type Obligatoire Texte Toujours défini sur Organization ou Person.
@id Obligatoire URL ID unique global de l'organisation ou de la personne au format URI. L'identifiant doivent être stables et ne pas changer au fil du temps. Elle est traitée comme une chaîne opaque et n'a pas besoin d'être un lien fonctionnel.
name Obligatoire Texte Nom de l'organisation ou de la personne.
roleName Obligatoire Texte "Hôte" ou "Invité".
sameAs Optional URL URL d'une page Web de référence tierce (n'appartenant pas à votre domaine) qui indique sans ambiguïté l'identité de l'article. Google utilise cette page Web pour lorsque plusieurs séries similaires existent. Il peut s'agir, par exemple, Page Wikipédia d'une organisation ou son site Web officiel.

Exemple 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 (logo ou image)

L'élément ImageObject permet de fournir le logo ou l'illustration du contenu.

Propriété Priorité Type Description
@type Obligatoire Texte Toujours défini sur ImageObject.
height Optional Entier Hauteur de l'image en pixels.
width Optional Entier Largeur de l'image en pixels.
contentUrl Obligatoire URL URL où l'image peut se trouver.
regionsAllowed Optional

Pays

repeated

Pays dans lesquels la diffusion de contenu multimédia est autorisée:

  • Si aucune valeur n'est spécifiée, le système considère que l'image est autorisée paramètres régionaux.
  • Pour envoyer différentes images par région, ajoutez plusieurs ImageObject, chacune avec son propre ensemble de pays et un l'URL de l'image correspondante.

Pays (image.regionsAllowed)

Propriété Priorité Type Description
@type Obligatoire Texte Toujours défini sur Country.
name Obligatoire Texte Le Code pays ISO 3166-1 alpha-2. Par exemple, GB, US

Exemple 1

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

Exemple 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)

Si vous disposez de GUID pour votre contenu, vous pouvez les fournir avec le paramètre identifier afin d'améliorer la précision du rapprochement par Google de vos de votre contenu. Veuillez noter que le GUID est obligatoire pour PodcastEpisode. Il doit être différent du champ @id de l'épisode (et non pas au sein de votre domaine) et doit représenter l'épisode source de manière globale. de façon unique au fil du temps, dans toutes les sources.

Propriété Priorité Type Description
@type Obligatoire Texte Toujours défini sur "PropertyValue".
propertyID Obligatoire Texte Toujours défini sur GUID.
value Obligatoire Texte GUID de la série ou de l'épisode.

Exemple 1

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

PopularityScoreSpecification (popularityScore)

Le popularityScore peut aider les utilisateurs à accéder à la lorsque les critères de la requête de l'utilisateur correspondent à plusieurs entités de votre flux. Le contenu avec le score de popularité le plus élevé disponible dans la région de l'utilisateur est diffusé auprès de ce dernier lorsque cette valeur est disponibles. Tous les contenus sans ce champ sont associés par défaut au score de popularité 0. La La comparaison des scores s'effectue dans le cadre de votre catalogue complet. Veuillez donc assurez-vous que l'échelle est cohérente dans l'ensemble de vos flux.

Propriété Priorité Type Description
@type Obligatoire Texte Toujours défini sur PopularityScoreSpecification.
value Obligatoire Numérique Valeur numérique positive à comparer à d'autres entités de votre catalogue pour la priorité de diffusion. Plus le nombre est élevé, plus la vidéo est populaire.
eligibleRegion Optional

Pays ou texte

repeated

Une région ou une liste des régions auxquelles ce score de popularité s'applique.

Si le score de popularité s'applique à l'échelle mondiale, utilisez earth comme texte. .

Si des régions spécifiques doivent être listées, veuillez utiliser le type "Pays".

Si vous ne renseignez pas ce champ, eligibleRegion est défini par défaut sur earth

Pays (popularityScore.ÉligibleRegion)

Propriété Priorité Type Description
@type Obligatoire Texte Toujours défini sur Country.
name Obligatoire Texte Le Code pays ISO 3166-1 alpha-2. Par exemple, GB, US

Exemple 1

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

Exemple 2

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

Exemple 3

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

PublicationEvent, FeaturedEvent, ExclusiveEvent (releasedEvent)

PublicationEvent
Utilisez cet objet pour représenter la date et le lieu de publication d'une émission ou épisode (également appelé "date de sortie" d'une série ou d'un épisode). De plus, le champ publishedBy indique la publication ou la distribution entité de la série ou de l'épisode du podcast.
ExclusiveEvent
Cet objet permet d'indiquer que le fournisseur détient les droits de distribution exclusifs. pour le podcast. L'exclusivité peut être spécifique à une région, temporellement définie et doit incluez le champ "organization" qui pointe vers le fournisseur exclusif contenus.
FeaturedEvent
Utilisez cet objet pour indiquer que le fournisseur propose le podcast à consommateurs (par exemple, en tant qu'utilisateur "original").
Les contenus exclusifs sont différents des contenus exclusifs.
Le terme "originales (présentées)" désigne souvent les droits exclusifs sur une , ce qui surcharge le terme. Par conséquent, la signification prévue doit être divisée dans les deux catégories ci-dessus. Il est possible qu'une entité d'origine soit également exclusive. Ici, releasedEvent peut utiliser un tableau contenant à la fois d'événements sur la même entité.

Notez que, même si l'exclusivité ou la caractéristique peut avoir des significations similaires dans catalogue d'un fournisseur, PublicationEvent s'applique plus généralement des entités et fournir des métadonnées supplémentaires à ce sujet, comme la date de sortie d'une série ou d'un épisode.

Propriété Priorité Type Description
@type Obligatoire Texte Toujours défini sur PublicationEvent, ExclusiveEvent ou FeaturedEvent.
location Obligatoire Pays Région dans laquelle l'événement de publication se produit. Vous pouvez également utiliser cette pour représenter les restrictions d'exclusivité et de distribution de l'entité. Utilisez les codes ISO 3166 du pays. Si vous devez postuler sémantique globale, définie sur EARTH. Défini explicitement De location à EARTH, si les paramètres régionaux sont spécifiques ne s'appliquent pas.
startDate Recommandé (obligatoire pour ExclusiveEvent) Date ou DateTime Date de début de l'exécution publication. Dans le cas d'une PublicationEvent, indique la date de sortie initiale du cette entité. Dans le cas de ExclusiveEvent ou FeaturedEvent, correspond à la date de début l'exclusivité ou la présentation de l'entité.
endDate Recommandé (obligatoire pour ExclusiveEvent) Date ou DateTime Date de fin de la publication des entités. Dans le cas d'une PublicationEvent, indique la date de publication finale de cette entité. Dans le cas de ExclusiveEvent ou FeaturedEvent, correspond à la date de fin l'exclusivité ou la présentation de l'entité.
publishedBy Obligatoire Organisation ou personne L'entité Organization ou Person qui publie cette entité et s'applique à cet événement de publication. Veuillez utiliser le même schéma que celui décrit dans Organisation (auteur/éditeur).

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

Exemple 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 (associéMedia)

AudioObject permet de fournir le fichier multimédia brut de l'épisode de podcast.

Propriété Priorité Type Description
@type Obligatoire Texte Toujours défini sur AudioObject.
contentUrl Obligatoire URL URL du fichier multimédia.
contentSize Obligatoire Entier Taille du fichier multimédia en octets.
encodingFormat Obligatoire Texte Types de médias IANA du fichier multimédia. Par exemple, audio/mpeg.
duration Obligatoire Durée Longueur du contenu multimédia au format de durée ISO 8601.
transcript Optional Texte Transcription de l'épisode.
bitrate Optional Texte Débit du fichier multimédia.
name Optional Texte Nom du fichier multimédia.

Exemple 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)

L'entité ListenAction définit vos liens profonds pour la lecture et les critères pour les utilisateurs (géographique, chronologique, de connexion ou d'abonnement, par exemple) afin qu'ils accéder au contenu.

Propriété Priorité Type Description
@type Obligatoire Texte Toujours défini sur ListenAction.
target Obligatoire

EntryPoint

repeated

Spécifications de votre lien profond avec la plate-forme compatible des informations. Vous pouvez utiliser plusieurs champs EntryPoint pour définir des liens profonds pour différents ensembles de plates-formes.
actionAccessibilityRequirement Obligatoire

ActionAccessSpecification

repeated

Définition des conditions requises pour accéder à cette entité. Si plusieurs ActionAccessSpecification présente, un utilisateur qui correspond à de spécification peuvent accéder au contenu.

EntryPoint (potentialAction.target)

table class="fixe"> Propriété Priorité Type Description @type Obligatoire Texte Toujours défini sur EntryPoint. urlTemplate Obligatoire URL Lien qui permet de lancer la lecture de votre contenu. actionPlatform Obligatoire

Texte

repeated

Plate-forme pour laquelle ce lien profond est valide. Les valeurs suivantes sont possibles:

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

Propriété Priorité Type Description
@type Obligatoire Texte Toujours défini sur ActionAccessSpecification.
category Obligatoire Texte

Type d'accès requis. Il doit s'agir de l'un des éléments suivants : :

  • nologinrequired: l'utilisateur peut accéder à l'action. sans achat ni connexion pour accéder au contenu.
  • free: l'action est disponible sans achat ni abonnement payant requis de l'utilisateur. L'action nécessite à se connecter.
  • subscription: l'action est incluse dans un rapport à votre service.
availabilityStarts Optional Date/Heure Heure de début de la période de disponibilité. Vous pouvez l'utiliser pour contrôler l'heure exacte à laquelle les utilisateurs peuvent voir ce contenu.
availabilityEnds Optional Date/Heure Heure de fin de la période de disponibilité. Vous pouvez l'utiliser pour contrôler l'heure exacte à laquelle ce contenu n'est plus exposé utilisateurs.
eligibleRegion Obligatoire

Pays

repeated

Pays dans lequel l'offre est disponible. Vous pouvez l'utiliser pour contrôler le pays ou la région où le contenu doit être disponibles.
requiresSubscription Obligatoire, le cas échéant MediaSubscription Forfait d'abonnement requis pour accéder à ce contenu. Si votre propose plusieurs formules d'abonnement, ce champ est obligatoire. Si votre service est sans frais ou qu'il n'existe qu'un seul niveau d'abonnement, vous pouvez ignorer ce champ.

Pays (potentialAction.actionAccessibilityRequirement.eligibilityRegion)

Propriété Priorité Type Description
@type Obligatoire Texte Toujours défini sur Country.
name Obligatoire Texte La Code pays ISO 3166-1 alpha 2.

MediaSubscription (potentialAction.actionAccessibilityRequirement.requiresSubscription)

Propriété Priorité Type Description
@type Obligatoire Texte Toujours défini sur MediaSubscription.
@id Obligatoire URL ID unique global du package d'abonnement au format URI. La L'ID doit être stable et immuable dans le temps. Il est considéré comme une vision opaque et ne doit pas nécessairement être un lien fonctionnel.
name Obligatoire Texte Nom de la formule d'abonnement. Exemple : Premium, Basic.
expectsAcceptanceOf Recommandé Offre Offre associée à l'achat d'un abonnement multimédia. Toi pour exprimer le prix de l'abonnement.

Offer (potentialAction.actionAccessibilityRequiredment.requiresSubscription.expectsAcceptanceOf)

Propriété Priorité Type Description
@type Obligatoire Texte Toujours défini sur Offer.
price Obligatoire Nombre Prix de l'abonnement.
priceCurrency Obligatoire Texte Devise du prix (au format ISO 4217 à trois lettres).
seller Recommandé Organisation L'organisation qui propose l'abonnement ou l'achat action. Utilisez le même schéma que celui décrit dans la Organisation (auteur/éditeur).

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

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

Annexe

Exemple complet

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