JSON-LD 구조화 데이터 검증기

HTML이나 원시 JSON-LD를 붙여넣기만 하면 FAQPage・BreadcrumbList・Article 구조화 데이터를 검증합니다. 누락된 필수 속성과 구글 리치 결과에서 자주 발생하는 실수를 한눈에 확인할 수 있습니다.

  • FAQPage의 acceptedAnswer는 반드시 text 속성에 문자열을 직접 입력해야 합니다. 객체나 배열을 넣으면 구글 리치 결과가 이를 인식하지 못합니다.
  • BreadcrumbList의 position은 1부터 시작하는 연속 번호로 지정하세요. 결번이나 중복이 있으면 올바른 이동 경로로 인식되지 않습니다.
  • Article의 headline은 구글의 대략적인 기준인 110자 이내로 유지하는 것이 좋습니다. 너무 길면 검색 결과에서 뒷부분이 잘릴 수 있습니다.
  • HTML 소스 전체를 그대로 붙여넣어도 됩니다. <script type="application/ld+json">의 내용만 자동으로 추출하여 검증합니다. JSON 부분만 붙여넣어도 정상적으로 동작합니다.
  • 한 페이지에 여러 구조화 데이터를 배치할 때는 각각을 별도의 <script> 태그로 나누어 작성하면 관리가 쉬워집니다.

자주 묻는 질문

JSON-LD는 화면에 보이는 HTML과는 완전히 분리된 별도의 <script> 태그 안에 JSON 형식으로 구조화 데이터를 기록하는 방식입니다. Microdata와 RDFa는 HTML 태그의 속성(itemprop 등)에 직접 삽입하는 방식이라 기존 HTML 구조를 변경해야 합니다. 구글이 최근 JSON-LD를 권장하고 있고, 구현이 간편하다는 점 때문에 현재 주류 방식으로 자리 잡았습니다.

구조화 데이터 자체는 검색 순위(랭킹)에 직접 영향을 주는 요소가 아닙니다. 다만 FAQPage나 BreadcrumbList가 올바르게 구현되어 있으면 검색 결과에 리치 결과(FAQ 접기/펼치기 표시, 이동 경로 표시 등)가 추가되어 클릭률(CTR) 향상을 기대할 수 있습니다.

Schema.org 사양에서는 acceptedAnswer.text가 순수한 텍스트 문자열이어야 한다고 규정하고 있습니다. text 값에 실수로 객체나 배열(예: { "value": "답변" }처럼 중첩된 구조)을 넣으면 구글의 리치 결과 테스트에서 경고나 오류로 표시됩니다.

문제없습니다. FAQPage・BreadcrumbList・Article 등 여러 종류의 스키마를 같은 페이지 안에서 각각 별도의 <script type="application/ld+json"> 태그로 나누어 작성할 수 있습니다. 이 도구도 하나의 입력에서 여러 블록・여러 엔티티를 한꺼번에 감지하여 검증합니다.

구글 서치 콘솔의 "향상" 보고서나 구글 공식 "리치 결과 테스트" 도구를 이용해, 실제로 게시된 URL에 대해 구글이 어떻게 해석하고 있는지 확인할 수 있습니다. 이 도구는 게시 전 초안 단계나 수정 직후의 자체 점검 용도로 활용하는 것이 가장 적합합니다.
ツールくん

여담 ― JSON-LD가 Microdata・RDFa를 대체한 이유

JSON-LD(JSON for Linking Data)는 2010년대 초 W3C 커뮤니티 그룹이 제정한 링크드 데이터 형식에서 시작되었습니다. HTML 요소의 속성에 마크업을 직접 삽입하는 기존의 구조화 데이터 표기법인 Microdata・RDFa와 달리, JSON-LD는 독립적인 JSON 블록으로 <script> 태그 안에 완전히 존재하기 때문에 기존 HTML 레이아웃을 전혀 건드리지 않고도 구조화 데이터를 추가・수정・삭제할 수 있다는 것이 가장 큰 장점입니다. 구글은 2015년 무렵부터 JSON-LD를 권장 형식으로 자리매김했고, 현재의 리치 결과 문서도 거의 전적으로 JSON-LD 표기법을 전제로 작성되어 있습니다.

이 사이트 자체의 FAQ 영역도 마찬가지 방식으로 동작합니다. 작성자가 질문과 답변을 한 번만 작성하면, 내부적으로 이에 대응하는 FAQPage 형식의 JSON-LD가 자동으로 생성됩니다. 사람이 보는 아코디언 형태의 HTML과 검색엔진이 읽는 JSON-LD를 두 번 손으로 작성할 필요가 없어, 한쪽을 수정하면 다른 쪽도 자동으로 반영되므로 표시 내용과 구조화 데이터가 서로 어긋나는 문제가 잘 발생하지 않습니다.

문법적으로 완전히 올바른 JSON이라도 Schema.org가 요구하는 필수 속성이 빠져 있거나 구글이 권장하는 속성이 없으면 리치 결과(검색 결과의 FAQ 펼침 표시, 이동 경로 표시 등)가 반영되지 않을 수 있습니다. 특히 acceptedAnswer.text처럼 중첩 구조가 깊은 속성은 구현 시 실수하기 쉬운 대표적인 사례입니다. 게시 전에 이러한 도구로 기계적으로 점검해두면, 나중에 Search Console의 "향상" 보고서에서 오류를 발견하는 것보다 더 빨리 문제를 찾아낼 수 있습니다.

→ 모든 여담 보기