Specyfikacja podcastu Schema.org

Ta sekcja zawiera szczegółowe informacje o właściwościach znaczników treści w przypadku podcastów.

Specyfikacja PodcastSeries

PodcastSeries to reprezentacja serii podcastów, która jest również nazywana podcastem „programem”.

Właściwość Priorytet Typ Opis
@context Wymagany Tekst Kontekst schema.org. Zawsze ustawiaj wartość [http://schema.googleapis.com,{@language}:xx}], gdzie xx powinien być w kodzie języka. To ustawienie określa domyślny język używany do wartości tekstowych w podmiocie.
@type Wymagany Tekst Zawsze ustawiona na PodcastSeries.
@id Wymagany Tekst Niepowtarzalny globalnie identyfikator serii podcastów w formacie URI. Ten identyfikator musi być stały i nie może zmieniać się w czasie. Jest traktowany jako ciąg nieprzejrzysty, więc nie musi być działającym linkiem. Domena użyta w wartości @id musi należeć do Twojej organizacji.
url Wymagany Tekst Kanoniczny adres URL w Twojej witrynie, pod którym przedstawiono lub opisano daną serię podcastów. Musi być niepowtarzalny na całym świecie. Ten link pomaga dokładnie uzgodnić zawartość Twojego pliku danych z zawartością baz danych Google. Do odtwarzania użyj target.urlTemplate opisanego w sekcji ListenAction dokumentacji.
name Wymagany Tekst

Nazwa serii podcastu. Podaj tylko jedną nazwę w każdym języku.

Użyj tablicy, aby oznaczyć opis w kilku językach. Zobacz przykład dotyczący wielu regionów i języków.

description Wymagany Tekst

streszczenie serii podcastów,

Użyj tablicy, aby oznaczyć opis w kilku językach. Zobacz przykład dotyczący wielu regionów i języków.

alternativeHeadline Opcjonalny Tekst Napisy do serii podcastów.
author Wymagany

Osoba lub organizacja

powtarzane

Osoba lub grupa, która tworzy lub dostarcza program. Często odnosi się do hosta. Przykłady i szczegółowe informacje znajdziesz w artykule Organizacja, osoba (autor/wydawca).
publisher Opcjonalny

Osoba lub organizacja

powtarzane

Pierwotna grupa lub sieć odpowiedzialna za publikowanie programu. Często odnosi się do organizacji odpowiedzialnej za publikowanie lub produkowanie kilku podcastów. Przykłady i szczegółowe informacje znajdziesz w artykule Organizacja, osoba (autor/wydawca). Wypełnienie tego pola jest zdecydowanie zalecane w celu rozróżnienia i musi zostać podane w odpowiednich przypadkach.
actor Opcjonalny

Osoba lub organizacja

powtarzane

Uczestnik podcastu. Przykłady i szczegółowe informacje znajdziesz w sekcji Uczestnik (host/gość) .
logo Opcjonalny

ImageObject

powtarzane

Obraz logo serii. Podaj w pełni opisany plik ImageObject. Prześlij zdjęcie w najwyższej możliwej rozdzielczości. Preferowane są pliki JPEG lub PNG. Szczegóły i przykłady znajdziesz w sekcji ImageObject (logo).
image Wymagany

ImageObject

powtarzane

Obraz z grafiką z serii. Podaj pełny opis.ImageObject Prześlij zdjęcie w najwyższej możliwej rozdzielczości. Zalecamy format JPEG lub PNG. Szczegółowe informacje i przykłady znajdziesz w sekcji ImageObject (logo).
isFamilyFriendly Wymagany Wartość logiczna Wskazuje, czy te treści są przyjazne dla całej rodziny (czy są odpowiednie dla wszystkich członków rodziny, w tym dzieci). Usługi Google mogą używać isFamilyFriendly, aby określić, jakie treści odtwarzać. Wartość musi wynosić true lub false.
inLanguage Wymagany Tekst Język treści podcastu w formacie ISO 639-1. Wartość ta może być używana do obsługi zapytań użytkowników dotyczących treści w określonym języku.
genre Wymagany

Tekst

powtarzane

Kategoria lub gatunek serii podcastów. Możesz na przykład stosować standardowe kategorie podcastów.
endDate Opcjonalny Data Data wydania ostatniego odcinka serii podcastu. Używaj tego pola tylko wtedy, gdy seria została już zakończona.
rssFeed Wymagany URL Adres URL kanału RSS serii podcastów.
potentialAction Wymagany ListenAction Działanie, które ma zostać wywołane, aby użytkownicy mogli odsłuchać treści. Więcej informacji znajdziesz w sekcji ListenAction.
popularityScore Opcjonalny PopularityScoreSpecification Ocena popularności, która pomaga określić priorytet wyświetlania, gdy istnieje kilka kandydatów. Szczegółowe informacje i przykłady znajdziesz w sekcji PopularityScoreSpecification (popularityScore).
keywords Opcjonalny

Tekst

powtarzane

lista słów kluczowych, które będą powiązane z serią podcastów; Te słowa kluczowe mogą służyć do rozszerzania zapytań użytkowników, które mogą wywołać tę serię podcastów. Na przykład nazwy gości, poruszane tematy itp.
sameAs Opcjonalny URL Adres URL strony referencyjnej należącej do osoby trzeciej (nie w Twojej domenie), która jednoznacznie identyfikuje produkt. Ta strona internetowa służy do rozróżniania, gdy istnieje wiele podobnych serii. Może to być na przykład strona w Wikipedii lub strona główna serii podcastów. Wypełnienie tego pola zdecydowanie zalecamy w celu rozróżnienia serii.
releasedEvent Opcjonalny PublicationEvent lub bardziej szczegółowe podtypy – FeaturedEvent lub ExclusiveEvent. Zdarzenie oznaczające publikację lub wydanie serii podcastów. Zdarzenie publikacji może oznaczać początkowe wydanie podcastu przez wydawcę, a bardziej wyspecjalizowane typy mogą służyć do oznaczania ekskluzywności lub wyróżnienia danego wydania. Szczegółowe informacje i przykłady znajdziesz w sekcji PublicationEvent, FeaturedEvent, ExclusiveEvent (releasedEvent). Pamiętaj, że oznaczenie serialu jako ekskluzywnego lub polecanego oznacza, że wszystkie odcinki programu są ekskluzywne lub polecane.
countryOfOrigin Opcjonalny Kraj Kraj, w którym znajdują się główne biura firmy produkcyjnej lub osoby odpowiedzialnej za podcast.

Specyfikacja PodcastEpisode

PodcastEpisode to reprezentacja schema.org odcinka w ramach PodcastSeries.

Właściwość Priorytet Typ Opis
@context Wymagany Tekst Kontekst schema.org. Zawsze ustawiaj wartość [http://schema.googleapis.com,{@language:xx}], gdzie xx to kod języka. To ustawienie określa domyślny język znaków używany w przypadku wartości tekstowych w pliku danych.
@type Wymagany Tekst Zawsze ustawiona na PodcastEpisode.
@id Wymagany Tekst Niepowtarzalny globalnie identyfikator odcinka podcastu w formacie URI. Ten identyfikator musi być stały i nie może zmieniać się w czasie. Jest traktowany jako ciąg nieprzejrzysty, więc nie musi być działającym linkiem. Domena użyta w wartości @id musi należeć do Twojej organizacji.
url Wymagany Tekst Kanoniczny adres URL w Twojej witrynie, pod którym przedstawiasz lub opisujesz odcinek podcastu. Ta wartość musi być globalnie niepowtarzalna. Ten link pomaga dokładnie uzgodnić zawartość Twojego pliku danych z zawartością baz danych Google. W przypadku odtwarzania używany jest target.urlTemplate opisany w sekcji ListenAction dokumentacji.
name Wymagany Tekst

Nazwa odcinka podcastu.

W przypadku każdego języka musi być tylko 1 nazwa. Użyj tablicy, aby oznaczyć opis w różnych językach. Zobacz przykład z wieloma regionami i językami.

description Wymagany Tekst Opis odcinka podcastu.
alternativeHeadline Wymagany Tekst Podtytuł odcinka podcastu.
author Wymagany

Osoba lub organizacja

powtarzane

Osoba lub grupa, która tworzy lub dostarcza odcinek. Ta wartość często odnosi się do hosta. Jeśli autor jest taki sam jak w przypadku programu, możesz ponownie użyć informacji z elementu PodcastSeries. Przykłady i szczegółowe informacje znajdziesz w artykule Organizacja, osoba (autor/wydawca).
publisher Wymagany

Osoba lub organizacja

powtarzane

Pierwotna grupa lub sieć odpowiedzialna za publikowanie programu. Często odnosi się do organizacji odpowiedzialnej za publikowanie lub produkowanie kilku podcastów. Przykłady i szczegółowe informacje znajdziesz w sekcji Organizacja, osoba (autor/wydawca). To pole jest bardzo przydatne do rozróżniania nazw i zalecamy zdefiniowanie go w odpowiednich przypadkach.
actor Wymagany

Osoba lub organizacja

powtarzane

Uczestnik podcastu. Przykłady i szczegółowe informacje znajdziesz w sekcji Uczestnik (host/gość).
datePublished Wymagany Data/godzina Data i godzina wydania odcinka podcastu. Ta wartość służy do sortowania sekwencji odcinków i ich rozróżniania.
episodeNumber Wymagany Liczba całkowita Numer odcinka.
partOfSeries Wymagany PodcastSeries PodcastSeries, w którym znajduje się ten odcinek podcastu. Szczegółowe informacje i przykłady znajdziesz w sekcji PodcastSeries(partOfSeries).
partOfSeason Opcjonalny PodcastSeason W przypadku seriali wielosezonowych ta właściwość zawiera informacje o sezonie, a także jego numer i nazwę. Szczegółowe informacje i przykłady znajdziesz w sekcji PodcastSeason(partOfSeason).
timeRequired Wymagany Czas trwania Czas trwania odcinka w formacie ISO 8601.
image Opcjonalny

ImageObject

powtarzane

Obraz z grafiką z serii. Musi to być w pełni opisany ImageObject. Prześlij zdjęcie w najwyższej możliwej rozdzielczości. Preferowane są pliki JPEG lub PNG. Szczegółowe informacje i przykłady znajdziesz w sekcji ImageObject (logo).
isFamilyFriendly Wymagany Wartość logiczna Wskazuje, czy te treści są przyjazne dla całej rodziny (czyli czy są odpowiednie dla wszystkich członków rodziny, w tym dzieci). Produkty Google mogą używać isFamilyFriendly do określenia treści do odtworzenia. Wartość musi być true lub false.
inLanguage Wymagany Tekst Język treści odcinka podcastu w formacie ISO 639-1. Użyj tej wartości, aby spełnić zapytania użytkowników dotyczące treści w określonym języku. Jeśli treści są w wielu językach, podaj tylko jeden język główny.
genre Wymagany

Tekst

powtarzane

Kategoria lub gatunek serii podcastów. Możesz na przykład stosować standardowe kategorie podcastów.
associatedMedia Opcjonalny AudioObject Plik dźwiękowy odcinka podcastu. Szczegółowe informacje i przykłady znajdziesz w AudioObject(associatedMedia).
potentialAction Wymagany ListenAction (słuchanie) Działanie, które ma zostać wywołane, aby użytkownicy mogli odsłuchać treści. Więcej informacji znajdziesz w sekcji ListenAction.
popularityScore Opcjonalny PopularityScoreSpecification Wynik popularności, który określa priorytet wyświetlania w przypadku wielu kandydatów. Szczegółowe informacje i przykłady znajdziesz w sekcji PopularityScoreSpecification.
keywords Opcjonalny

Tekst

powtarzane

Lista słów kluczowych powiązanych z serią podcastów. Te słowa kluczowe mogą służyć do rozszerzania zapytań użytkowników, które mogą wywołać ten odcinek podcastu. Może to być np. news, sports lub history.
identifier Wymagany

PropertyValue

powtarzane

W przypadku PodcastEpisode użyj tej właściwości, aby podać identyfikator GUID. Identyfikator GUID musi być identyfikatorem, który umożliwia globalną i jednoznaczną identyfikację odcinków podcastu. Różni się od pola @id w odcinku.

Przykład znajdziesz w sekcji Element PropertyValue (identifier).

sameAs Opcjonalny URL Adres URL strony referencyjnej należącej do osoby trzeciej (nie w Twojej domenie), która jednoznacznie identyfikuje produkt. Google używa tej strony do rozróżniania, gdy istnieje wiele podobnych serii. Może to być na przykład strona w Wikipedii lub strona główna odcinków podcastu. Pamiętaj, że nie musisz podawać strony referencyjnej na poziomie serii. Zdecydowanie zalecamy wypełnienie tego pola w celu rozróżnienia odcinków.
releasedEvent Opcjonalny PublicationEvent lub bardziej szczegółowe podtypy: FeaturedEvent lub ExclusiveEvent. Zdarzenie oznaczające publikację lub wydanie odcinka podcastu. Zdarzenie publikacji może oznaczać początkowe wydanie odcinka podcastu przez wydawcę, a bardziej szczegółowe podtypy mogą wskazywać na to, że wydanie jest ekskluzywne lub wyróżnione. Szczegółowe informacje i przykłady znajdziesz w sekcji PublicationEvent, FeaturedEvent, ExclusiveEvent (releasedEvent). Pamiętaj, że oznaczenie serialu jako ekskluzywnego lub polecanego oznacza, że wszystkie odcinki serialu są ekskluzywne lub polecane. Zalecamy oznaczenie takich właściwości na najbardziej szczegółowym poziomie.
countryOfOrigin Opcjonalny Kraj Kraj, w którym znajdują się główne biura firmy produkcyjnej lub osoby odpowiedzialnej za podcast.

PodcastSeries (partOfSeries)

Użyj elementu partOfSeries, aby utworzyć relację między elementem PodcastEpisode a jego elementem nadrzędnym PodcastSeries. Ponieważ wszystkie szczegóły dotyczące PodcastSeries są opisane w osobnym elemencie PodcastSeries, nie musisz podawać wszystkich szczegółów w elemencie partOfSeries. Wystarczy, że podasz te właściwości:

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiona na PodcastSeries.
@id Wymagany URL Niepowtarzalny globalnie identyfikator serialu w formacie URI. Identyfikator musi być zgodny z identyfikatorem pełnego obiektu PodcastSeries w pliku danych.
name Wymagany Tekst Nazwa serii podcastu.

Przykład 1

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

PodcastSeason (partOfSeason)

Wartość PodcastSeason reprezentuje informacje o sezonie w PodcastEpisode, przede wszystkim numer sezonu. Ta właściwość jest potrzebna tylko wtedy, gdy seria podcastów ma kilka sezonów.

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiona na PodcastSeason
@id Wymagany URL Niepowtarzalny globalnie identyfikator sezonu w formacie URI. Ten identyfikator musi być stały i nie może zmieniać się w czasie. Jest traktowany jako ciąg nieprzejrzysty, więc nie musi być działającym linkiem.
seasonNumber Wymagany Liczba całkowita Numer sezonu serii podcastu.
name Opcjonalny Tekst Nazwa sezonu podcastu.

Przykład 1

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

Organizacja, osoba (autor lub wydawca)

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiaj jako Organization lub Person.
@id Wymagany URL Niepowtarzalny globalnie identyfikator organizacji lub osoby w formacie identyfikatora URI. Ten identyfikator powinien być stały i nie zmieniać się w czasie. Jest traktowany jako ciąg nieprzejrzysty, więc nie musi być działającym linkiem.
name Wymagany Tekst Nazwa organizacji lub osoby.
sameAs Opcjonalny URL Adres URL strony referencyjnej należącej do osoby trzeciej (nie w Twojej domenie), która jednoznacznie identyfikuje produkt. Google używa tej strony do rozróżniania, gdy istnieje wiele podobnych serii. Może to być na przykład strona organizacji w Wikipedii lub jej oficjalna witryna.

Przykład 1

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

Przykład 2

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

Użytkownik, który wykonał czynność (gospodarz lub gość)

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiaj jako Organization lub Person.
@id Wymagany URL Niepowtarzalny globalnie identyfikator organizacji lub osoby w formacie identyfikatora URI. Ten identyfikator powinien być stały i nie zmieniać się w czasie. Jest traktowany jako ciąg nieprzejrzysty, więc nie musi być działającym linkiem.
name Wymagany Tekst Nazwa organizacji lub osoby.
roleName Wymagany Tekst „Host” lub „Gość”.
sameAs Opcjonalny URL Adres URL strony referencyjnej należącej do osoby trzeciej (nie w Twojej domenie), która jednoznacznie identyfikuje produkt. Google używa tej strony do rozróżniania, gdy istnieje wiele podobnych serii. Może to być na przykład strona organizacji w Wikipedii lub jej oficjalna witryna.

Przykład 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 lub obraz)

Znacznik ImageObject służy do umieszczania logo lub grafiki treści.

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiona na ImageObject.
height Opcjonalny Liczba całkowita Wysokość obrazu w pikselach.
width Opcjonalny Liczba całkowita Szerokość obrazu w pikselach.
contentUrl Wymagany URL Adres URL, pod którym można znaleźć obraz.
regionsAllowed Opcjonalny

Kraj

powtarzane

Kraje, w których media są dozwolone:

  • Jeśli nie określisz języka, założymy, że obraz jest dozwolony we wszystkich językach.
  • Aby przesłać różne zdjęcia dla poszczególnych regionów, dodaj kilka właściwościImageObject, z których każda będzie mieć własny zestaw krajów i odpowiadający adres URL zdjęcia.

Kraj (image.regionsAllowed)

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiona na Country.
name Wymagany Tekst Kod kraju w formacie ISO 3166-1 alpha-2. Na przykład: GB, US.

Przykład 1

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

Przykład 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"
      }
    ]
  },
],

Element PropertyValue (identifier)

Jeśli masz identyfikatory GUID swoich treści, możesz je podać w polu identifier, aby zwiększyć dokładność porównywania treści przez Google. Pamiętaj, że identyfikator GUID jest wymagany w przypadku PodcastEpisode. Musi on różnić się od pola @id odcinka (nie w Twojej domenie) i musi reprezentować odcinek źródłowy globalnie oraz w sposób unikalny w czasie w różnych źródłach.

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiana na „PropertyValue”.
propertyID Wymagany Tekst Zawsze ustawiona na GUID.
value Wymagany Tekst Identyfikator GUID serii lub odcinka.

Przykład 1

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

PopularityScoreSpecification (popularityScore)

popularityScore może pomóc użytkownikom w wybraniu najbardziej odpowiedniej treści w sytuacjach, gdy kryteria z zapytania użytkownika pasują do wielu elementów w Twoim pliku danych. Treści z najwyższą oceną popularności dostępne w regionie użytkownika są wyświetlane użytkownikowi, gdy ta wartość jest dostępna. Wszystkie treści bez tego pola mają domyślnie przypisany wynik popularności 0. Porównanie wyników odbywa się w ramach całego katalogu, dlatego upewnij się, że skala jest spójna we wszystkich plikach danych.

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiona na PopularityScoreSpecification.
value Wymagany Wartość liczbowa Wartość liczbowa dodatnia do porównania z innymi elementami z katalogu na potrzeby ustalania priorytetu wyświetlania. Im większa liczba, tym większa popularność.
eligibleRegion Opcjonalny

Kraj lub tekst

powtarzane

Jeden region lub lista regionów, w których ma obowiązywać ten wynik popularności.

Jeśli wynik popularności ma zastosowanie na całym świecie, jako wartość tekstowa użyj wartości earth.

Jeśli chcesz uwzględnić konkretne regiony, użyj typu „Kraj”.

Jeśli pozostawisz to pole puste, eligibleRegion przyjmie domyślnie wartość earth.

Kraj (popularityScore.eligibleRegion)

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiona na Country.
name Wymagany Tekst Kod kraju w formacie ISO 3166-1 alpha-2. Na przykład: GB, US.

Przykład 1

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

Przykład 2

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

Przykład 3

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

PublicationEvent, FeaturedEvent, ExclusiveEvent (releasedEvent)

PublicationEvent
Użyj tego obiektu, aby reprezentować datę i miejsce publikacji programu lub odcinka (znaną też jako „data premiery” serialu lub odcinka). Dodatkowo pole publishedBy wskazuje podmiot, który publikuje lub rozpowszechnia serię podcastów lub odcinek.
ExclusiveEvent
Użyj tego obiektu, aby wskazać, że dostawca ma wyłączne prawa do dystrybucji podcastu. Wyłączność może być ograniczona do konkretnego regionu i określonego czasu. Musi zawierać pole organizacji, które wskazuje na wyłącznego dostawcę treści.
FeaturedEvent
Użyj tego obiektu, aby wskazać, że dostawca udostępnia podcast konsumentom (np. jako „oryginał”).
Oryginały różnią się od treści dostępnych wyłącznie w ramach usługi.
Termin „oryginały (wyróżnione)” często oznacza prawa wyłączne do danej treści, co powoduje przeciążenie tego terminu. W związku z tym zamierzone znaczenie musi zostać podzielone na 2 wymienione powyżej kategorie. Pierwotny obiekt może być też obiektem wykluczającym, a w takim przypadku releasedEvent może przyjmować tablicę z obu typami zdarzeń w tym samym obiekcie.

Pamiętaj, że chociaż ekskluzywność lub wyróżnienie mogą mieć podobne znaczenie w katalogu dostawcy, PublicationEvent ma bardziej ogólne zastosowanie, aby umożliwić rozróżnianie elementów i udostępnianie dodatkowych metadanych, takich jak data premiery serialu lub odcinka.

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiaj jedną z wartości: PublicationEvent, ExclusiveEvent lub FeaturedEvent.
location Wymagany Kraj Region, w którym występuje zdarzenie publikacji. Możesz też użyć tego pola do reprezentowania ograniczeń dotyczących wyłączności i ograniczeń dystrybucji podmiotu. Używaj kodów kraju w formacie ISO 3166. Jeśli chcesz zastosować semantykę globalną, ustaw wartość na EARTH. Jeśli ograniczenia dotyczące danego języka nie mają zastosowania, ustaw opcję location na EARTH.
startDate Zalecane (Wymagane w przypadku ExclusiveEvent) Date lub DateTime Data rozpoczęcia publikacji jednostek. W przypadku elementu PublicationEvent oznacza to datę początkowej publikacji tego obiektu. W przypadku wartości ExclusiveEvent lub FeaturedEvent jest to data rozpoczęcia okresu, w którym element jest dostępny wyłącznie w ramach oferty specjalnej.
endDate Zalecane (Wymagane w przypadku ExclusiveEvent) Date lub DateTime Data zakończenia publikacji jednostek. W przypadku elementu PublicationEvent oznacza on datę ostatniej publikacji tego elementu. W przypadku ExclusiveEvent lub FeaturedEvent jest to data zakończenia wyłączności lub wyróżnienia elementu.
publishedBy Wymagany Organizacja lub osoba Jednostka Organization lub Person, która publikuje ten element i dotyczy tego zdarzenia publikacji. Użyj tego samego schematu, który został opisany w sekcji Organizacja (autor/wydawca).

Przykład 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",
  },
 },
]

Przykład 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)

AudioObject służy do udostępniania surowego pliku multimedialnego odcinka podcastu.

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiona na AudioObject.
contentUrl Wymagany URL Adres URL pliku multimedialnego.
contentSize Wymagany Liczba całkowita Rozmiar pliku multimedialnego w bajtach.
encodingFormat Wymagany Tekst Typy mediów IANA pliku multimedialnego. Na przykład:audio/mpeg.
duration Wymagany Czas trwania Długość multimediów w formacie czasu ISO 8601.
transcript Opcjonalny Tekst Transkrypcja odcinka.
bitrate Opcjonalny Tekst Szybkość transmisji bitów pliku multimedialnego.
name Opcjonalny Tekst Nazwa pliku multimedialnego.

Przykład 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)

Element ListenAction definiuje precyzyjne linki umożliwiające odtwarzanie oraz kryteria (np. geograficzne, czasowe, logowania lub stan subskrypcji) dotyczące dostępu do treści.

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiona na ListenAction.
target Wymagany

EntryPoint

powtarzane

Specyfikacja precyzyjnego linku z informacjami o obsługiwanej platformie. Możesz użyć kilku pól EntryPoint, aby zdefiniować różne precyzyjne linki dla różnych zestawów platform.
actionAccessibilityRequirement Wymagany

ActionAccessSpecification

powtarzane

Definicja wymagań, jakie musi spełnić użytkownik, by mieć dostęp do tego elementu. Jeśli występuje wiele właściwości ActionAccessSpecification, użytkownik, który spełnia dowolne kryteria specyfikacji, może uzyskać dostęp do treści.

EntryPoint (potentialAction.target)

table class="fixed"> Property Priority Type Description @type Wymagane Text Zawsze ustawiany na EntryPoint. urlTemplate Wymagany Adres URL Link, który umożliwia rozpoczęcie odtwarzania Twoich treści. actionPlatform Wymagany

Tekst

powtarzane

Platforma, w przypadku której dany precyzyjny link jest prawidłowy. Dostępne wartości:

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

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiona na ActionAccessSpecification.
category Wymagany Tekst

Typ wymaganego dostępu. Musi to być jedna z tych wartości:

  • nologinrequired: użytkownik może podjąć działanie i nie musi przy tym niczego kupować ani logować się, by uzyskać dostęp do treści.
  • free: użytkownik może podjąć działanie i nie musi przy tym niczego kupować ani mieć płatnej subskrypcji. Działanie wymaga od użytkownika zalogowania się.
  • subscription: działanie jest dostępne w ramach płatnej subskrypcji Twojej usługi.
availabilityStarts Opcjonalny Data/godzina Godzina rozpoczęcia okresu dostępności. Pozwala to kontrolować dokładny czas, kiedy treści mogą być widoczne dla użytkowników.
availabilityEnds Opcjonalny Data/godzina Godzina zakończenia okresu dostępności. Pozwala określić dokładny dzień i godzinę, kiedy dana książka przestanie być widoczna dla użytkowników.
eligibleRegion Wymagany

Kraj

powtarzane

Kraj, w którym można stosować tę Ofertę. Umożliwia to kontrolowanie, w którym kraju lub regionie dane treści mają być dostępne.
requiresSubscription Wymagana, jeśli ma zastosowanie MediaSubscription Pakiet subskrypcji wymagany do uzyskania dostępu do tych treści. Jeśli Twoja usługa oferuje wiele pakietów subskrypcji, to pole jest wymagane. Jeśli usługa jest bezpłatna lub ma tylko jeden poziom abonamentu, możesz pominąć to pole.

Kraj (potentialAction.actionAccessibilityRequirement.eligibleRegion)

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiona na Country.
name Wymagany Tekst Kod kraju w formacie ISO 3166-1 alfa-2.

MediaSubscription (potentialAction.actionAccessibilityRequirement.requiresSubscription)

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiona na MediaSubscription.
@id Wymagany URL Niepowtarzalny globalnie identyfikator pakietu subskrypcji w formacie adresu URI. Ten identyfikator musi być stały i nie może zmieniać się w czasie. Jest traktowany jako ciąg nieprzejrzysty, więc nie musi być działającym linkiem.
name Wymagany Tekst Nazwa pakietu subskrypcji. Na przykład: Premium, Basic.
expectsAcceptanceOf Zalecane Oferta Oferta związana z zakupem subskrypcji mediów. Możesz użyć tego atrybutu, aby określić cenę abonamentu.

Offer (potentialAction.actionAccessibilityRequirement.requiresSubscription.expectsAcceptanceOf)

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiona na Offer.
price Wymagany Liczba Cena subskrypcji.
priceCurrency Wymagany Tekst Waluta (w trzyliterowym formacie ISO 4217) ceny.
seller Zalecane Organizacja Organizacja, która oferuje subskrypcję lub zakup. Użyj tego samego schematu, który opisano w sekcji Organizacja (autor/Wydawca).

Przykład 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"
        }
    }
},

Przykład 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"
            }
        }
    ]
},

Dodatek

Pełny przykład

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