← 가이드 목록
구조화 데이터JSON-LD리치 결과

비즈니스 schema.org 구조화 데이터 완벽 가이드

2026-04-23

비즈니스 schema.org 구조화 데이터 완벽 가이드

검색 결과에 별점·이미지·FAQ 펼침 같은 리치 스니펫이 나오는 사이트와 그렇지 않은 사이트의 클릭률은 보통 30~50% 차이가 납니다. 그 차이의 핵심이 schema.org 구조화 데이터입니다.

JSON-LD가 가장 안전한 형식

구조화 데이터는 Microdata·RDFa·JSON-LD 세 가지 형식으로 표현 가능하지만, 구글이 공식 권장하는 형식은 JSON-LD입니다. 이유:

  • HTML 마크업과 분리되어 유지보수가 쉬움
  • 동적 사이트(SPA·CMS)에서 주입하기 쉬움
  • 한 곳에 모아 관리 가능 (head 또는 body 어디든 OK)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "OO 컴퍼니",
  "url": "https://example.com",
  "logo": "https://example.com/logo.png"
}
</script>

모든 사이트 필수 4종

1. Organization

회사·브랜드의 기본 정보. 검색 결과 우측 지식 패널의 핵심 데이터.

{
  "@type": "Organization",
  "name": "OO 컴퍼니",
  "url": "https://example.com",
  "logo": "https://example.com/logo.png",
  "sameAs": [
    "https://instagram.com/example",
    "https://www.youtube.com/@example"
  ],
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+82-2-0000-0000",
    "contactType": "customer support",
    "areaServed": "KR"
  }
}

2. WebSite

사이트 자체. 잘 마크업하면 구글 검색 결과에 사이트링크 검색창이 노출됩니다.

{
  "@type": "WebSite",
  "name": "OO 컴퍼니",
  "url": "https://example.com",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "https://example.com/search?q={search_term_string}",
    "query-input": "required name=search_term_string"
  }
}

3. BreadcrumbList

페이지 경로. 검색 결과의 URL 자리에 빵 부스러기 형태로 노출됩니다.

{
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "홈", "item": "https://example.com" },
    { "@type": "ListItem", "position": 2, "name": "블로그", "item": "https://example.com/blog" },
    { "@type": "ListItem", "position": 3, "name": "글 제목", "item": "https://example.com/blog/post" }
  ]
}

4. FAQPage (해당 페이지만)

자주 묻는 질문 섹션이 있는 페이지에 적용. 검색 결과에서 펼쳐지는 FAQ 박스가 노출되어 클릭률·체류시간 양쪽에 강합니다.

{
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "배송은 얼마나 걸리나요?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "주문일 기준 평균 1.4일 출고, 도서산간 제외 2일 내 도착합니다."
      }
    }
  ]
}

업종별 추가 마크업

오프라인 매장이 있다면 — LocalBusiness

{
  "@type": "LocalBusiness",
  "name": "OO 카페",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "강남대로 123",
    "addressLocality": "강남구",
    "addressRegion": "서울",
    "postalCode": "06000",
    "addressCountry": "KR"
  },
  "telephone": "+82-2-0000-0000",
  "openingHours": "Mo-Fr 09:00-22:00",
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 37.498,
    "longitude": 127.027
  }
}

업종별 세부 타입(Restaurant, MedicalClinic, BeautySalon, Store 등)으로 구체화하면 더 효과적입니다.

상품을 판다면 — Product

{
  "@type": "Product",
  "name": "OO 신발",
  "image": "https://example.com/img/shoe.jpg",
  "brand": { "@type": "Brand", "name": "OO" },
  "offers": {
    "@type": "Offer",
    "price": "89000",
    "priceCurrency": "KRW",
    "availability": "https://schema.org/InStock"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "184"
  }
}

aggregateRating이 있으면 검색 결과에 별점이 노출됩니다 (CTR 20% 이상 상승 일반적).

블로그·뉴스라면 — Article / BlogPosting

저자(author) + 발행일(datePublished) + 수정일(dateModified)이 핵심. 저자 권위는 EEAT의 핵심 신호입니다.

강의·교육이라면 — Course

provider, courseCode, educationalLevel, inLanguage 등을 포함.

@graph 패턴 — 모든 노드를 한 블록에

여러 타입을 사이트 전체에 분산해서 적기보다, 메인 페이지에서 @graph 배열로 한 번에 선언하는 것이 권장됩니다.

{
  "@context": "https://schema.org",
  "@graph": [
    { "@type": "Organization", "@id": "https://example.com/#organization", ... },
    { "@type": "WebSite", "@id": "https://example.com/#website", ... },
    { "@type": "BreadcrumbList", ... }
  ]
}

@id로 노드를 식별하면 다른 페이지의 마크업이 메인 노드를 참조할 수 있어 일관성이 유지됩니다.

검증 — 3가지 도구

게시 전에 반드시 검증하세요:

  1. Schema Markup Validator — 문법·스키마 표준 준수 검증
  2. Google Rich Results Test — 실제 리치 결과 노출 후보인지 확인
  3. Google Search Console — 게시 후 색인 상태와 리치 결과 노출 모니터링

자기 사이트의 구조화 데이터가 어디까지 통과했는지 무료 진단으로 즉시 확인해보세요. JSON-LD 파싱 실패·필수 속성 누락·@graph 중첩 문제까지 한 번에 잡아드립니다.

무료 진단

내 홈페이지가 이 가이드의 체크리스트를 얼마나 충족하는지 30초 안에 확인

내 홈페이지 진단하기 →