구조화된 데이터 작동 방식 이해하기

Google 검색은 페이지의 콘텐츠를 파악하기 위해 노력합니다. 페이지에 구조화된 데이터를 포함하면 Google에 페이지의 의미에 관한 확실한 단서를 제공하여 내용을 파악하는 데 도움이 됩니다. 구조화된 데이터는 페이지에 관한 정보를 제공하고 페이지 콘텐츠를 분류하기 위한 표준화된 형식으로 예를 들어 레시피 페이지의 경우 재료, 조리 시간, 온도, 칼로리 등이 여기에 해당합니다.

Google에서는 웹에서 찾은 구조화된 데이터를 사용하여 페이지의 콘텐츠를 파악할 뿐 아니라 웹 및 전반적인 세상에 관한 정보를 수집합니다. 예를 들어 다음은 Unlimited Ball Bearings 회사의 연락처 페이지에 표시된 연락처 정보를 나타내는 JSON-LD 구조화된 데이터 스니펫입니다.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "url": "http://www.example.com",
  "name": "Unlimited Ball Bearings Corp.",
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+1-401-555-1212",
    "contactType": "Customer service"
  }
}
</script>

또한 Google 검색은 구조화된 데이터를 사용하여 특수 검색결과 기능 및 강화 기능을 실현합니다. 예를 들어 올바른 구조화된 데이터가 포함된 레시피 페이지는 다음과 같이 그래픽 검색결과에 표시될 수 있습니다.

Google 검색결과 기능 여기에 해당하는 구조화된 데이터(간략한 표시를 위해 일부 생략됨)
애플파이 레시피 리치 결과 


 <html>
<head>
<title>Grandma's Holiday Apple Pie</title>
<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "Recipe",
  "name": "Grandma's Holiday Apple Pie",
  "author": "Elaine Smith",
  "image": "http://images.edge-generalmills.com/56459281-6fe6-4d9d-984f-385c9488d824.jpg",
  "description": "A classic apple pie.",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4",
    "reviewCount": "276",
    "bestRating": "5",
    "worstRating": "1"
  },
  "prepTime": "PT30M",
  "totalTime": "PT1H",
  "recipeYield": "8",
  "nutrition": {
    "@type": "NutritionInformation",
    "servingSize": "1 medium slice",
    "calories": "230 calories",
    "fatContent": "1 g",
    "carbohydrateContent": "43 g",
  },
  "recipeIngredient": [
    "1 box refrigerated pie crusts, softened as directed on box",
    "6 cups thinly sliced, peeled apples (6 medium)",
    "..."
  ],
  "recipeInstructions": [
    "1...",
    "2..."
   ]
}
</script>
</head>
<body>
</body>
</html>
  

구조화된 데이터는 레시피의 개별 요소에 라벨을 지정하므로 사용자는 재료, 칼로리, 조리 시간 등으로 레시피를 검색할 수 있습니다.

구조화된 데이터는 정보가 적용되는 페이지에 인페이지 마크업을 사용하여 코딩됩니다. 페이지의 구조화된 데이터는 그 페이지의 콘텐츠를 설명해야 합니다. 구조화된 데이터를 보관하기만 하는 빈 페이지를 만들거나 정보가 정확하더라도 사용자에게 표시되지 않는 정보에 관한 구조화된 데이터를 추가하면 안 됩니다. 자세한 기술 및 품질 가이드라인은 구조화된 데이터 일반 가이드라인을 참조하세요.

구조화된 데이터 형식

이 문서에서는 Google 검색에 특별한 의미가 있는 구조화된 데이터의 필수, 권장 또는 선택적 속성을 설명합니다. Google 검색의 구조화된 데이터는 대부분 schema.org 용어를 사용하지만, Google 검색 동작의 경우 schema.org 문서가 아니라 developers.google.com의 문서를 최종적으로 참조해야 합니다. 여기에 설명되지 않은 속성이나 개체는 schema.org에 필수로 표시된 경우에도 Google 검색에서 필요하지 않습니다.

개발하는 동안 구조화된 데이터용 테스트 도구를 사용해 구조화된 데이터를 테스트하고 배포 후에는 리치 결과 상태 보고서를 통해 템플릿이나 게재 문제로 인해 배포 후 오류가 발생할 수 있는 페이지의 상태를 모니터링해야 합니다.

Google 검색에 향상된 디스플레이로 개체를 표시하려면 필수 속성을 모두 포함해야 합니다. 일반적으로 권장 속성을 많이 정의할수록 Google 검색결과에 향상된 디스플레이로 정보가 표시될 가능성이 커집니다. 그렇지만 완전하지 않고 잘못 형성되거나 부정확한 데이터로 사용 가능한 모든 권장 속성을 제공하기보다는 적지만 완전하고 정확한 권장 속성을 적용하는 것이 더 중요합니다.

여기에 설명된 속성과 개체 외에도 Google에서는 sameAs 속성 및 기타 schema.org 구조화된 데이터를 일반적으로 사용합니다. 이 중 일부 요소는 유용하다고 판단되는 경우 향후 Google 검색 기능에 사용될 수 있습니다.

Google 검색은 달리 문서화되지 않는 한 다음 형식의 구조화된 데이터를 지원합니다.

형식 설명 및 위치
JSON-LD*(권장) 페이지 헤드 또는 본문의 <script> 태그 내에 삽입되는 자바스크립트 표기입니다. 마크업은 중첩된 데이터 항목(예: Event의 MusicVenue의 PostalAddress의 Country)을 더 쉽게 표현하는 사용자가 볼 수 있는 텍스트와 함께 표시되지 않습니다. 또한 Google에서는 자바스크립트 코드나 콘텐츠 관리 시스템에 삽입된 위젯과 같이 JSON-LD 데이터가 페이지의 콘텐츠에 동적으로 삽입될 때 JSON-LD 데이터를 읽을 수 있습니다.
마이크로데이터 HTML 콘텐츠 내에 구조화된 데이터를 중첩하는 데 사용되는 개방형 커뮤니티 HTML 사양입니다. RDFa와 같이 HTML 태그 속성을 사용해 구조화된 데이터로 표시하려는 속성의 이름을 지정합니다. 대개 페이지 본문에 사용되지만 헤드에 사용될 수도 있습니다.
RDFa 사용자에게 표시되며 검색엔진에 제시하려는 콘텐츠에 해당하는 HTML 태그 속성을 도입하여 연결된 데이터를 지원하는 HTML5 확장입니다. RDFa는 일반적으로 HTML 페이지의 헤드와 본문 섹션 모두에 사용됩니다.

구조화된 데이터 가이드라인

구조화된 데이터 일반 가이드라인과 사용하는 구조화된 데이터 유형 관련 가이드라인을 따르세요. 그러지 않으면 구조화된 데이터가 Google 검색의 리치 결과에 표시되지 않을 수 있습니다.

구조화된 데이터 빌드, 테스트, 출시

새로운 구조화된 데이터 페이지를 만들기 위한 권장 프로세스 알아보기