콘텐츠로 건너뛰기

🗂️ 구조화 데이터 검증

URL을 입력하여 페이지의 모든 JSON-LD 블록을 추출하고 @type과 내용을 표시. microdata / RDFa도 감지.

완전 무료 가입 불필요 서버 처리 로그 · DB 없음 레이트 리밋 5 개 언어 다크 모드

⚠️ 요청은 DevLab 서버에서 이루어집니다. 사설 IP 주소와 localhost는 허용되지 않습니다.

📖 이 진단으로 알 수 있는 것

구조화 데이터는 페이지 내용을 기계가 읽을 수 있는 형태로 덧붙이는 것입니다. 이 진단은 JSON-LD / Microdata / RDFa를 추출해 구문이 깨지지 않았는지, schema.org 타입으로 성립하는지 확인합니다. 2023년 이후 Google은 리치 결과 대상을 크게 좁혔습니다 — FAQ와 하우투는 일반 사이트에서 표시되지 않습니다. 그래도 쓸 가치는 있으며, 현재 주된 용도는 Article·Product·BreadcrumbList의 리치 결과와 AI 검색·LLM이 페이지를 이해하는 단서입니다.

판정 항목 무엇을 보는가 걸렸을 때의 대처
JSON 구문 오류 파싱할 수 없으면 블록째 무시됩니다. 원인의 대부분은 템플릿에 변수를 넣을 때의 이스케이프되지 않은 따옴표나 끝의 쉼표입니다. 문자열을 손으로 조립하지 말고 언어 쪽 JSON 인코더에 맡깁니다. PHP라면 json_encode(), Twig라면 |json_encode|raw. 페이지 제목에 아포스트로피가 들어갔을 뿐인데 깨지는 사고가 이걸로 사라집니다.
필수 속성 누락 타입마다 필수 항목이 정해져 있습니다. Article이면 headline과 image, Product면 name과 offers, BreadcrumbList면 itemListElement입니다. 빠진 항목을 채웁니다. 페이지에 실재하지 않는 정보를 넣어서는 안 됩니다 — 평가가 없는데 aggregateRating을 쓰는 것은 스팸 취급이며 수동 조치 대상이 됩니다. 채울 수 없다면 그 타입을 표방하지 않는 편이 안전합니다.
가시 콘텐츠와 불일치 구조화 데이터에 쓴 내용은 페이지에서 사용자에게도 보여야 합니다. 마크업만 쓰고 본문에 없는 상태는 가이드라인 위반입니다. 마크업과 가시 HTML을 같은 데이터에서 생성하는 것이 유일하게 확실한 해법입니다. 반복문으로 양쪽을 출력하면 한쪽만 갱신되어 어긋나는 사고가 구조적으로 사라집니다.
BreadcrumbList 검색 결과의 경로 표시에 사용되며 현재도 안정적으로 작동하는 몇 안 되는 타입입니다. URL 계층이 아니라 사이트의 논리 구조를 전달합니다. item에는 절대 URL을 넣습니다. 다국어 사이트에서는 언어 접두사를 빠뜨리지 않도록 주의하세요 — /blog/라고 쓰면 언어 없는 URL을 가리켜 리디렉트를 거치게 됩니다.

이 진단을 통과해도 리치 결과가 나온다는 보장은 없습니다. 표시 여부는 Google의 재량이며 대상 카테고리·사이트 평가·쿼리에 따라 달라집니다. 실제 표시는 Google의 리치 결과 테스트로 확인하세요.

🔗 관련 도구