팟캐스트 Schema.org 사양

이 섹션에서는 팟캐스트의 콘텐츠 마크업 속성에 관해 자세히 설명합니다.

PodcastSeries 사양

PodcastSeries는 팟캐스트 '프로그램'이라고도 하는 팟캐스트 시리즈를 나타냅니다.

속성 우선순위 유형 설명
@context 필수 텍스트 Schema.org 컨텍스트 항상 [http://schema.googleapis.com,{@language}:xx}]로 설정합니다. 여기서 xx는 언어 코드에 있습니다. 이렇게 하면 항목의 텍스트 값에 사용되는 기본 언어가 설정됩니다.
@type 필수 텍스트 항상 PodcastSeries로 설정합니다.
@id 필수 텍스트 URI 형식으로 된 팟캐스트 시리즈의 전역 고유 ID입니다. ID는 안정적이어야 하며 시간이 지남에 따라 변경되지 않아야 합니다. 불투명 문자열로 취급되며 작동하는 링크가 아니어도 됩니다. @id 값에 사용되는 도메인은 조직에서 소유해야 합니다.
url 필수 텍스트 팟캐스트 시리즈를 소개하거나 설명하는 웹사이트의 표준 URL입니다. 전역적으로 고유해야 합니다. 이 링크를 사용하면 피드의 콘텐츠를 Google 데이터베이스의 콘텐츠와 정확히 조정할 수 있습니다. 재생을 위해 문서의 ListenAction 섹션에 설명된 target.urlTemplate를 사용하세요.
name 필수 텍스트

팟캐스트 시리즈의 이름입니다. 언어당 하나의 이름만 포함하세요.

배열을 사용하여 설명을 여러 언어로 마크업합니다. 여러 리전 및 언어 예시를 참고하세요.

description 필수 텍스트

팟캐스트 시리즈 개요

배열을 사용하여 설명을 여러 언어로 마크업합니다. 여러 지역 및 언어 예시를 참고하세요.

alternativeHeadline Optional 텍스트 팟캐스트 시리즈의 부제목입니다.
author 필수

개인 또는 조직

repeated

프로그램을 개발하거나 전달하는 사람 또는 그룹입니다. 호스트를 지칭하는 경우가 많습니다. 자세한 내용과 예는 조직, 사람 (저자/게시자)을 참고하세요.
publisher Optional

개인 또는 조직

repeated

프로그램 게시를 담당하는 원래 그룹 또는 네트워크입니다. 주로 여러 팟캐스트를 게시/제작하는 조직을 의미합니다. 예와 세부정보는 조직, 사람 (저자/게시자)을 참고하세요. 이 필드는 명확성을 위해 사용하는 것이 좋으며 해당하는 경우 제공해야 합니다.
actor Optional

개인 또는 조직

repeated

팟캐스트의 배우입니다. 예시 및 세부정보는 작업 수행자 (호스트/게스트) 섹션을 참고하세요 .
logo Optional

ImageObject

repeated

시리즈 로고 이미지입니다. 자세한 설명을 제공하는 ImageObject로 제공하세요. 가능한 한 최고 해상도를 제공하세요. JPEG 또는 PNG 형식이 선호됩니다. 자세한 내용과 예는 ImageObject (로고) 섹션을 참조하세요.
image 필수

ImageObject

repeated

시리즈의 아트워크 이미지입니다. 완전하게 설명된 ImageObject로 제공합니다. 가능한 한 최고 해상도를 제공하세요. JPEG 또는 PNG 형식이 가장 좋습니다. 자세한 내용과 예는 ImageObject (로고) 섹션을 참고하세요.
isFamilyFriendly 필수 불리언 이 콘텐츠가 가족용인지 여부를 나타냅니다 (예: 아동을 포함한 모든 가족 구성원에게 적합한 콘텐츠). Google 제품은 재생할 콘텐츠를 결정하는 데 isFamilyFriendly를 사용할 수 있습니다. 값은 true 또는 false이어야 합니다.
inLanguage 필수 텍스트 팟캐스트 콘텐츠의 언어(ISO 639-1 형식)입니다. 이 값은 특정 언어로 된 콘텐츠를 요청하는 사용자 쿼리를 처리하는 데 사용할 수 있습니다.
genre 필수

텍스트

repeated

팟캐스트 시리즈의 카테고리 또는 장르입니다. 예를 들어 표준 팟캐스트 카테고리를 따를 수 있습니다.
endDate Optional 날짜 팟캐스트 시리즈의 마지막 에피소드가 공개되는 날짜입니다. 시리즈가 이미 완료된 경우에만 이 필드를 포함합니다.
rssFeed 필수 URL 팟캐스트 시리즈의 RSS 피드 URL입니다.
potentialAction 필수 ListenAction 사용자가 콘텐츠를 듣기 위해 트리거되는 작업입니다. 자세한 내용은 ListenAction을 참고하세요.
popularityScore Optional PopularityScoreSpecification 후보가 여러 개일 때 게재 우선순위를 결정하는 데 도움이 되는 인기도 점수입니다. 자세한 내용과 예는 PopularityScoreSpecification (popularityScore) 섹션을 참고하세요.
keywords Optional

텍스트

repeated

팟캐스트 시리즈와 연결되는 키워드 목록입니다. 이러한 키워드는 이 팟캐스트 시리즈를 트리거할 수 있는 사용자 쿼리를 확장하는 데 사용될 수 있습니다. 예: 참석자 이름, 다루는 주제 등
sameAs Optional URL 항목 ID를 명확하게 나타내는 타사 URL (도메인 내부가 아님)의 URL을 말합니다. 이 웹페이지는 비슷한 시리즈가 여러 개 존재하는 경우 명확성을 위해 사용됩니다. 예를 들어 위키백과 페이지 또는 팟캐스트 시리즈의 홈페이지를 예로 들 수 있습니다. 이 필드는 시리즈를 명확하게 구분하는 데 적극 권장됩니다.
releasedEvent Optional PublicationEvent 또는 보다 구체적인 하위 유형 - 추천 이벤트 또는 독점 이벤트 팟캐스트 시리즈의 발행 또는 출시를 나타내는 이벤트입니다. 게시 이벤트에서는 게시자가 팟캐스트를 처음 출시한다고 언급할 수 있으며 더 특별한 유형을 사용해 출시의 독점성 또는 기능을 표시할 수 있습니다. 자세한 내용과 예는 PublicationEvent, 추천 이벤트, ExclusiveEvent (releasedEvent) 섹션을 참고하세요. 시리즈를 독점 또는 추천으로 표시하면 프로그램의 모든 에피소드가 독점 또는 추천으로 간주된다는 의미입니다.
countryOfOrigin Optional 국가 프로덕션 회사의 주 사무실 또는 팟캐스트를 담당하는 개인의 국가입니다.

팟캐스트 에피소드 사양

PodcastEpisodePodcastSeries 내 에피소드의 schema.org 표현입니다.

속성 우선순위 유형 설명
@context 필수 텍스트 Schema.org 컨텍스트 항상 [http://schema.googleapis.com,{@language:xx}]로 설정합니다. 여기서 xx는 언어 코드입니다. 이렇게 하면 피드의 텍스트 값에 사용되는 기본 문자 언어가 설정됩니다.
@type 필수 텍스트 항상 PodcastEpisode로 설정합니다.
@id 필수 텍스트 팟캐스트 에피소드의 전역 고유 ID로, URI 형식입니다. ID는 안정적이어야 하며 시간이 지남에 따라 변경되지 않아야 합니다. 불투명 문자열로 취급되며 작동하는 링크가 아니어도 됩니다. 조직에서는 @id 값에 사용되는 도메인을 소유하고 있어야 합니다.
url 필수 텍스트 팟캐스트 에피소드를 소개하거나 설명하는 웹사이트의 표준 URL입니다. 이 값은 전역에서 고유해야 합니다. 이 링크는 피드의 콘텐츠를 Google 데이터베이스의 콘텐츠와 정확하게 조정하는 데 사용됩니다. 재생에는 문서의 ListenAction 섹션에 설명된 target.urlTemplate가 사용됩니다.
name 필수 텍스트

팟캐스트 에피소드의 이름입니다.

언어당 이름은 하나만 있어야 합니다. 배열을 사용하여 설명을 여러 언어로 마크업합니다. 여러 리전 및 언어 예시를 참고하세요.

description 필수 텍스트 팟캐스트 에피소드에 관한 설명입니다.
alternativeHeadline 필수 텍스트 팟캐스트 에피소드의 부제목입니다.
author 필수

개인 또는 조직

repeated

에피소드를 제작하거나 전달하는 사람 또는 그룹입니다. 이 값은 호스트를 지칭하는 경우가 많습니다. 저자가 프로그램과 동일하다면 PodcastSeries 항목의 정보를 재사용할 수 있습니다. 예시와 자세한 내용은 조직, 사람 (저자/게시자)을 참고하세요.
publisher 필수

개인 또는 조직

repeated

프로그램 게시를 담당하는 원래 그룹 또는 네트워크입니다. 주로 여러 팟캐스트를 게시하거나 생성하는 조직을 의미합니다. 예시 및 세부정보는 조직, 사람 (저자/게시자)을 참고하세요. 명확성을 위해 이 필드를 사용하는 것이 좋으며 해당하는 경우 정의하는 것이 좋습니다.
actor 필수

개인 또는 조직

repeated

팟캐스트의 배우입니다. 예시 및 세부정보는 작업 수행자 (호스트/게스트) 섹션을 참고하세요.
datePublished 필수 날짜/시간 팟캐스트 에피소드가 공개된 날짜/시간입니다. 이 값은 에피소드 순서와 명확성을 정렬하는 데 사용됩니다.
episodeNumber 필수 정수 에피소드 번호입니다.
partOfSeries 필수 팟캐스트 시리즈 이 팟캐스트 에피소드가 포함된 PodcastSeries입니다. 자세한 내용과 예는 PodcastSeries(partOfSeries)를 참조하세요.
partOfSeason Optional 팟캐스트 시즌 여러 시즌 시리즈의 경우 이 속성은 시즌 번호와 시즌 이름을 시즌 정보를 제공합니다. 자세한 내용과 예는 PodcastSeason(partOfSeason)을 참조하세요.
timeRequired 필수 시간 에피소드의 길이(ISO 8601 길이 형식)입니다.
image Optional

ImageObject

repeated

시리즈의 아트워크 이미지입니다. 완전하게 설명된 ImageObject여야 합니다. 가능한 한 최고 해상도를 제공하세요. JPEG 또는 PNG 형식이 선호됩니다. 자세한 내용과 예는 ImageObject (로고) 섹션을 참고하세요.
isFamilyFriendly 필수 불리언 이 콘텐츠가 가족용인지 여부를 나타냅니다 (즉, 아동을 포함한 모든 가족 구성원에게 적합한 콘텐츠). Google 제품은 isFamilyFriendly를 사용하여 재생할 콘텐츠를 결정할 수 있습니다. 값은 true 또는 false이어야 합니다.
inLanguage 필수 텍스트 팟캐스트 에피소드의 콘텐츠 언어입니다(ISO 639-1 형식). 특정 언어로 콘텐츠를 요청하는 사용자 쿼리를 처리하려면 이 값을 사용합니다. 콘텐츠가 여러 언어로 작성된 경우 기본 언어 하나만 나열하세요.
genre 필수

텍스트

repeated

팟캐스트 시리즈의 카테고리 또는 장르입니다. 예를 들어 표준 팟캐스트 카테고리를 따를 수 있습니다.
associatedMedia Optional 오디오 객체 팟캐스트 에피소드의 오디오 파일입니다. 자세한 내용과 예는 AudioObject(AssociatedMedia)를 참고하세요.
potentialAction 필수 ListenAction 사용자가 콘텐츠를 듣기 위해 트리거되는 작업입니다. 자세한 내용은 ListenAction 섹션을 참고하세요.
popularityScore Optional PopularityScoreSpecification 후보가 여러 개 있을 때 게재 우선순위를 결정하는 인기도 점수입니다. 자세한 내용과 예는 PopularityScoreSpecification 섹션을 참고하세요.
keywords Optional

텍스트

repeated

팟캐스트 시리즈와 연결된 키워드 목록입니다. 이러한 키워드는 이 팟캐스트 에피소드를 트리거할 수 있는 사용자 쿼리를 확장하는 데 사용될 수 있습니다. 예를 들면 news, sports 또는 history입니다.
identifier 필수

PropertyValue

repeated

PodcastEpisode의 경우 이 속성을 사용하여 GUID를 제공합니다. GUID는 팟캐스트의 에피소드를 전역적으로 고유하게 식별할 수 있는 ID여야 합니다. 에피소드의 @id 필드와 다릅니다.

예를 보려면 PropertyValue (식별자) 섹션을 참고하세요.

sameAs Optional URL 항목 ID를 명확하게 나타내는 타사 URL (도메인 내부가 아님)의 URL을 말합니다. Google에서는 유사한 시리즈가 여러 개 있는 경우 이 웹페이지를 명확성을 위해 사용합니다. 예를 들어 위키백과 페이지 또는 팟캐스트 에피소드 홈페이지가 이에 해당합니다. 여기에 시리즈 수준 참조 페이지를 제공해서는 안 됩니다. 에피소드를 명확하게 구분하는 데 이 필드를 적극 사용하는 것이 좋습니다.
releasedEvent Optional PublicationEvent 또는 보다 구체적인 하위 유형 - 추천 이벤트 또는 독점 이벤트 팟캐스트 에피소드의 발행 또는 출시를 나타내는 이벤트입니다. 간행물 이벤트는 게시자가 팟캐스트 에피소드를 처음 발표할 때 주목할 수 있으며 더 구체적인 하위유형으로는 해당 콘텐츠의 독점성 또는 특이성을 나타낼 수 있습니다. 자세한 내용 및 예는 PublicationEvent, 추천 이벤트, ExclusiveEvent (releasedEvent) 섹션을 참고하세요. 시리즈를 독점 또는 위의 시리즈로 표시하면 프로그램의 모든 에피소드가 배타적이거나 추천됨을 의미합니다. 이러한 속성을 가장 세분화된 수준으로 표시하는 것이 좋습니다.
countryOfOrigin Optional 국가 프로덕션 회사의 주 사무실 또는 팟캐스트를 담당하는 개인의 국가.

PodcastSeries (partOfSeries)

partOfSeries를 사용하여 PodcastEpisode와 그 상위 PodcastSeries 간의 관계를 설정합니다. PodcastSeries의 전체 세부정보는 별도의 PodcastSeries 항목에 설명되어 있으므로 partOfSeries에 전체 세부정보를 제공할 필요는 없습니다. 다음 속성만 제공하면 됩니다.

속성 우선순위 유형 설명
@type 필수 텍스트 항상 PodcastSeries로 설정합니다.
@id 필수 URL 시리즈 형식의 전역 고유 ID로, URI 형식입니다. ID는 피드에 있는 완전한 PodcastSeries 항목의 ID와 일치해야 합니다.
name 필수 텍스트 팟캐스트 시리즈의 이름입니다.
  • 배열을 사용하여 설명을 여러 언어로 마크업합니다. 여러 리전 및 언어 예를 참고하세요.

예 1

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

팟캐스트시즌 (partOfSeason)

PodcastSeasonPodcastEpisode의 시즌 정보를 나타내며, 가장 중요한 점은 시즌 번호입니다. 팟캐스트 시리즈에 시즌이 여러 개 있는 경우에만 이 속성이 필요합니다.

속성 우선순위 유형 설명
@type 필수 텍스트 항상 PodcastSeason로 설정
@id 필수 URL 시즌을 나타내는 전역 고유 ID로, URI 형식입니다. ID는 안정적이어야 하며 시간이 지남에 따라 변경되지 않아야 합니다. 불투명 문자열로 취급되며 작동하는 링크가 아니어도 됩니다.
seasonNumber 필수 정수 팟캐스트 시리즈의 시즌 번호입니다.
name Optional 텍스트 팟캐스트 시즌의 이름입니다.

예 1

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

조직, 사람 (저자 또는 출판사)

속성 우선순위 유형 설명
@type 필수 텍스트 항상 Organization 또는 Person로 설정합니다.
@id 필수 URL URI 형식의 조직 또는 개인에 대한 전역 고유 ID입니다. ID는 안정적이어야 하며 시간이 지남에 따라 변경되지 않아야 합니다. 불투명 문자열로 취급되며 작동하는 링크가 아니어도 됩니다.
name 필수 텍스트 조직 또는 사람의 이름입니다.
sameAs Optional URL 항목 ID를 명확하게 나타내는 타사 URL (도메인 내부가 아님)의 URL을 말합니다. Google에서는 유사한 시리즈가 여러 개 있는 경우 이 웹페이지를 명확성을 위해 사용합니다. 조직의 위키피디아 페이지 또는 조직의 공식 웹사이트가 여기에 해당합니다.

예 1

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

예 2

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

작업 수행자 (호스트 또는 게스트)

속성 우선순위 유형 설명
@type 필수 텍스트 항상 Organization 또는 Person로 설정합니다.
@id 필수 URL URI 형식의 조직 또는 개인에 대한 전역 고유 ID입니다. ID는 안정적이어야 하며 시간이 지남에 따라 변경되지 않아야 합니다. 불투명 문자열로 취급되며 작동하는 링크가 아니어도 됩니다.
name 필수 텍스트 조직 또는 개인의 이름입니다.
roleName 필수 텍스트 `호스트` 또는 `게스트`
sameAs Optional URL 항목 ID를 명확하게 나타내는 타사 URL (도메인 내부가 아님)의 URL을 말합니다. Google에서는 유사한 시리즈가 여러 개 있는 경우 이 웹페이지를 명확성을 위해 사용합니다. 조직의 위키피디아 페이지 또는 조직의 공식 웹사이트가 여기에 해당합니다.

예 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 (로고 또는 이미지)

ImageObject는 콘텐츠의 로고 또는 아트워크를 제공하는 데 사용됩니다.

속성 우선순위 유형 설명
@type 필수 텍스트 항상 ImageObject로 설정합니다.
height Optional 정수 이미지 높이입니다(픽셀 단위).
width Optional 정수 이미지의 너비(픽셀)입니다.
contentUrl 필수 URL 이미지를 찾을 수 있는 URL입니다.
regionsAllowed Optional

국가

repeated

미디어가 허용되는 국가:

  • 지정하지 않으면 모든 언어에서 허용되는 이미지라고 가정합니다.
  • 리전별로 다른 이미지를 제출하려면 각각 고유한 국가 집합과 해당 이미지 URL이 있는 ImageObject 속성을 여러 개 추가합니다.

국가 (image.regionsAllowed)

속성 우선순위 유형 설명
@type 필수 텍스트 항상 Country.로 설정
name 필수 텍스트 ISO 3166-1 alpha-2 국가 코드입니다. 예를 들면 GB, US입니다.

예 1

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

예 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(식별자)

콘텐츠의 GUID가 있는 경우 이러한 ID에 identifier 필드를 제공하여 Google에서 콘텐츠를 더 정확하게 조정할 수 있습니다. PodcastEpisode에는 GUID가 필요합니다. 도메인 내가 아닌 에피소드의 @id 필드와 달라야 하며 시간 경과에 따라 소스 에피소드를 전역적으로 고유하게 나타내야 합니다.

속성 우선순위 유형 설명
@type 필수 텍스트 항상 `PropertyValue`로 설정합니다.
propertyID 필수 텍스트 항상 GUID로 설정합니다.
value 필수 텍스트 시리즈 또는 에피소드의 GUID입니다.

예 1

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

인기도 점수 사양 (popularityScore)

popularityScore는 사용자 쿼리의 기준이 피드의 여러 항목과 일치하는 시나리오에서 사용자가 가장 적절한 콘텐츠로 이동하는 데 도움이 될 수 있습니다. 이 값을 사용할 수 있는 경우 사용자의 지역에서 사용할 수 있는 인기도 점수가 가장 높은 콘텐츠가 사용자에게 제공됩니다. 이 필드가 없는 모든 콘텐츠는 인기도 점수가 0입니다. 점수 비교는 전체 카탈로그의 범위 내에서 진행되므로 모든 피드에서 척도가 일관적인지 확인하세요.

속성 우선순위 유형 설명
@type 필수 텍스트 항상 PopularityScoreSpecification로 설정합니다.
value 필수 숫자 게재 우선순위를 위해 카탈로그의 다른 항목과 비교할 양수 값입니다. 숫자가 클수록 인기도가 높습니다.
eligibleRegion Optional

국가 또는 텍스트

repeated

인기도 점수가 적용되는 한 지역 또는 여러 지역 목록

인기도 점수가 전역으로 적용되는 경우 earth를 텍스트 값으로 사용합니다.

특정 지역을 나열해야 한다면 '국가' 유형을 사용하세요.

이 필드를 생략하면 eligibleRegion의 기본값은 earth입니다.

국가 (popularityScore.eligibleRegion)

속성 우선순위 유형 설명
@type 필수 텍스트 항상 Country로 설정합니다.
name 필수 텍스트 ISO 3166-1 alpha-2 국가 코드입니다. 예를 들면 GB, US입니다.

예 1

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

예시 2

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

예시 3

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

게시 이벤트, 추천 이벤트, 독점 이벤트 (releasedEvent)

간행물 이벤트
이 객체를 사용하여 프로그램 또는 에피소드 (시리즈 또는 에피소드의 '출시일'이라고도 함) 발행일과 위치를 나타냅니다. 또한 publishedBy 필드는 팟캐스트 시리즈나 에피소드의 게시 또는 배포 항목을 나타냅니다.
독점 이벤트
이 객체를 사용하여 제공업체가 팟캐스트에 대한 독점 배포 권한을 가지고 있음을 나타냅니다. 독점권은 특정 지역에 국한되고 시간 제한이 있을 수 있으며 콘텐츠의 독점 제공업체를 가리키는 조직 필드를 포함해야 합니다.
추천 이벤트
제공업체가 소비자에게 팟캐스트를 제공한다는 것을 나타내려면 이 객체를 사용합니다 (예: '원본').
오리지널은 독점과는 다릅니다.
'원본 (추천)'이라는 용어는 용어가 오버로드되는 특정 항목에 대한 배타적인 권리를 나타내는 경우가 많습니다. 따라서 의도한 의미가 위의 두 카테고리로 분할되어야 합니다. 원본 항목도 배타적일 수 있으며 이 경우 releasedEvent는 동일한 항목에 두 이벤트 유형이 모두 포함된 배열을 사용할 수 있습니다.

독점성이나 추천성은 제공업체의 카탈로그에서 비슷한 의미를 가질 수 있지만 일반적으로 PublicationEvent는 항목의 명확성을 지원하고 시리즈 또는 에피소드의 출시일과 같은 동일한 관련 메타데이터를 제공하는 데 적용됩니다.

속성 우선순위 유형 설명
@type 필수 텍스트 항상 PublicationEvent, ExclusiveEvent 또는 FeaturedEvent 중 하나로 설정합니다.
location 필수 국가 게시 이벤트가 발생한 지역입니다. 또한 이 항목을 사용하여 항목의 독점 제한 및 배포 제한을 나타낼 수 있습니다. 국가의 ISO 3166 코드를 사용합니다. 전역 시맨틱스를 적용해야 하는 경우 EARTH로 설정합니다. 언어별 제한이 적용되지 않는 경우 locationEARTH로 명시적으로 설정합니다.
startDate 권장(독점 이벤트에 필요) 날짜 또는 날짜/시간 항목 게시 시작일입니다. PublicationEvent의 경우 이 항목의 최초 출시 날짜를 나타냅니다. ExclusiveEvent 또는 FeaturedEvent의 경우 항목의 독점성 또는 특성의 시작일을 나타냅니다.
endDate 권장(독점 이벤트에 필요) 날짜 또는 날짜/시간 항목 게시 종료일입니다. PublicationEvent의 경우 이 항목의 최종 게시 날짜를 나타냅니다. ExclusiveEvent 또는 FeaturedEvent의 경우 항목의 독점성 또는 특성의 종료일을 나타냅니다.
publishedBy 필수 조직 또는 사람 이 항목을 게시하고 이 게시 이벤트에 적용되는 Organization 또는 Person 항목입니다. 조직(저자/게시자) 섹션에 설명된 것과 동일한 스키마를 사용하세요.

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

예 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 (연결된 미디어)

AudioObject는 팟캐스트 에피소드의 원시 미디어 파일을 제공하는 데 사용됩니다.

속성 우선순위 유형 설명
@type 필수 텍스트 항상 AudioObject로 설정합니다.
contentUrl 필수 URL 미디어 파일의 URL입니다.
contentSize 필수 정수 미디어 파일의 바이트 크기입니다.
encodingFormat 필수 텍스트 미디어 파일의 IANA 미디어 유형입니다. 예를 들어 audio/mpeg입니다.
duration 필수 시간 미디어의 길이(ISO 8601 기간 형식).
transcript Optional 텍스트 에피소드의 스크립트
bitrate Optional 텍스트 미디어 파일의 비트 전송률입니다.
name Optional 텍스트 미디어 파일의 파일 이름입니다.

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

ListenAction 항목은 재생을 위한 딥 링크와 콘텐츠에 액세스하기 위한 사용자 기준 (예: 지역, 크로노, 로그인, 구독 상태)을 정의합니다.

속성 우선순위 유형 설명
@type 필수 텍스트 항상 ListenAction로 설정합니다.
target 필수

EntryPoint

repeated

지원되는 플랫폼 정보가 포함된 딥 링크 사양입니다. 여러 EntryPoint 필드를 사용하여 플랫폼 세트별로 서로 다른 딥 링크를 정의할 수 있습니다.
actionAccessibilityRequirement 필수

ActionAccessSpecification

repeated

이 항목에 액세스하기 위한 사용자 요구사항의 정의입니다. 여러 개의 ActionAccessSpecification가 있으면 모든 사양 기준과 일치하는 사용자가 콘텐츠에 액세스할 수 있습니다.

EntryPoint (potentialAction.target)

table class="fixed"> 속성 우선순위 유형 설명 @type 필수 텍스트 항상 EntryPoint로 설정합니다. urlTemplate 필수 URL 콘텐츠 재생을 시작하는 데 사용되는 링크입니다. actionPlatform 필수사항

텍스트

repeated

이 딥 링크가 유효한 플랫폼입니다. 다음 값이 가능합니다.

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

속성 우선순위 유형 설명
@type 필수 텍스트 항상 ActionAccessSpecification로 설정합니다.
category 필수 텍스트

액세스 요구사항의 유형입니다. 다음 값 중 하나여야 합니다.

  • nologinrequired: 이 작업은 콘텐츠에 액세스하기 위해 구매 또는 로그인 없이 사용자에게 제공됩니다.
  • free: 이 작업은 사용자가 구매나 유료 구독을 하지 않아도 사용할 수 있습니다. 이 작업을 실행하려면 사용자가 로그인해야 합니다.
  • subscription: 서비스 유료 구독에 작업이 포함됩니다.
availabilityStarts Optional 날짜/시간 서비스 일정의 시작 시간입니다. 이를 통해 이 콘텐츠가 사용자에게 노출될 수 있는 정확한 시간을 관리할 수 있습니다.
availabilityEnds Optional 날짜/시간 서비스 일정의 종료 시간입니다. 이를 사용하여 콘텐츠가 사용자에게 노출되는 것을 중단하는 정확한 시간을 관리할 수 있습니다.
eligibleRegion 필수

국가

repeated

이 혜택을 사용할 수 있는 국가입니다. 이를 통해 이 콘텐츠를 사용할 수 있는 국가 또는 지역을 제어할 수 있습니다.
requiresSubscription 해당하는 경우 필수 미디어 구독 이 콘텐츠에 액세스하는 데 필요한 구독 패키지입니다. 서비스에서 여러 구독 패키지를 제공하는 경우 이 필드는 필수입니다. 서비스가 무료이거나 구독 등급이 하나뿐인 경우 이 필드를 건너뛸 수 있습니다.

국가 (potentialAction.actionAccessibilityRequirement.eligibleRegion)

속성 우선순위 유형 설명
@type 필수 텍스트 항상 Country로 설정합니다.
name 필수 텍스트 ISO 3166-1 alpha 2 국가 코드입니다.

MediaSubscription (potentialAction.actionAccessibilityRequirement.requireSubscription)

속성 우선순위 유형 설명
@type 필수 텍스트 항상 MediaSubscription로 설정합니다.
@id 필수 URL URI 형식의 구독 패키지의 전역 고유 ID입니다. ID는 안정적이어야 하며 시간이 지남에 따라 변경되지 않아야 합니다. 불투명 문자열로 취급되며 작동하는 링크가 아니어도 됩니다.
name 필수 텍스트 정기 결제 패키지의 이름입니다. 예: Premium, Basic
expectsAcceptanceOf 권장됨 혜택 미디어 구독 구매와 관련된 혜택입니다. 이를 사용하여 정기 결제 가격을 표현할 수 있습니다.

혜택 (potentialAction.actionAccessibilityRequirement.requireSubscription.expectsAcceptanceOf)

속성 우선순위 유형 설명
@type 필수 텍스트 항상 Offer로 설정합니다.
price 필수 숫자 정기 결제 가격입니다.
priceCurrency 필수 텍스트 가격의 통화입니다 (3자리 ISO 4217 형식).
seller 권장됨 조직 작업의 구독 또는 구매를 제공하는 조직입니다. 조직(저자/게시자) 섹션에 설명된 것과 동일한 스키마를 사용합니다.

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

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

부록

전체 예

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