구조화된 데이터 제공

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

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

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

개요

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

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

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

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

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

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

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

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

페이지 지도 태그 정의

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

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

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

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

다음은 배드민턴 관련 웹페이지의 PageMap 데이터 예입니다.

<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 태그의 변형은 지원되지 않습니다.

Google에서는 일반적으로 웹 작성 도구에서 프로그래매틱 방식으로 삽입되는 일반적인 태그(예: 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> 태그입니다.

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

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

제한사항

프로그래밍 검색 엔진은 최대 50개의 <meta> 태그를 페이지 지도로 변환합니다. 단, 처리된 모든 속성의 총 텍스트 크기가 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일
YYYY 월 DD 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 사용

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를 참조하세요.

맨 위로

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

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

다음은 일반 HTML 코드의 스니펫입니다.

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

다음 스니펫은 RDFa를 사용하여 확장된 이전 HTML 코드를 보여줍니다.

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

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

맨 위로

마이크로데이터 사용

언어 웹페이지를 작성하는 최신 버전의 HTML5는 GCPW 및 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을 입력하면 됩니다. 리뷰 정보나 연락처 목록이 있는 인기 사이트는 특히 구조화된 데이터가 있을 가능성이 큽니다.

구조화된 데이터가 포함된 페이지를 찾으면 페이지의 소스를 보고 사이트에서 구현한 구조화된 데이터를 확인할 수 있습니다. 예를 들어 마이크로포맷으로 구현된 사람에 관한 구조화된 데이터가 포함된 다음 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

맨 위로

다른 기능 탐색

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

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