구조화된 데이터 제공

이 페이지에서는 검색 연산자가 사용하는 구조화된 데이터를 추가하는 방법을 설명합니다.

웹페이지는 인간은 쉽게 읽을 수 있지만 컴퓨터는 이해하기 어려운 자유 형식의 텍스트로 채워져 있는 경우가 많습니다. 일부 웹페이지에는 페이지의 URL이나 제목에 페이지 날짜가 삽입되거나, HTML 코드에 컴퓨터가 읽을 수 있는 필드와 같이 읽기 쉬운 구조의 정보가 있습니다. Google은 웹페이지에서 다양한 구조화된 데이터를 추출합니다. 이 페이지에서는 Google에서 추출하는 구조화된 데이터 유형을 맞춤 스니펫구조화된 검색에 사용할 수 있습니다.

  1. 개요
  2. 프로그래밍 검색 엔진에 데이터 제공
  3. 리치 스니펫에 데이터 제공
  4. 추출된 구조화된 데이터 보기

개요

DVD를 판매하는 웹페이지를 읽을 때 제목, 리뷰 작성자의 의견, 영화에 대한 평가를 빠르게 파악할 수 있습니다. 그러나 컴퓨터는 정보가 구조화되는 방식을 이해하지 못하기 때문에 동일한 작업을 할 수 없습니다.

예를 들어 페이지에 다른 상품 추천, 다른 스토어의 광고, 고객의 의견과 함께 DVD에 관한 콘텐츠가 있는 경우 판매되는 DVD뿐 아니라 다양한 사물에 따라 페이지 가격이 다를 수 있습니다. 다른 가격을 무시하면서 DVD의 가격을 쉽게 파악할 수 있지만 컴퓨터는 그렇게 할 수 없습니다. 일부 정교한 프로그램은 웹페이지에서 가격을 찾을 수도 있지만 DVD의 가격만 찾는 규칙을 결정할 수는 없습니다.

구조화된 데이터 형식은 웹페이지의 구조와 콘텐츠를 표준화하는 규칙입니다. 텍스트 스니펫에 적용하는 마크업으로 컴퓨터가 의미나 의미를 처리할 수 있도록 텍스트 스니펫에 적용합니다. 마크업이 웹사이트의 형식을 변경하지는 않으며, XHTML 태그에 포함된 메타데이터와 텍스트가 컴퓨터에서 더 유의미하게 인식되도록 할 뿐입니다.

프로그래밍 검색 엔진은 다음 형식을 인식합니다.

  • PageMaps: 페이지에 메타데이터를 추가하는 보이지 않는 XML 블록입니다.
  • JSON-LD: JSON 형식을 사용하는 보이지 않는 구조화된 데이터입니다.
  • Microformats: 사전 정의된 유형에 따라 표시되는 페이지 콘텐츠를 마크업하는 데 사용되는 태그입니다.
  • RDFa: 임의의 유형에 따라 표시되는 페이지 콘텐츠를 마크업하기 위한 대체 표준입니다.
  • 마이크로데이터: 표시되는 페이지 콘텐츠를 마크업하기 위한 새로운 HTML5 표준입니다.
  • <meta> 태그: 표준 HTML 태그이며, Google에서 하위 집합을 파싱합니다.
  • 페이지 날짜: Google에서 파싱하려고 시도하는 날짜를 나타내는 페이지의 지형지물입니다.

원하는 형식을 하나만 사용하거나 여러 형식을 조합하여 사용할 수 있습니다. 프로그래밍 검색 엔진과 달리 Google 검색은 리치 스니펫을 생성할 때 JSON-LD, 마이크로데이터, gzip만 사용하며, 사용자에게 표시할 정보를 결정하기 위한 자체 알고리즘과 정책이 있습니다. 따라서 페이지에 추가한 구조화된 데이터 요소가 프로그래밍 검색 엔진에 표시될 수 있지만 이 데이터는 Google 검색 결과에서 사용되지 않을 수 있습니다.

다음은 리뷰 사이트에서 가져온 일반 HTML의 이상적인 스니펫입니다.

<div>
    <div>
        <h1>Pizza My Heart</h1>
    </div>
    <span>88%</span> like it
    <a href="#reviews">See all 12 reviews</a>
    <span>Under $10 per entree</span>
<div>

다음 스니펫은 microformats라는 형식으로 확장된 이전 HTML 코드를 보여줍니다.

<div class="hreview-aggregate">
    <div class="vcard item">
        <h1 class="fn">Pizza My Heart</h1>
    </div>
    <span class="rating average">88%</span> like it
    <a href="#reviews">See all <span class="count">12</span> reviews</a>
    <span class="pricerange">Under $10 per entree</span>
<div>
프로그래밍 검색 엔진에서 추출하는 기능은 이 방법에 따라 확인할 수 있습니다.

표준 구조화된 데이터 형식을 웹페이지에 통합하면 데이터를 프로그래밍 검색 엔진에서 사용할 수 있을 뿐만 아니라 동일한 표준을 지원하는 모든 서비스나 도구에도 데이터를 사용할 수 있습니다. 구조화된 데이터를 웹페이지에서 가장 중요한 정보에 적용하여 결과에 직접 표시할 수 있습니다. 예를 들어 Android 기기를 판매하는 웹사이트가 있다면 평점, 가격, 구매 가능 여부 등에 관한 구조화된 데이터를 포함합니다. 사용자가 Android 기기를 검색할 때 평점, 가격, 이용 가능 여부를 한눈에 확인할 수 있습니다.

그래서 컴퓨터는 이제 웹페이지의 데이터 유형을 이해할 수 있습니다 이제 어떻게 해야 할까요? 컴퓨터는 또한 다양한 웹 페이지에서 정보를 찾고 결합하는 사소한 작업을 시작할 수 있습니다. 따라서 사용자는 원하는 항목을 찾기 위해 여러 페이지를 훑어보는 것과 같은 지루한 작업을 하지 않아도 됩니다. 프로그래밍 검색 엔진과 같은 검색엔진은 웹페이지의 구조화된 데이터를 처리하여 맞춤 스니펫, 구조화된 검색과 같이 유용하고 더 의미 있는 방식으로 표시할 수 있습니다.

맨 위로

프로그래밍 검색 엔진에 데이터 제공

Google은 페이지 맵, <meta> 태그의 하위 집합, 대략적인 페이지 날짜와 같이 프로그래밍 검색 엔진에서 주로 사용되는 여러 종류의 데이터를 지원합니다.

페이지 지도 사용

페이지 지도는 페이지의 데이터에 관한 정보를 Google에 제공하는 구조화된 데이터 형식입니다. 웹사이트 제작자는 이를 통해 웹페이지에 데이터와 메모를 삽입할 수 있습니다. 구조화된 데이터가 사용자나 Google 웹 검색에 표시되지는 않지만, 프로그래밍 검색 엔진은 웹페이지의 색인을 생성할 때 이를 인식하여 프로그래밍 검색 요소에 직접 반환합니다.

페이지 지도를 명시적으로 페이지에 추가하거나 사이트맵을 사용하여 페이지 지도를 제출할 수 있습니다. 또한 Google은 리치 스니펫 마크업이나 meta 태그 데이터와 같은 페이지의 다른 정보를 사용하여 페이지 지도를 만듭니다.

아래에 설명된 다른 구조화된 데이터 형식과 달리 페이지 지도는 표준 속성 또는 용어를 따르거나 기존 어휘, 스키마 또는 템플릿을 참조할 필요도 없습니다. 웹사이트에 맞는 맞춤 속성 값을 만들기만 하면 됩니다 HTML 본문에서 사용자에게 표시되는 콘텐츠 주위에 추가되는 microformats, 마이크로데이터, RDFa의 구조화된 데이터 속성과 달리 PageMaps 메타데이터는 HTML 페이지의 head 섹션에 포함됩니다. 이 메서드는 애플리케이션에 필요하지만 사용자에게 표시하고 싶지 않을 수 있는 임의의 데이터를 지원합니다.

페이지 지도를 만든 후 다음 방법 중 하나를 사용하여 Google에 제출할 수 있습니다.

페이지 지도 태그 정의

다음 표에는 페이지 지도 데이터를 사이트맵에 추가하기 위한 요구사항이 요약되어 있습니다.

태그 필수 여부 설명
PageMap 지원됨 관련 URL에 대한 모든 PageMap 정보를 포함합니다.
DataObject 지원됨 단일 요소 (예: 작업)에 관한 모든 정보를 포함합니다.
Attribute 지원됨 각 DataObject에는 하나 이상의 속성이 포함되어 있습니다.

참고: PageMaps는 XML 블록이므로 형식을 올바르게 지정해야 합니다. 특히 XML의 PageMap, DataObject, Attribute 태그는 type, name, value 속성과 마찬가지로 대소문자를 구분합니다.

페이지 지도 데이터를 HTML 페이지에 직접 추가

다음은 배드민턴에 대한 웹페이지의 페이지 지도 데이터 예입니다.

<html>
  <head>
   ...
  <!--
  <PageMap>
     <DataObject type="document">
        <Attribute name="title">The Biomechanics of a Badminton
        Smash</Attribute>
        <Attribute name="author">Avelino T. Lim</Attribute>
        <Attribute name="description">The smash is the most
        explosive and aggressive stroke in Badminton. Elite athletes can
        generate shuttlecock velocities of up to 370 km/h. To perform the
        stroke, one must understand the biomechanics involved, from the body
        positioning to the wrist flexion. </Attribute>
        <Attribute name="page_count">25</Attribute>
        <Attribute name="rating">4.5</Attribute>
        <Attribute name="last_update">05/05/2009</Attribute>
     </DataObject>
     <DataObject type="thumbnail">
        <Attribute name="src" value="http://www.example.com/papers/sic.png" />
        <Attribute name="width" value="627" />
        <Attribute name="height" value="167" />
     </DataObject>
  </PageMap>
  -->
  </head>
   ...
</html>

사이트맵에 페이지 지도 데이터 추가하기

페이지의 HTML에 페이지 지도 데이터를 포함하지 않으려면 페이지 지도 데이터를 사이트맵에 추가하고 Search Console 사이트맵 도구를 통해 사이트맵을 제출하면 됩니다.

http://www.example.com/foo와 http://www.example.com/bar의 두 URL에 대한 PageMap 정보가 포함된 사이트맵의 예는 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 <url>
   <loc>http://www.example.com/foo</loc>
   <PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0">
     <DataObject type="document" id="hibachi">
       <Attribute name="name">Dragon</Attribute>
       <Attribute name="review">3.5</Attribute>
     </DataObject>
   </PageMap>
 </url>
 <url>
   <loc>http://www.example.com/bar</loc>
   <PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0">
     <DataObject type="document" id="biggreenegg">
       <Attribute name="name">Ribs</Attribute>
       <Attribute name="review">4.0</Attribute>
     </DataObject>
   </PageMap>
 </url>
</urlset>

PageMap 데이터 파싱

프로그래밍 검색 요소를 사용하면 맞춤 속성이 각 결과의 리치 스니펫 속성에 반환되며 검색 요소 콜백과 함께 사용할 수 있습니다.

<r n="1">
 <u> http://www.xyz.com/business/vending_machine.html </u>
 ...
 <t> In Italy, a Vending Machine Even Makes the <b>Pizza</b> </t>
 ...
 <s>The European vending machine industry has annual sales of about #33
 billion, much of it coming from factories and offices.</s>
 ...
 <PageMap>
  <DataObject type="image">
   <Attribute name="image_src" value="http://www.nytimes.com/images/2009/03/14/business/14vend.751.jpg"/>
  </DataObject>
  <DataObject type="publication">
   <Attribute name="author" value="John Tagliabue"/>
   <Attribute name="date" value="March 14, 2009"/>
   <Attribute name="category" value="Business/World Business"/>
  </DataObject>
 </PageMap>
 ...
</r>

맨 위로

<meta> 태그 사용

페이지 지도를 사용하면 각 페이지에 원하는 데이터를 정확하게 지정할 수 있지만, 주석을 달지 않으려는 콘텐츠가 많을 때가 있습니다. Google은 <meta name="KEY" content="VALUE"> 형식의 META 태그에서 선택된 콘텐츠를 추출합니다. name 대신 property를 사용하는 등 META 태그의 변형은 지원되지 않습니다.

robots, description, keywords와 같이 웹 작성 도구에서 일반적으로 프로그래매틱 방식으로 삽입되는 일반적인 태그는 명시적으로 제외되지만, 사이트 관련 태그가 더 드물게 추출되어 맞춤 검색의 모든 구조화된 데이터 기능과 함께 사용할 수 있는 metatags 유형의 특수 데이터 객체에 배치됩니다. 예를 들어 양식의 <meta> 태그는 다음과 같습니다.

<meta name="pubdate" content="20100101">

다음과 같이 XML 결과로 반환되는 PageMap DataObject를 만듭니다.

<r n="1">
 ...
 <PageMap>
  <DataObject type="metatags">
   <Attribute name="pubdate" value="20100101"/>
  </DataObject>
 </PageMap>
 ...
</r>

이렇게 자동으로 생성된 페이지 맵의 데이터는 페이지 콘텐츠에 명시적으로 포함된 페이지 맵의 데이터를 사용할 수 있는 곳이면 어디에나 사용할 수 있습니다. 예를 들어 Sort by Attribute와 같은 구조화된 검색 연산자와 함께 사용할 수 있습니다.

https://www.google.com/cse?cx=12345:example&q=oil+spill&sort=metatags-pubdate

또는 프로그래밍 검색 요소를 사용합니다.

...
<div class="gcse-search" sort_by="metatags-pubdate:d:s"></div>
...

Google에서 제외한 <meta> 태그는 다음과 같습니다.

  • 로봇
  • 설명
  • 키워드
  • 이후-재방문
  • 생성기
  • verify-v1
  • googlebot
  • google-site-verification
  • mssmarttags파싱
  • 캐시 없음

Google은 <meta> 태그의 name 필드에 있는 구두점, 특수문자, 삽입된 공백이 올바르게 파싱되지 않을 수 있다는 점에 유의하여 다른 모든 <meta> 태그를 포함하려고 합니다. 프로그래밍 검색 엔진은 <meta> 태그 이름에 마침표와 대시를 명시적으로 지원합니다. 프로그래밍 검색 엔진은 <meta> 태그 이름 내의 다른 특수문자를 명시적으로 지원하지 않지만 일부 특수문자는 URL로 인코딩된 경우 올바르게 허용될 수 있습니다.

제한사항

프로그래밍 검색 엔진은 최대 50개의 <meta> 태그를 PageMaps로 변환합니다. 단, 처리된 모든 속성의 총 텍스트 크기가 1MB를 초과하지 않아야 하고 개별 속성은 1, 024자를 초과하지 않아야 합니다.

맨 위로

페이지 날짜 사용

페이지에 명시적으로 지정하는 메타데이터 외에도 Google은 제목 및 URL의 날짜와 같은 페이지의 기능을 기반으로 페이지 날짜를 예측합니다. 프로그래밍 검색 엔진을 사용하면 이 날짜를 기준으로 특수 메타데이터 키 date를 사용하여 결과를 정렬, 편중 및 범위를 제한할 수 있습니다. 이 예상 날짜는 속성별 정렬, 속성별 편향, 범위로 제한&sort= URL 매개변수를 사용하는 모든 연산자에서 사용할 수 있습니다.

참고: 페이지 날짜는 페이지 맵에 추가되지 않으므로 JSON API 결과에 반환되지 않고 프로그래밍 검색 엔진 요소에서 사용할 수 없으며 속성별 필터링 기능과 함께 사용할 수 없습니다.

다음 예는 이러한 연산자와 함께 페이지 날짜를 사용하는 방법을 보여줍니다.

유용한 경우... 이 URL 전송... 자세한 내용은 다음을 참고하세요.
날짜별 결과를 내림차순으로 정렬 https://www.google.com/cse?cx=12345:example&q=oil+spill&sort=date 속성별 정렬
최신 날짜에 편중된 결과 https://www.google.com/cse?cx=12345:example&q=oil+spill&sort=date:d:s 속성별 편향
이전 날짜에 약하게 결과를 얻습니다. https://www.google.com/cse?cx=12345:example&q=oil+spill&sort=date:a:w 속성별 편향
2010년 1월 1일부터 2월 1일까지의 결과 반환 https://www.google.com/cse?cx=12345:example&q=oil+spill&sort=date:r:20100101:20100201 범위로 제한

Google의 페이지 적당한 날짜는 뉴스 기사의 서명 날짜 또는 문서 제목에 명시적으로 명시된 날짜와 같은 기능을 기반으로 합니다. 페이지의 날짜가 잘못 지정되거나 일관되지 않은 경우 Google의 페이지 날짜 예측이 적절하지 않을 수 있으며 프로그래밍 검색 엔진이 예상하지 못한 방식으로 정렬된 결과를 반환할 수 있습니다.

날짜 형식 지정

사이트는 페이지 URL, 제목 또는 기타 기능에 삽입된 날짜를 감지하는 Google의 예상 페이지 날짜 기능을 사용하거나 구조화된 데이터 형식으로 날짜를 제공하여 명시적으로 날짜 정보를 암시적으로 제공할 수 있습니다. 두 경우 모두 날짜를 효과적으로 사용하려면 날짜 형식을 올바르게 지정해야 합니다.

프로그래밍 검색 엔진의 속성별 정렬, 속성별 편향, 범위로 제한 기능의 경우 Google은 기존 날짜 형식과 ISO 8601IETF RFC 850과 같은 공식 표준을 모두 사용하여 날짜를 파싱하려고 합니다. 다음과 같은 완전한 날짜 형식이 허용됩니다.

날짜 형식 예시 날짜
YYYY-MM-DD 2009-12-31
YYYY/MM/DD 2009/12/31
YYYYMMDD 20091231
YYYY 월 DD 2009년 12월 31일
DD 월 YYYY 2009년 12월 31일

Google은 MM/DD/YYYYDD/MM/YYYY와 같은 이러한 날짜 형식의 변형을 파싱하려고 시도합니다. 하지만 날짜가 명확하지 않을수록 Google에서 정확하게 파싱할 가능성이 낮아집니다. 예를 들어 06/07/08 날짜는 매우 모호하여 Google에서 사용자가 원하는 해석을 할당할 가능성이 낮습니다. 최상의 결과를 얻으려면 연도가 완전히 지정된 완전한 ISO 8601 날짜 형식을 사용하세요.

맨 위로

리치 스니펫

또한 Google은 JSON-LD, Microformats, RDFa, 마이크로데이터에서 다양한 구조화된 데이터를 추출하여 표준 Google 검색결과의 확장된 표현인 리치 스니펫에 사용합니다. 프로그래밍 검색 엔진의 구조화된 데이터 연산자(일반적으로 리치 스니펫에 사용되는 데이터)에서 유사한 데이터를 사용할 수 있습니다. 예를 들어 Microformat hrecipe 표준으로 페이지를 마크업한 경우 &sort=recipe-ratingstars와 같은 연산자를 사용하여 레시피의 평점 별표 수를 정렬할 수 있습니다. Google은 추출한 데이터와 이 데이터를 프로그래밍 검색 엔진에서 사용할 수 있는 데이터 양을 지속적으로 확대하고 있습니다. 현재 Google이 추출하는 데이터를 확인하려면 Search Console의 구조화된 데이터용 테스트 도구를 사용하면 됩니다.

맨 위로

JSON-LD 사용

JSON-LD는 구조화된 데이터에 널리 사용되는 표준 형식입니다. 데이터는 JSON 형식으로 지정되며 type="application/ld+json"가 포함된 <script> 태그에 배치됩니다.

다음은 간단한 JSON-LD를 사용한 최소한의 HTML입니다.

<script type="application/ld+json">
      {
        "@id": "http://event.example.com/events/presenting-foo",
        "@type": "http://schema.org/Event",
        "http://schema.org/description": "Please attend. You'll love it!",
        "http://schema.org/name": "Presenting Foo",
        "http://schema.org/startdate": "2022-05-24",
        "http://schema.org/location": "Back room"
      }
    </script>

Google에서는 프로그래밍 검색 엔진을 위해 이 데이터의 하위 집합을 추출하여 정규화합니다. 정규화는 JSON-LD를 단순화하여 많은 JSON-LD 관용구를 삭제합니다. 정규화된 데이터는 다음과 같이 추가로 처리됩니다.

  • JSON-LD의 그래프 구조에서 나무의 숲으로 변환됩니다.
  • 포리스트는 schema.org 유형의 하위 집합과 관련된 브랜치로 세분화됩니다. 이 하위 집합은 다음에 대한 schema.org 유형 트리로 구성됩니다.특정 사용 사례에 유용한 다른 유형이 있다면 지원 포럼을 통해 알려주세요.
  • 선택된 유형 중 하나의 각 JSON-LD 노드는 JSON-LD 트리에서 브랜치를 가져옵니다. 이 브랜치에는 트리의 상위 노드와 모든 하위 노드가 포함됩니다. 예를 들어 전체 Event 속성 집합을 가진 Event 값이 있는 firstPerformance 속성을 가진 MusicComposition에 루팅된 트리가 있을 수 있습니다. MusicComposition에서 Event의 속성 및 그 하위 요소에 이르는 모든 노드는 firstPerformance Event.를 포함하는 의미 있는 트리 브랜치를 유지하기 위해 유지됩니다.
위의 JSON-LD의 경우 구조화된 데이터가 검색결과에 다음과 같은 JSON 형식으로 반환됩니다.
 ...
 "event": {
   "name": "Presenting Foo",
   "description": "Please attend. You'll love it!",
   "startdate": "2022-05-24",
   "location": "Back room"
 },
 ...

Google 검색에서 추출한 페이지 내용을 확인하고 JSON-LD를 검증하려면 Google Search Console 사이트의 리치 결과 테스트 도구를 사용하세요.

JSON-LD에 관한 자세한 내용은 구조화된 데이터 문서json-ld.org를 참고하세요.

맨 위로

마이크로포맷 사용

Microformats는 리뷰, 사람, 제품, 비즈니스와 같이 일반적으로 게시되는 항목을 나타내기 위한 사양입니다. 일반적으로 마이크로포맷은 <span><div> 요소와 클래스 속성으로 구성됩니다. 여기에는 간략한 설명이 포함된 속성 이름 (예: 각각 항목 리뷰 날짜와 평점을 나타내는 dtreviewed 또는 rating)가 포함됩니다.

다음은 일반 HTML 코드 스니펫을 포함합니다.

<p><strong>Kevin Grendelzilla</strong></p>
<p>Technical writer at Google</p>
<p>555 Search Parkway</p>
<p>Googlelandia, CA 94043</p>

다음 스니펫은 microformats로 확장된 이전 HTML 코드를 보여줍니다.

<div class="vcard">
   <p><strong class="fn">Kevin Grendelzilla</strong></p>
   <p><span class="title">Technical writer</span> at <span class="org">Google</span></p>
   <p><span class="adr">
      <span class="street-address">555 Search Parkway</span>
      <span class="locality">Googlelandia</span>, <span class="region">CA</span>
      <span class="postcode">94043</span>
      </span></p>
</div>

Google에서는 이 데이터의 하위 집합을 추출하여 리치 스니펫에 표시되는 방식에 맞게 정규화되고 재구성됩니다. 이 하위 집합은 다음과 같이 XML 결과에서 반환됩니다.

<r n="1">
 ...
 <PageMap>
  <DataObject type="person">
   <Attribute name="location" value="Googlelandia"/>
   <Attribute name="role" value="Technical Writer"/>
  </DataObject>
 </PageMap>
 ...
</r>

Google이 페이지에서 추출하는 내용을 확인하려면 Google의 Search Console 사이트에 있는 구조화된 데이터용 테스트 도구를 사용하세요. Google이 페이지에서 추출하는 데이터는 지속적으로 확장되고 있으므로 원하는 데이터가 제공되었는지 주기적으로 확인하세요. 그동안 정의된 마이크로포맷에 해당하지 않는 맞춤 데이터가 필요한 경우 PageMaps를 사용할 수 있습니다.

microformats에 대한 자세한 내용은 구조화된 데이터 문서microformats.org를 참조하세요.

맨 위로

속성에서 리소스 설명 프레임워크 사용 (RDFa)

속성 (RDFa)의 리소스 설명 프레임워크는 microformats보다 유연합니다. Microformats는 구조화된 데이터를 HTML 문서에 포함하기 위한 문법과 허용되는 속성의 고유한 특정 어휘가 있는 microformat 클래스 집합을 모두 지정합니다. 반면 RDFa는 구문만 지정하며 속성의 기존 어휘를 사용하거나 직접 어휘를 만들 수 있게 해줍니다. 여러 어휘를 자유롭게 결합할 수도 있습니다. 기존 어휘가 요구를 충족하지 않는 경우 새 필드를 만들어 자신만의 표준과 어휘를 정의할 수 있습니다.

다음은 일반 HTML 코드 스니펫을 포함합니다.

<div>
   <h3>5 Centimeters Per Second</h3>
   <h4>Makoto Shinkai</h4>
    ...
</div>

다음 스니펫은 gzip으로 확장된 이전 HTML 코드를 보여줍니다.

<div>
   <h3 property="dc:title">5 Centimeters Per Second</h3>
   <h4 property="dc:maker">Makoto Shinkai</h4>
   ...
</div>

vTPM에 관한 자세한 내용은 구조화된 데이터 문서를 참조하세요. RDF 스키마 정의에 관한 자세한 내용은 RDF 기본 지침서를 참고하세요.

맨 위로

마이크로데이터 사용

언어 웹페이지의 최신 버전이 작성되는 최신 버전의 HTML5는 마이크로데이터라는 형식을 정의합니다. 마이크로데이터는 RDFa와 Microformats의 개념을 HTML 표준 자체에 직접 통합한 것입니다. 마이크로데이터는 HTML 태그에 간단한 속성(종종 span 또는 div)을 사용하여 항목 및 속성에 간단명료한 이름을 할당합니다.

RDFa 및 Microformats와 마찬가지로 마이크로데이터의 속성을 사용하여 콘텐츠가 리뷰, 사람, 정보, 이벤트와 같은 특정 유형의 정보를 설명하도록 지정할 수 있습니다. 예를 들어, 한 사람은 속성 이름, 닉네임, URL, 직책 및 소속을 가질 수 있습니다. 다음은 Bob Smith의 기본 연락처 정보를 보여주는 간단한 HTML 블록의 예입니다.

<div>
  My name is Bob Smith but people call me Smithy. Here is my home page:
  <a href="http://www.example.com">www.example.com</a>
  I live in Albuquerque, NM and work as an engineer at ACME Corp.
</div>

다음은 동일한 HTML을 마이크로데이터를 사용하여 마크업한 것입니다. 이 예에서는 아직 공식적으로 schema.org의 일부가 아닌 'nickname' 속성을 사용합니다. 커스텀 검색은 광범위한 커뮤니티에 제안하기 전에 사용할 수 있는 schema.org 확장 프로그램을 로컬에서 살펴보는 데 좋은 방법입니다.

<div itemscope itemtype="http://schema.org/Person">
  My name is <span itemprop="name">Bob Smith</span>
  but people call me <span itemprop="nickname">Smithy</span>.
  Here is my home page:
  <a href="http://www.example.com" itemprop="url">www.example.com</a>
  I live in Albuquerque, NM and work as an <span itemprop="title">engineer</span>
  at <span itemprop="affiliation">ACME Corp</span>.
</div>

이 예의 첫 번째 줄에는 div에 마이크로데이터 항목이 포함되어 있음을 나타내는 itemscope 속성이 있는 HTML div 태그가 포함되어 있습니다. 동일한 태그의 itemtype="http://schema.org/Person" 속성은 사람임을 알려줍니다. 사람 항목의 각 속성은 itemprop 속성으로 식별됩니다. 예를 들어 span 태그의 itemprop="name"는 사람의 이름을 설명합니다. spandiv로 제한되지 않습니다. itemprop="url" 태그는 a (앵커) 태그에 연결됩니다.

마이크로데이터에 관해 자세히 알아보려면 구조화된 데이터 문서HTML 마이크로데이터 표준을 참고하세요.

맨 위로

추출된 구조화된 데이터 보기

구조화된 JSON-LD 데이터에는 Google에서 지원하는 특별한 유효성 검사 도구인 리치 결과 테스트 도구가 있습니다. JSON-LD 구문과 일부 시맨틱스, 특히 구조화된 데이터에 필수 속성과 권장 속성이 포함되어 있는지 확인합니다. 다른 형태의 구조화된 데이터를 확인하려면 스키마 마크업 검사기를 사용하세요. 구조화된 데이터의 문법을 확인하고 해석된 형식을 표시합니다.

프로그래밍 검색 엔진은 구조화된 데이터의 하위 집합을 보관하므로 프로그래밍 검색 엔진을 사용하면 페이지의 구조화된 데이터에 관한 프로그래밍 검색 엔진의 보기를 다음과 같은 방법으로 검사할 수 있습니다.

  1. 고급검색 기능에서 검색결과의 구조화된 데이터 사용 설정

    구조화된 데이터 사용 설정 스크린샷

  2. 그런 다음 검색엔진을 사용하여 원하는 데이터가 포함된 페이지를 찾고 해당 페이지의 검색결과에서 구조화된 데이터 버튼을 클릭합니다.

    검색결과의 구조화된 데이터 버튼 스크린샷

웹페이지에 구조화된 데이터를 태그하지 않았지만 추출된 구조화된 데이터가 어떻게 표시되는지 확인하려면 다른 웹사이트의 URL을 입력하면 됩니다. 리뷰 정보나 연락처 목록이 있는 인기 사이트에는 특히 구조화된 데이터가 있을 가능성이 높습니다.

구조화된 데이터가 포함된 페이지를 찾으면 페이지의 소스를 확인하여 사이트에서 구현한 구조화된 데이터를 확인할 수 있습니다. 예를 들어 microformats로 구현된 사람에 대한 구조화된 데이터가 포함된 다음 HTML 스니펫을 고려해 보세요.

<div class="vcard">
    <h1 class="fn">
      <span class="given-name">Godzilla</span>
      <span class="family-name">Gigantis</span>
    </h1>
    <span class="title">Senior Giant Monster</span>,
    <span class="adr">
      <span class="locality">Tokyo</span>
    </span>
<div>

프로그래밍 검색 엔진은 구조화된 검색에 사용할 데이터의 다음 하위 집합을 추출합니다.

person (source = MICROFORMAT)
  location = Tokyo

맨 위로

기타 기능 탐색

구조화된 데이터는 다음을 비롯한 여러 프로그래밍 검색 엔진 기능에서 사용할 수 있습니다.

  • 스니펫에서 구조화된 데이터를 사용하는 방법을 자세히 알아보려면 결과 스니펫 맞춤설정을 참고하세요.
  • 검색결과 순서 변경에 관해 자세히 알아보려면 구조화된 검색을 참고하세요.