본문 바로가기
SEO·GEO 용어사전

상품 옵션 구조화 데이터 (ProductGroup, 옵션 스키마)

마지막 업데이트

상품 옵션 구조화 데이터는 색상과 크기, 소재처럼 같은 부모 상품에서 갈라지는 변형을 ProductGroup으로 묶어 표현한 데이터입니다. 여러 판매자의 가격을 모은 AggregateOffer나 서로 다른 상품 목록과는 다릅니다.

이 글은 Google 검색 센터와 Schema.org의 공식 문서를 기준으로 작성했습니다.

부모 상품과 변형을 나눕니다

{
  "@context": "https://schema.org",
  "@type": "ProductGroup",
  "name": "기본 티셔츠",
  "productGroupID": "shirt-01",
  "variesBy": ["https://schema.org/color", "https://schema.org/size"],
  "hasVariant": {
    "@type": "Product",
    "name": "기본 티셔츠 검정 M",
    "color": "검정",
    "size": "M"
  }
}

Google은 ProductGroup의 name을 필수로 안내합니다. 그룹에는 productGroupID를, 각 변형에는 SKU나 GTIN 같은 고유 식별자를 두는 것이 중요합니다. 사용자가 특정 변형을 바로 선택할 수 있는 URL도 필요합니다.

한 페이지 방식과 여러 페이지 방식

한 URL에서 옵션을 바꾸는 쇼핑몰은 hasVariant로 변형을 함께 표현할 수 있습니다. 옵션마다 URL이 따로 있다면 각 페이지에 그 변형을 이해할 완전한 Product 정보를 두고 그룹 ID로 연결합니다. 대표 URL만 완전하고 나머지 URL은 빈 마크업이면 안 됩니다.

ProductGroup은 Google의 상품 변형 지원에 쓰이지만 네이버에는 독립 지원 명세가 없습니다. Schema.org 문법이 맞는 것과 네이버 쇼핑 노출은 별개입니다.

확인하는 방법

각 변형의 이름, URL, 색상, 크기, 가격과 재고가 실제 선택 화면과 맞는지 대조합니다. Schema Markup Validator에서 그룹과 변형 관계를 보고, Google 리치 결과 테스트와 Merchant listings 보고서도 확인하세요.

자주 묻는 질문

다른 브랜드의 비슷한 상품도 같은 ProductGroup인가요?

아닙니다. ProductGroup은 하나의 부모 상품에서 정해진 속성으로 갈라지는 변형을 묶습니다.

품절 옵션도 표시할 수 있나요?

변형이 실제 페이지에 남아 있다면 해당 Product와 Offer에 정확한 품절 상태를 표시할 수 있습니다. 판매 중인 것처럼 값을 바꾸면 안 됩니다.

함께 알아두면 좋은 용어

참고 문서