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

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

마지막 업데이트
선호 출처로 추가

상품 옵션 구조화 데이터는 같은 상품에서 색상, 크기, 소재 등에 따라 나뉜 옵션별 상품을 ProductGroup으로 묶은 데이터입니다. 각각의 옵션별 상품을 변형(variant)이라고 부릅니다. ProductGroup은 이들의 관계를 표현하며, 여러 판매자의 판매 조건을 모으는 AggregateOffer와는 다릅니다.

상품 그룹과 개별 변형

{
  "@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"
  }
}

예시는 기본 티셔츠라는 그룹에 검정색 M 사이즈 상품을 연결한 구조입니다. variesBy에는 색상과 크기처럼 옵션을 나누는 속성을, hasVariant에는 개별 Product를 적습니다. 그룹과 변형의 관계만 보여 주는 예시이므로, 실제 검색 기능에 적용할 때는 Product의 필수 속성도 갖춰야 합니다.

Google은 ProductGroup의 name을 필수 속성으로 지정합니다. 기술 지침에 따라 그룹과 각 변형에도 고유 식별자가 있어야 합니다. 그룹 ID는 ProductGroup의 productGroupID 또는 개별 Product의 inProductGroupWithID에 적습니다. 양쪽에 적었다면 값이 같아야 합니다. 각 변형은 SKU나 GTIN 등으로 식별합니다.

한 페이지와 여러 페이지의 구현

한 페이지 안에서 옵션을 바꾸는 사이트는 hasVariant에 변형들을 묶어 표현할 수 있습니다. 이 구성에서는 상품 그룹 전체를 대표하는 캐노니컬 URL을 하나 정합니다.

옵션을 선택하면 별도의 상세 페이지로 이동하는 구성이라면, 각 페이지의 상품 정보를 그 페이지의 마크업만으로 이해할 수 있어야 합니다. 다른 페이지의 마크업을 읽어야만 가격이나 옵션을 알 수 있는 구성은 피합니다. 같은 그룹이라는 관계는 일치하는 그룹 ID로 연결합니다.

어느 구성에서도 각 변형이 미리 선택된 상태로 열리는 고유 URL이 필요합니다. 이 주소로 접속하면 해당 옵션의 이미지, 가격과 재고가 표시되고 그 옵션을 장바구니에 넣을 수 있어야 합니다.

Google은 이 마크업을 판매자 등록정보에서 옵션 정보를 표시하는 데 활용할 수 있습니다. 문법 검사 통과만으로 실제 검색 노출이 보장되지는 않습니다.

옵션 선택 화면과 데이터 대조

먼저 옵션별 URL을 직접 열어 선택 상태와 이미지, 가격, 재고가 데이터와 일치하는지 대조합니다. 같은 SKU를 여러 옵션에 중복 배정하지 않았는지도 확인합니다. 이후 Schema Markup Validator에서 데이터 형식을, Google 리치 결과 테스트에서 필수 정보와 오류를 검사합니다. 발행 후에는 Search Console의 판매자 등록정보 보고서에서 처리 상태를 살펴봅니다.

자주 묻는 질문

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

아닙니다. 하나의 상품에서 색상이나 크기 등이 다른 옵션을 묶는 유형입니다. 서로 다른 브랜드의 티셔츠처럼 별개 상품을 모은 목록에는 같은 그룹 ID를 부여하지 않습니다.

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

표시할 수 있습니다. 해당 옵션을 페이지에 유지한다면 개별 Product와 연결한 Offer에 실제 품절 상태를 적습니다. 다른 옵션의 재고나 판매 가격을 품절 옵션에 그대로 복사하지 않도록 주의해야 합니다.

함께 알아두면 좋은 용어

참고 문서