캐러셀

구조화된 데이터를 사용하면 리치 결과를 캐러셀이라고 하는 목록 모양의 디스플레이에 표시할 수 있습니다. 캐러셀은 일반적으로 휴대기기에만 표시되며 아래에 설명된 특정 콘텐츠 유형에만 사용됩니다. 현재 캐러셀 형식이 지원되지 않는 콘텐츠 유형에 캐러셀 마크업을 사용하면 정보가 표시되기는 하지만 캐러셀에 표시되지는 않습니다(오류는 아님).

페이지에 목록에 관한 구조화된 데이터가 포함되어 있지 않음에도 불구하고 Google 검색에서 리치 결과를 캐러셀에 표시할 때도 있습니다. 예를 들어 어떤 레시피가 다른 많은 웹사이트의 검색결과와 함께 레시피 캐러셀에 표시되기도 합니다.

다음은 하나의 웹사이트에 게시되어 있는 닭고기 레시피 목록이 캐러셀에 표시된 예입니다.

레시피 리치 결과 캐러셀

가이드라인

표준 구조화된 데이터 가이드라인과 더불어 모든 목록 마크업에는 다음 가이드라인도 적용됩니다.

  • 목록에 있는 모든 항목은 Article 또는 Recipe와 같이 유형이 동일해야 합니다.
  • 사용자에게 표시되는 텍스트는 페이지에 있는 구조화된 데이터에 포함된 정보와 유사해야 합니다.
  • 목록 형식으로 표시되는 항목은 position 속성에서 지정된 순서대로 표시됩니다.
  • 목록 형식은 현재 다음 콘텐츠 유형에 지원됩니다. Recipe, Course, Article, Restaurant

구조화된 데이터를 목록 형식으로 구현하는 방법은 두 가지가 있습니다.

  • 요약 페이지 + 여러 개의 전체 세부정보 페이지
  • 단일 올인원 페이지 목록

요약 페이지 + 여러 개의 전체 세부정보 페이지

요약 페이지에는 목록에 포함된 각 항목에 관한 간단한 설명이 있으며, 각 설명은 특정 항목에 전적으로 초점을 맞추는 별도의 세부정보 페이지를 가리킵니다.

요약 페이지 세부정보 페이지
ItemList를 정의합니다. 이때 각 ListItem@type('ListItem'으로 설정됨), position(목록 내의 위치), url(해당 아이템의 전체 세부정보가 있는 페이지의 URL)의 세 가지 속성만 갖습니다. 해당 목록 유형에 적합한 구조화된 데이터 요소를 정의합니다.
best_dessert_recipes.html 의사 코드:

ItemList
  itemListElement: [
    {
      @type: ListItem
      position: 1
      url: http://example.com/coffee_cake.html
    },
    {
      @type: ListItem
      position:2
      url: http://example.com/apple_pie.html,
    },
    ... more recipes ...
  ]
coffee_cake.html 의사 코드:

@type: Recipe
name: Party Coffee Cake
author: George Smith
.... more properties ...

샘플 코드:

샘플 코드:

단일 올인원 페이지 목록

단일 올인원 페이지 목록은 각 항목의 전체 텍스트를 포함하여 모든 목록 정보를 호스팅합니다. 예를 들어 다양한 종류의 머핀 레시피를 보여주는 갤러리가 모두 하나의 페이지에 포함됩니다.

단일 페이지
ItemList를 정의합니다. 이때 각 요소는 해당하는 schema.org 요소 유형(예: Movie 또는 Course)의 구조화된 데이터로 채워져 있는 item 속성이 포함된 ListItem입니다. 페이지에는 사용자에게 표시되는 텍스트 및 각 ListItem 요소와 일치하는 앵커가 있어야 합니다.

best_dessert_recipes.html 의사 코드:


ItemList
  itemListElement: [
    {
      @type: ListItem
      position: 1
      item: {
        @type: Recipe
        url: http://example.com/big_list_of_recipes#recipe_1
        name: George's Cherry Pie
        author: George Smith
        ... all other required Recipe type properties ...}
    },
    {
      @type: ListItem
      position: 2
      item: {
        @type: Recipe
        url: http://example.com/big_list_of_recipes#recipe_2
        name: Party Coffee Cake
        author: Mary Stone
        ... all other required Recipe type properties ...}
    },
    ... more recipes ...
  ]
샘플 코드:

구조화된 데이터 유형 설명

목록을 지정하려면 두 개 이상의 ListItems가 포함된 ItemList를 정의해야 합니다. 리치 결과에 콘텐츠를 표시하려면 필수 속성이 있어야 합니다. 권장 속성을 통해 콘텐츠와 관련된 정보를 추가하여 더욱 만족스러운 사용자 환경을 제공할 수 있습니다.

ItemList

ItemList는 목록의 모든 요소를 포함하는 컨테이너 항목입니다. 요약 페이지에서 사용되는 경우 목록에 있는 모든 URL이 동일한 도메인의 다른 페이지를 가리켜야 합니다. 올인원 페이지 목록에서 사용되면 모든 URL이 구조화된 데이터 목록을 호스팅하는 페이지를 가리켜야 합니다.

ItemList의 전체 정의는 schema.org/ItemList에서 확인할 수 있습니다.

필수 속성
itemListElement

ListItem

항목 목록입니다. 모든 항목은 유형이 동일해야 합니다. 자세한 내용은 ListItem을 참조하세요.

ListItem

ListItem에는 목록의 개별 항목에 관한 세부정보가 들어 있습니다.

  • 요약 페이지의 경우 ListItem에는 type, position, url 속성만 포함되어야 합니다.
  • 올인원 페이지 목록의 경우 ListItem에서 설명하는 데이터 유형의 모든 추가 schema.org 속성이 포함되어 있어야 합니다(예: Recipe 또는 Course 개체).

ListItem의 전체 정의는 schema.org/ListItem에서 확인할 수 있습니다.

단순 요약 목록 예시 항목(JSON-LD):

{
  "@type":"ListItem",
  "position":1,
  "url":"http://example.com/desserts/apple-pie"
}

올인원 목록 예시 항목(JSON-LD):

{
  "@type": "ListItem",
  "position": 1,
  "item": {
    "@type": "Recipe",
    "url": "http://example.com/desserts/pies/#apple-pie",
    "name": "Apple Pie",
    "image": "https://example.com/300px-Apple_pie.jpg",
    "aggregateRating": {
      "@type": "AggregateRating",
      "ratingValue": "6",
      "reviewCount": "32"
    },
    "recipeYield": "8 servings",
    "recipeIngredient": [
      "Pastry crust for bottom and top",
      "1/2 cup unsalted butter",
      "3 tablespoons all-purpose flour",
      "1/4 cup water",
      "1/4 cup white sugar",
      "1/2 cup brown sugar",
      "10 cups peeled, chopped green apples"
    ], ... snip ...
  }
}
필수 속성
item

Thing

올인원 페이지 목록에만 사용됩니다. 이 속성은 올인원 페이지 목록에 필수로 포함해야 합니다. 요약 페이지에는 포함하지 마세요. 이 개체를 다음 값 및 다음에서 설명되는 특정 구조화된 데이터 유형의 모든 멤버로 채우세요.

  • item.name
  • item.url
  • 이 데이터 유형에 필요하다고 schema.org에 설명된 다른 모든 속성 및 이 문서에서 콘텐츠 유형(예: Article 또는 Book)과 관련해 설명된 규칙입니다. 예를 들어 목록에 포함된 도서의 경우 bookFormatisbn 속성을 제공해야 하며 레시피의 경우 prepTimeimage 속성을 제공해야 합니다.
item.name

Text

렌더링된 갤러리에 표시되는 항목의 문자열 이름입니다. HTML 형식은 무시됩니다. 이 속성은 올인원 페이지 목록에 필수로 포함해야 합니다. 요약 페이지에는 포함하지 마세요.

item.url

URL

페이지에 있는 해당 항목의 정규화된 URL + 페이지 앵커입니다. 이 속성은 올인원 페이지 목록에 필수로 포함해야 합니다. 요약 페이지에는 포함하지 마세요. URL은 현재 페이지여야 하며 페이지에 있는 사용자에게 표시되는 텍스트 가까이에 HTML 앵커(<a> 태그 또는 name 또는 id 값)을 포함해야 합니다. : https://example.org/recipes/pies#apple_pie.

position

Integer

캐러셀에 있는 항목의 위치로 1진수로 표시되는 숫자입니다.

url

URL

요약 페이지 목록에만 사용됩니다. 이 속성은 요약 페이지에 필수로 포함해야 합니다. 올인원 페이지 목록에 포함하지 마세요. 항목 세부정보 페이지의 표준 URL입니다. 목록에 있는 모든 URL은 고유해야 하며 동일한 도메인에 게시되어 있어야 합니다(동일한 도메인 또는 현재 페이지의 하위/최상위 도메인).