Article
검토$
권장
author있음dateModified없음datePublished있음headline있음image있음

JSON-LD를 붙여 넣으면 모든 @type 노드와 @id, 빠진 핵심 속성을 한눈에 보여 줍니다.
JSON이나 <script type="application/ld+json"> 블록 전체를 붙여 넣으세요. 블록이 여러 개여도 됩니다.
구글 구조화 데이터 문서와 schema.org를 기준으로 한 기본 점검표입니다. 필수 속성은 해당 타입이 의미를 가지려면 필요한 것이고, 권장 속성은 리치 결과 노출 가능성을 높입니다.
$
author있음dateModified없음datePublished있음headline있음image있음$.author
name있음url있음image없음sameAs없음description없음alternateName없음$.publisher
name있음url있음logo없음address없음telephone없음sameAs없음contactPoint없음description없음email없음legalName없음alternateName없음foundingDate없음JSON-LD 검사기는 페이지에 <script type="application/ld+json">로 넣는 구조화 데이터를 점검합니다. JSON이나 스크립트 블록 전체(여러 개여도 됩니다)를 붙여 넣으면 파싱하고 @context를 확인한 뒤 모든 중첩 객체와 @graph 항목을 따라가며, 타입이 있는 노드마다 그 타입의 필수·권장 속성 점검표와 값 형식(ISO 8601 날짜, 절대 URL, 숫자, 통화 코드) 검사를 보여 줍니다. 접고 펼 수 있는 트리에는 타입 노드마다 상태 점이 표시됩니다.
마크업을 작성하는 중에 빠르게 한 번 걸러 보는 용도이고, 검색엔진의 공식 테스트 도구를 돌리기 전 단계로 쓰면 좋습니다. JSON이 파싱되지 않는 경우, @context 누락, @type이 없는 객체, organization처럼 틀린 타입 표기, 흔한 타입에서 대표 속성이 빠진 경우처럼 처음부터 구조화 데이터를 무용지물로 만드는 실수를 잡아 줍니다.
점검표는 흔한 타입 약 30가지를 다루며, 구글 구조화 데이터 문서와 schema.org를 바탕으로 한 이 도구 고유의 기본 기준일 뿐 특정 검색엔진의 요구 사항을 그대로 옮긴 것이 아닙니다. JSON은 브라우저 안에서만 파싱하며 업로드되지 않습니다.
스크립트 태그 안쪽 내용이나 <script type="application/ld+json"> 블록 전체를 붙여 넣으세요. 태그는 알아서 벗겨 내고, 블록이 여러 개인 페이지는 블록별로 읽습니다. 512 KiB까지 받습니다.
객체 하나, 객체 배열, @graph를 받아들이고 모든 중첩 객체를 방문합니다. JSON 오류는 입력창 아래에 표시되고, 같은 객체 안의 중복 키는 경고하며, 마지막으로 정상이던 결과는 흐리게 남습니다.
타일 네 개에 타입 노드 수, 빠진 필수 속성, 빠진 권장 속성, 형식 문제(날짜·URL·숫자)가 나옵니다. @context 누락 같은 문서 전체 지적은 그 옆에 나열됩니다.
중첩된 노드까지 포함해 타입 노드마다 경로, 상태(완전함·검토·수정 필요), 점검표가 담긴 카드가 나옵니다. 필수 항목이 먼저 나오고, offers | review | aggregateRating 같은 "다음 중 하나 이상" 행은 그중 하나만 있으면 충족됩니다.
모든 노드가 정상으로 나오면 구글 리치 결과 테스트나 Schema Markup Validator로 실제 자격 요건과 어휘를 확인하세요.
JSON-LD 1.1은 JSON으로 연결된 데이터(linked data)를 표현하는 W3C 권고안입니다. 웹 구조화 데이터에서 @context는 어휘(거의 항상 https://schema.org)를 가리키고, @type은 설명하는 대상의 종류를, @id는 다른 노드가 참조할 수 있는 고정 식별자를 나타냅니다.
@graph 배열을 쓰면 한 블록에서 Organization, WebSite, Article처럼 여러 개체를 설명하고 @id로 서로 연결할 수 있습니다. 한 페이지에 JSON-LD script 태그를 여러 개 두는 방법도 있으며, 이 도구는 한 번에 블록 하나를 검사합니다.
약 30가지 타입(과 흔한 하위 타입, 즉 NewsArticle·BlogPosting은 Article 목록을, Restaurant는 LocalBusiness 목록을 씁니다)에 대해 정해진 속성이 존재하고 null, 빈 문자열, 빈 목록이 아닌지 확인합니다. 점검표가 없는 타입도 구조와 값 형식은 검사하며 참고로만 표시합니다. 표는 일부 예시입니다.
| @type | 필수 | 권장 |
|---|---|---|
Article | 없음 | author, dateModified, datePublished, headline, image |
Product | name; offers, review, aggregateRating 중 하나 | image, offers, aggregateRating, review, description, sku, brand, gtin, mpn |
Organization | 없음 | name, url, logo, address, telephone, sameAs, contactPoint, description, email, legalName, alternateName, foundingDate |
FAQPage | mainEntity | 없음 |
WebApplication | name, offers; aggregateRating, review 중 하나 | applicationCategory, operatingSystem |
구글은 구조화 데이터로 페이지를 이해하고 향상된 검색 표시에 활용할 수 있지만, 자격 여부는 schema.org가 아니라 구글의 기능별 가이드라인에 달려 있고 어떤 것도 보장되지 않습니다. 구글은 2026년 5월 7일부터 검색에서 FAQ 리치 결과를 표시하지 않으며, 이후 해당 기능 문서도 삭제했습니다. 원하는 기능의 최신 문서를 확인하세요.
구글이 정하는 필수·권장 속성은 이 도구의 목록과도 다릅니다. 예를 들어 구글은 리치 결과를 위해 Organization의 속성을 필수로 지정하지 않으며, Product는 제품 스니펫인지 판매자 목록인지에 따라 기준이 달라집니다. 이 도구는 문법과 기본 완성도 확인용으로, 자격 판단은 리치 결과 테스트로 하세요.
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "A practical guide",
"author": { "@type": "Person", "name": "A. Writer" }
}타입 노드 2, 필수 누락 0, 권장 누락 8
Article: 검토, 권장 누락 dateModified, datePublished, image
Person: 검토, 권장 누락 url, image, sameAs, description, alternateName안에 들어 있는 Person은 $.author 경로의 카드로 따로 나옵니다. 필수 항목은 빠진 것이 없어 Article은 오류가 아니며, 권장 항목은 더 풍부하게 만들어 줄 것들입니다.
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "Organization", "@id": "https://example.com/#org", "name": "Example" },
{ "@type": ["Product", "Thing"], "name": "Mug", "offers": "" },
{ "@type": "FAQPage" }
]
}타입 노드 4, 필수 누락 2
Organization: 검토, 권장 누락 11
Product: 수정 필요, 필수 누락 offers | review | aggregateRating, offers: 속성이 있지만 값이 비어 있습니다.
Thing: 완전함(이 타입에는 점검표가 없습니다. 구조와 값 형식은 그대로 검사합니다.)
FAQPage: 수정 필요, 필수 누락 mainEntity빈 문자열은 누락으로 취급하고 "빈 값" 경고도 냅니다. 타입이 둘인 Product 노드는 타입마다 카드가 하나씩 나옵니다.
{ "name": "Example", "url": "https://example.com" }문서 전체 점검: @context가 없습니다. 파서가 어휘를 알 수 있도록 "@context": "https://schema.org"를 추가하세요. 이 객체에 @type이 없습니다. 타입이 있는 노드를 찾지 못했습니다.@type이 없으면 검색엔진이 분류할 수 있는 개체가 아니라 그냥 데이터입니다. 오류 문구는 도구가 영어로 표시합니다.
{ "@type": "Article", "headline": "x", "author": { "@type": "Person", "name": "y" } }문서 전체 점검: 오류, @context가 없습니다. 파서가 어휘를 알 수 있도록 "@context": "https://schema.org"를 추가하세요.
Article과 Person 카드는 평소대로 표시노드는 멀쩡해 보이지만 @context가 없으면 읽는 쪽에서 타입을 schema.org로 해석할 수 없으므로 오류로 표시합니다.
<script type="application/ld+json"> 블록은 태그를 벗겨 주지만, 다른 type의 스크립트나 JavaScript가 든 스크립트는 JSON이 아니어서 파싱에 실패합니다. 페이지에 ld+json 블록이 없으면 그렇다고 알려 줍니다.
JSON은 마지막 쉼표, 주석, 작은따옴표 문자열을 허용하지 않습니다. 파싱 오류의 가장 흔한 원인입니다.
완전함은 이 도구의 점검표에서 빠진 것이 없다는 뜻일 뿐입니다. 점검표가 없는 타입은 항상 완전함으로 나오고, 구글은 기능별로 자체 요구 사항을 적용합니다.
다른 노드 안의 author Person이나 offers Offer도 자기 점검표를 가지므로, 빠진 속성이 합계에 반영됩니다. @type이 없는 중첩 객체는 검색엔진이 분류할 수 없으므로 지적합니다.
구조화 데이터는 방문자가 실제로 볼 수 있는 내용을 설명해야 합니다. 보이는 내용과 맞지 않는 마크업은 구글이 무시하거나 조치할 수 있는데, 이는 어떤 검사기로도 알 수 없습니다.
컨텍스트 검사는 최상위 객체나 배열 항목을 봅니다. @graph 항목 안쪽에만 둔 컨텍스트는 누락으로 표시됩니다.
이 도구는 텍스트가 올바른 JSON인지, 최상위 @context가 schema.org를 가리키는지, 모든 객체에 @type이 있는지, 타입 노드에 필수·권장 속성이 있는지, 날짜·URL·숫자·통화 코드 형식이 올바른지 확인합니다.
아니요. 자격은 검색엔진별 기능 가이드라인에 달려 있고 보장되지 않습니다. 확인은 구글 리치 결과 테스트를 사용하세요.
네, mainEntity가 있는지와 각 Question에 name, 그리고 acceptedAnswer 또는 suggestedAnswer가 있는지 확인합니다. 구글은 2026년 5월 7일부터 검색에 FAQ 리치 결과를 표시하지 않으므로, 올바른 FAQPage 마크업도 더 이상 그 구글 기능을 만들지 않습니다.
구글은 HTML과 데이터가 분리되는 JSON-LD를 가능한 한 권장합니다. 이 도구는 JSON-LD만 읽습니다.
@graph 배열에 넣고 @id 참조로 연결하거나 스크립트 태그를 여러 개 쓰세요. 도구는 @graph, 객체 배열, 함께 붙여 넣은 여러 블록을 읽습니다.
네. @type이 있는 중첩 객체마다 $.author, $.offers 같은 경로가 붙은 카드가 따로 나옵니다. { "@id": … }만 있는 참조 객체는 속성이 다른 곳에 있으므로 검사하지 않습니다.
아니요. 브라우저 안에서만 파싱하며 서버로 보내지 않습니다.
마지막 업데이트: