JSON-LD
JSON-LD(JavaScript Object Notation for Linked Data)는 Google이 권장하는 구조화 데이터 형식으로, 페이지의 가시적인 HTML을 수정하지 않고 검색 엔진에 해당 페이지의 엔티티를 설명하는 연결 데이터 JSON 스크립트 블록을 페이지에 삽입합니다.
JSON-LD는 type이 application/ld+json인 script 태그 안에 위치하며, 보통 페이지의 head 또는 body에 삽입합니다. 렌더링된 마크업과 분리되어 있으므로, 마이크로데이터나 RDFa처럼 HTML 전반에 속성을 분산시키지 않습니다. Google이 이 형식을 권장하는 이유도, 레이아웃에 영향 없이 추가하고 검증하고 삭제하기 가장 쉬운 형식인 이유도 바로 여기에 있습니다. 각 블록은 schema.org 어휘를 가리키는 @context와 엔티티를 명시하는 @type을 담은 독립적인 객체입니다. 기계는 산문에서 의미를 추측하는 대신 페이지를 데이터로 직접 읽을 수 있습니다.
하나의 블록으로 상품, 기사, 조직, 탐색 경로(BreadcrumbList), 집계 별점 등을 설명할 수 있으며, 여러 블록이 한 페이지에 공존할 수 있습니다. 형식이 JSON이므로 템플릿이 생성하고 유효성 검사 도구가 읽기 수월합니다. 템플릿을 직접 수정할 수 없는 경우에는 태그 관리자를 통해 페이지 로드 후 삽입할 수도 있습니다. @id를 이용해 엔티티를 참조로 연결하는 것도 가능합니다. Product 블록이 브랜드 정보를 반복하지 않고 판매 Organisation을 가리킬 수 있습니다.
자연주의 화장품을 판매하는 Shopify 스토어를 예로 들어 보겠습니다. 상품 템플릿은 ratingValue 4.7, reviewCount 213을 담은 AggregateRating 블록, price 38000에 priceCurrency KRW, availability를 InStock으로 설정한 Offer 블록, 그리고 모든 페이지에 브랜드와 로고를 설명하는 별도의 Organisation 블록을 렌더링합니다. 판매자가 특가 행사를 진행할 때, 테마는 상품 페이지의 가격을 변경하는 동시에 JSON의 가격도 재생성해야 합니다. 두 값이 어긋나면 불일치가 발생합니다. 상품이 품절되면 마크업의 availability도 OutOfStock으로 전환해야 합니다. 그렇지 않으면 Google이 더 이상 유효하지 않은 가격과 재고 상태를 계속 표시할 수 있습니다.
JSON-LD는 AI 답변 엔진에서도 중요합니다. ChatGPT, Perplexity, Google AI Overviews는 페이지의 내용과 인용 여부를 결정할 때 명확하고 파싱 가능한 신호에 의존합니다. 잘 구성된 블록은 상품명, 가격, 별점, 판매자에 대한 모호함을 제거합니다. 인용을 보장하지는 않으며, 이러한 시스템은 여전히 가시적인 텍스트도 읽습니다. 그러나 구조화 데이터는 페이지를 이해하는 비용을 낮추고 핵심 사실이 오독될 가능성을 줄입니다.
한 가지 주의해야 할 점은, JSON-LD가 방문자가 실제로 보는 내용과 일치해야 한다는 것입니다. 페이지에 없는 별점, 가격, 콘텐츠를 주장하는 구조화 데이터는 Google 가이드라인 위반으로 처리되며, 리치 스니펫이 억제되거나 수동 조치를 받을 수 있습니다. JSON을 가시적 콘텐츠와 동기화된 상태로 유지하고, 템플릿 변경 후에는 유효성을 검증하며, 추가적인 주장을 하는 곳이 아닌 페이지에 대한 충실한 설명으로 취급하십시오.