Guides스키마와 리치 스니펫

상품 리뷰 Schema 완전 설정 가이드 (Shopify, 2026)

상품 별점을 Google 검색 결과에 표시하려면 Product, Review, aggregateRating 세 가지 schema 유형을 올바르게 중첩해야 합니다. 잘못된 설정 패턴과 함께 설명합니다.

짧은 답: Google 검색 결과에 별점 스니펫을 표시하려면 Product 안에 Review와 aggregateRating을 중첩한 세 가지 schema 유형이 필요합니다. 이 구조를 JSON-LD 형식으로 페이지에 삽입하고, 마크업한 리뷰가 동일한 페이지에서 사용자에게 실제로 보여야 합니다. 자사 브랜드나 스토어에 대한 리뷰는 마크업 대상에서 제외됩니다. 이 세 가지 조건을 충족하면 Google이 별점 스니펫을 렌더링할 수 있습니다.

상품 리뷰 별점에는 어떤 schema 유형이 필요합니까?

세 가지 유형이 중첩 구조로 필요합니다. Product는 상품을 설명하는 부모 유형입니다. 그 안에 Review는 개별 리뷰(작성자, 평점, 본문)를 담고, aggregateRating은 요약 정보(평균 점수와 리뷰 수)를 담습니다. Google은 Product를 부모 유형으로 인식하고, 나머지 두 유형을 그에 속하는 속성으로 읽습니다.

모든 유형이 항상 필요한 것은 아닙니다. 개별 리뷰 하나는 review 속성으로 표현할 수 있으며, 여러 리뷰를 취합한 별점은 aggregateRating으로 표현합니다. 대부분의 스토어에는 두 가지 모두 필요합니다. 별점 스니펫을 위한 평균값과, 마크업에 실제 목소리를 부여할 완전한 리뷰가 최소 하나 이상 있어야 합니다.

  • Product: 부모 유형으로, 최소한 name이 필요합니다. 별점이 이 유형에 연결됩니다.
  • aggregateRating: ratingValue(평균)와 reviewCount 또는 ratingCount가 필요합니다.
  • Review: author, reviewRating과 그 안의 ratingValue, 그리고 리뷰 본문이 필요합니다.
  • reviewRating에는 평점 척도가 기본값인 5점이 아닐 경우 bestRating을 명시해야 합니다.

세 가지 유형은 JSON-LD에서 어떻게 중첩됩니까?

최상위에 "@type": "Product"를 가진 단일 JSON-LD 스크립트를 사용합니다. name을 지정한 후 "aggregateRating" 객체와 "review" 속성(여러 리뷰를 나열할 경우 배열)을 추가합니다. aggregateRating 객체는 ratingValue와 reviewCount를 담습니다. 각 review 객체는 author, 자체 ratingValue를 가진 reviewRating, 그리고 리뷰 텍스트를 담습니다.

구조는 트리 형태이며 평면 목록이 아닙니다. Product가 줄기이고, aggregateRating과 review는 가지입니다. 별도의 최상위 블록으로 분리하지 말고 Product 중괄호 안에 배치해야 합니다. 그래야 Google이 해당 항목에 속하는 정보로 인식합니다. 상품 하나에 Product 노드 하나, 그 아래에 평점과 리뷰가 중첩되어야 합니다.

리뷰는 페이지에서 반드시 사용자에게 보여야 합니까?

그렇습니다. Google은 마크업한 리뷰와 평점이 동일한 페이지에서 사용자에게 실제로 보여야 한다고 요구합니다. 4.8점 평균을 마크업하면서 실제 리뷰는 표시하지 않거나, 구매자가 보는 수치와 마크업 수치가 다를 경우 구조화 데이터 위반으로 간주되어 리치 결과가 제거되거나 페이지에 불이익이 가해질 수 있습니다.

이것이 대부분의 Shopify 설정이 조용히 위반하는 규칙입니다. 테마는 평균 평점이 포함된 JSON-LD 블록을 출력하지만, 실제 리뷰는 페이지 로드 후 JavaScript widget으로 불러옵니다. 구매자 입장에서는 정상적으로 보이지만, Google 입장에서는 마크업된 수치를 뒷받침하는 실제 콘텐츠가 없습니다. schema와 페이지 내 리뷰는 동일한 리뷰여야 하며, 페이지에 직접 렌더링되어야 합니다.

마크업할 수 없는 리뷰는 무엇입니까?

자사 조직에 대한 홍보성 리뷰는 상품 별점 스니펫 대상이 아닙니다. 스토어, 브랜드, 서비스에 대한 리뷰를 마크업하여 상품 별점으로 표시할 수 없습니다. 상품 별점 결과는 회사를 칭찬하는 추천사가 아닌, 고객이 작성한 특정 상품에 대한 리뷰를 위한 것입니다.

실제로 이 규칙은 몇 가지 흔한 방법을 배제합니다. "고객 추천사" 블록을 상품 리뷰로 마크업하는 것, 자사 조직에 대해 직접 작성하거나 요청한 리뷰, 그리고 특정 상품이 아닌 스토어 전체를 대상으로 취합된 평점이 이에 해당합니다. 각 평점은 해당 페이지의 상품과 연결되어야 하며, 실제 구매자에게서 수집된 것이어야 합니다.

  • 허용: 해당 페이지의 특정 상품에 대한 고객 리뷰.
  • 불허: 상품 별점으로 표시되는 브랜드 또는 조직에 대한 리뷰.
  • 불허: 모든 상품 페이지에 재사용되는 사이트 전체 평균 평점.
  • 위험: 페이지에서 실제로 보이고 진실한 리뷰임을 확인할 수 없는 평점.

Shopify 스토어에서 schema는 어디에 배치합니까?

Shopify에서는 상품 템플릿이 JSON-LD를 렌더링합니다. 많은 테마가 기본 Product 블록을 포함하여 제공하며, 리뷰 앱은 자체 aggregateRating을 삽입하거나 별도의 블록을 추가하는 경우가 많습니다. 목표는 상품 페이지당 하나의 깔끔한 Product 노드를 갖고, 화면에 표시되는 리뷰와 일치하는 평점이 그 안에 중첩되는 것입니다.

어려운 점은 평균값이 리뷰 앱에서 오고, Product schema는 테마에서 오기 때문에 두 가지가 항상 일치하지 않는다는 것입니다. 앱이 리뷰를 클라이언트 측에서 렌더링하면 보이는 리뷰와 마크업된 평점이 불일치하거나, HTML에 리뷰가 전혀 없을 수 있습니다. 올바른 설정은 수치와 보이는 리뷰를 동일한 소스에서 유지하여 불일치가 발생하지 않도록 합니다.

일반적인 유효성 검사 오류는 무엇입니까?

신뢰하기 전에 모든 상품 페이지를 Google의 Rich Results Test와 Schema Markup Validator로 검증해야 합니다. 오류는 짧은 목록으로 집약되며, 대부분 값이 누락되었거나 마크업이 페이지에 표시되지 않는 내용을 설명하는 경우입니다.

오류(빨간색)를 먼저 수정해야 합니다. 오류는 리치 결과를 차단합니다. 경고(노란색)는 권장 필드로, 적격성을 강화하지만 그 자체로 별점을 막지는 않습니다. 테마나 앱이 변경될 때마다 재검증해야 합니다. 앱 업데이트가 블록을 자동으로 재작성할 수 있기 때문입니다.

  • "aggregateRating" 또는 "review" 필드 누락: Google이 별점을 렌더링할 평점 데이터가 없습니다.
  • Product에 "name" 누락: 별점이 연결될 대상이 없습니다.
  • 페이지에 리뷰가 보이지 않는 상태의 ratingValue: 가시적 콘텐츠 규칙 위반입니다.
  • HTML에 없는 리뷰: widget이 크롤링 이후에 리뷰를 로드하여 마크업이 가리키는 콘텐츠가 없습니다.

올바른 설정에 실제로 필요한 것은 무엇입니까?

세 가지가 일치해야 합니다. 올바른 중첩 구조, 모든 필수 필드의 값, 그리고 마크업과 일치하는 보이는 리뷰입니다. Product, Review, aggregateRating을 올바르게 중첩하고, 필수 필드를 채우고, 마크업한 리뷰가 페이지 HTML에 실제로 존재하고 보여야 합니다.

Shopify에서 어려운 부분은 JSON-LD 구조가 아닌 경우가 많습니다. 리뷰가 widget에 존재하여 마크업이 설명하는 HTML에 포함되지 않는다는 점입니다. 대부분의 리뷰 앱은 페이지 내 쇼핑객을 위해 만들어졌으며 거기서 멈춥니다. 기존 리뷰가 페이지에 렌더링되어 schema 뒤에 실제 보이는 콘텐츠가 있도록 하는 것, 이것이 BeyondReviews가 해결하려는 과제입니다.

자주 묻는 질문

Review와 aggregateRating 둘 다 필요합니까?

별점 스니펫에는 aggregateRating이 필요합니다. 별점은 평균값과 리뷰 수에서 생성되기 때문입니다. Review를 최소 하나 추가하는 것이 권장됩니다. 숫자만 있는 것이 아니라 마크업에 실제 목소리가 담기기 때문입니다. 두 가지 모두 동일한 Product 안에 중첩됩니다.

Schema 유효성 검사를 통과했는데도 별점이 표시되지 않는 이유는 무엇입니까?

대부분 리뷰가 페이지에서 보이지 않기 때문입니다. 유효성 검사는 JSON-LD 구조를 확인하지만, 쇼핑객에게 리뷰가 렌더링되는지는 확인하지 않습니다. 리뷰가 페이지 로드 후 JavaScript widget에서 로드되면 마크업은 통과하지만 가시적 콘텐츠 규칙이 충족되지 않아 Google이 리치 결과를 보류합니다.

스토어에 대한 추천사를 상품 리뷰로 마크업할 수 있습니까?

아닙니다. 자사 조직에 대한 홍보성 리뷰는 상품 별점 스니펫 대상이 아닙니다. 상품 별점 결과는 해당 페이지의 특정 상품에 대한 고객 리뷰를 위한 것이며, 회사에 대한 추천사가 아닙니다. 브랜드 추천사를 상품 리뷰로 마크업하면 리치 결과가 무효화됩니다.

Shopify는 상품 리뷰 schema를 자동으로 추가합니까?

부분적으로 그렇습니다. 대부분의 테마는 기본 Product 블록을 출력하고, 리뷰 앱은 aggregateRating을 삽입하는 경우가 많습니다. 문제는 보이는 리뷰가 클라이언트 측 widget에 있는 경우가 많아, 마크업된 평점을 뒷받침하는 실제 콘텐츠가 없을 수 있다는 점입니다. 리뷰가 페이지 HTML에 포함되어 있는지 반드시 확인해야 합니다.

All of Guides