구조·마크업 · 공식 문서
JSON-LD 뜻, 일반 JSON·마이크로데이터와 차이
JSON-LD 는 JSON 문법 그대로 @context·@type 같은 키워드를 더해, 데이터가 무엇을 뜻하는지 기계가 읽게 만든 W3C 표준 형식입니다. 마이크로데이터·RDFa 는 보이는 HTML 태그에 속성을 붙이고, JSON-LD 는 <script> 태그 안에 따로 적습니다. 구글은 관리가 쉬운 JSON-LD 를 권장합니다.
구조화 데이터를 넣으라는 말을 들으면 곧 JSON-LD 라는 낱말을 만납니다. 개발자는 「JSON 이면 그냥 JSON 아닌가」 하고, 마케터는 무엇이 다른지 묻습니다.
JSON-LD 를 정한 W3C 표준 문서와 구글 공식 문서로 뜻과 차이를 정리했습니다. 어떤 기능을 고르고 어떻게 검사하는지는 「구조화 데이터」 편에 자세히 적었습니다.
발견 01
JSON-LD 는 JSON 으로 링크드 데이터를 적는 W3C 표준이고, 모든 JSON-LD 문서는 유효한 JSON 입니다
A JSON-LD document is always a valid JSON document.
JSON-LD 문서는 언제나 유효한 JSON 문서다.
| 항목 | W3C 원문 |
|---|---|
| JSON-LD 란 | This specification defines JSON-LD 1.1, a JSON-based format to serialize Linked Data.이 표준은 링크드 데이터를 JSON 으로 적는 형식인 JSON-LD 1.1 을 정한다. |
| 일반 JSON 과의 관계 | Its design allows existing JSON to be interpreted as Linked Data with minimal changes.기존 JSON 을 조금만 고쳐도 링크드 데이터로 해석할 수 있게 설계했다. |
| 호환 | This ensures that all of the standard JSON libraries work seamlessly with JSON-LD documents.그래서 표준 JSON 라이브러리가 모두 JSON-LD 문서를 그대로 다룬다. |
| 처음 쓰는 개발자 | Developers not concerned with Linked Data only need to understand JSON, and know to include but ignore the @context property, to use the basic functionality in JSON-LD.링크드 데이터에 관심이 없는 개발자는 JSON 만 알고, @context 속성을 넣되 신경 쓰지 않으면 JSON-LD 의 기본 기능을 쓸 수 있다. |
그래서 JSON 을 읽는 도구는 JSON-LD 도 그대로 읽습니다. 다른 점은 키 이름의 뜻이 정해져 있다는 것입니다.
일반 JSON 의 "name" 은 만든 사람만 뜻을 압니다. JSON-LD 에서는 @context 가 그 이름이 schema.org 어휘의 name 이라고 알려 줍니다.
발견 02
일반 JSON 과의 차이는 @ 로 시작하는 키워드이고, 검색용 마크업에서는 3개가 핵심입니다
| 키워드 | 하는 일 | 값의 예 | W3C 원문 |
|---|---|---|---|
| @context | 키 이름이 어느 어휘의 말인지 알림 | "https://schema.org" | Used to define the short-hand names that are used throughout a JSON-LD document.@context 는 JSON-LD 문서 전체에서 쓰는 짧은 이름(용어)을 정의한다. |
| @type | 이 데이터가 무엇인지(회사·글·상품) | "Organization" | Used to set the type of a node or the datatype of a typed value.@type 은 노드의 유형이나 값의 데이터 유형을 지정한다. |
| @id | 이 데이터에 붙이는 고유 이름표(URL 형식) | "https://example.com/#organization" | Used to uniquely identify node objects that are being described in the document with IRIs or blank node identifiers.@id 는 문서가 설명하는 노드를 IRI 나 빈 노드 식별자로 고유하게 식별한다. |
| 같은 회사 정보 | 일반 JSON | JSON-LD |
|---|---|---|
| 어휘 선언 | 없음 | "@context": "https://schema.org" |
| 무엇인지 | 없음 | "@type": "Organization" |
| 이름 | "name": "예시회사" | "name": "예시회사" |
| 홈페이지 | "url": "https://example.com" | "url": "https://example.com" |
| 넣는 자리 | API 응답·설정 파일 | <script type="application/ld+json"> 안 |
구글은 schema.org 어휘를 쓰되, 검색 동작은 구글 문서를 기준으로 보라고 적었습니다. 키워드가 맞아도 구글 문서의 필수 속성이 빠지면 리치 결과 대상에서 빠집니다.
@id 로 회사·페이지·글을 서로 잇는 법은 「JSON-LD @graph와 @id」 편에 자세히 적었습니다.
| 어휘 기준 | 구글 원문 |
|---|---|
| schema.org 와 구글 문서 | Most Search structured data uses schema.org vocabulary, but you should rely on the Google Search Central documentation as definitive for Google Search behavior, rather than the schema.org documentation.검색 구조화 데이터 대부분은 schema.org 어휘를 쓰지만, 구글 검색 동작의 기준으로는 schema.org 문서가 아니라 구글 검색 센터 문서를 따라야 한다. |
발견 03
형식은 3가지이고, JSON-LD 만 보이는 HTML 과 섞이지 않게 따로 적습니다
| 형식 | 넣는 자리 | 구글 원문 |
|---|---|---|
| JSON-LD(권장) | <script> 태그 안에 따로 | A JavaScript notation embedded in a <script> tag in the <head> and <body> elements of an HTML page.HTML 페이지의 <head>·<body> 안 <script> 태그에 넣는 자바스크립트 표기법이다. |
| 마이크로데이터 | 보이는 HTML 태그의 속성으로 | An open-community HTML specification used to nest structured data within HTML content. Like RDFa, it uses HTML tag attributes to name the properties you want to expose as structured data.HTML 콘텐츠 안에 구조화 데이터를 중첩하는 개방형 HTML 사양이다. RDFa 처럼 HTML 태그 속성으로 구조화 데이터로 내보낼 속성의 이름을 붙인다. |
| RDFa | 보이는 HTML 태그의 속성으로 | An HTML5 extension that supports linked data by introducing HTML tag attributes that correspond to the user-visible content that you want to describe for search engines.검색엔진에 설명할, 사용자에게 보이는 콘텐츠에 대응하는 HTML 태그 속성을 더해 링크드 데이터를 지원하는 HTML5 확장이다. |
The markup is not interleaved with the user-visible text, which makes nested data items easier to express, such as the Country of a PostalAddress of a MusicVenue of an Event.
마크업이 사용자에게 보이는 텍스트와 섞이지 않아, 행사의 공연장 주소의 국가처럼 중첩된 데이터를 적기 쉽다.
| 검색엔진 | 공식 문서 원문 |
|---|---|
| 구글: 세 형식의 관계 | In general, we recommend using a format that's easiest for you to implement and maintain (in most cases, that's JSON-LD); all 3 formats are equally fine for Google, as long as the markup is valid and properly implemented per the feature's documentation.대개 구현·관리가 가장 쉬운 형식(대부분 JSON-LD)을 권한다. 마크업이 유효하고 기능 문서대로 구현되었다면 세 형식 모두 구글에는 똑같이 괜찮다. |
| 구글: JSON-LD 를 권장하는 이유 | In general, Google recommends using JSON-LD for structured data if your site's setup allows it, as it's the easiest solution for website owners to implement and maintain at scale (in other words, less prone to user errors).사이트 구성이 허락한다면 구글은 대개 구조화 데이터에 JSON-LD 를 권한다. 사이트 소유자가 대규모로 구현·관리하기 가장 쉽기(사용자 실수가 적기) 때문이다. |
| 구글: 자바스크립트로 넣어도 | Also, Google can read JSON-LD data when it is dynamically injected into the page's contents, such as by JavaScript code or embedded widgets in your content management system.또 구글은 자바스크립트 코드나 CMS 의 위젯처럼 페이지에 동적으로 넣은 JSON-LD 도 읽을 수 있다. |
| 네이버: 권장 형식 | 네이버에서는 널리 사용하는 Microdata 형식이나 JSON-LD 형식을 사용하는 것을 권장합니다. |
세 형식 모두 구글에서 똑같이 쓰이고, 차이는 관리에 있습니다. 구글은 JSON-LD 를 권하는 이유로 규모가 커도 관리가 쉽고 실수가 적다는 점을 들었습니다.
마이크로데이터는 보이는 태그에 붙어 있어 화면 코드를 고칠 때 함께 살펴야 합니다. JSON-LD 는 화면 코드와 떨어져 있어 따로 고칠 수 있습니다.
따로 적는 만큼, 화면 내용과 값이 같은지는 직접 맞춰야 합니다.
발견 04
B2B·B2C·B2G 사이트마다 JSON-LD 를 고르는 이유가 다릅니다
예시 ① 회사 소개 페이지가 중심인 제조사 사이트(B2B)
회사 이름·로고·연락처는 거의 바뀌지 않습니다. 홈페이지 <head> 에 Organization JSON-LD 하나를 두면 디자인을 바꿔도 마크업은 그대로 남습니다.
예시 ② 상품이 매일 바뀌는 쇼핑몰(B2C)
상품 페이지 템플릿이 가격·재고 값을 받아 JSON-LD 를 만들게 합니다. 화면의 가격과 JSON-LD 의 가격이 같은 값에서 나오게 하는 것이 핵심입니다.
예시 ③ 게시판 템플릿에 마이크로데이터가 있는 기관 누리집(B2G)
이미 마이크로데이터가 유효하게 들어 있다면 그대로 써도 구글과 네이버 모두 읽습니다. 다음 개편 때 JSON-LD 로 옮기면 템플릿과 마크업을 나눠 관리할 수 있습니다.
그럼 우리 사이트는 어떤 형식으로 정하나요?
- 페이지 소스에서 application/ld+json, itemscope, typeof 를 찾아 지금 쓰는 형식을 확인합니다.
- 새로 넣는다면 JSON-LD 로 정하고, <script type="application/ld+json"> 안에 @context 와 @type 부터 적습니다.
- 기존 마이크로데이터가 유효하면 그대로 두고, 개편 일정에 맞춰 JSON-LD 로 옮길지 정합니다.
- 한 페이지에 두 형식으로 같은 내용을 겹쳐 적었는지 봅니다. 겹쳤다면 하나만 남깁니다.
- 예시 코드를 고쳐 쓰는 순서는 「JSON-LD 생성기」 편에 자세히 적었습니다.
조사 방법
- W3C Recommendation 「JSON-LD 1.1: A JSON-based Serialization for Linked Data」 (문서 수정일 2020-07-16) · 최종 확인일 2026-10-25 · https://www.w3.org/TR/json-ld11/
- Google Search Central 「Introduction to structured data markup in Google Search」 (문서 수정일 2025-12-10) · 최종 확인일 2026-10-25 · https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data
- 네이버 서치어드바이저 「구조화된 데이터 소개」 · 최종 확인일 2026-10-18 · https://searchadvisor.naver.com/guide/structured-data-intro
- 키워드 3개는 W3C 표준의 키워드 목록 중 구글 구조화 데이터 문서에 나오는 것을 고른 것입니다. 고르는 방식은 편집 판단입니다.
- 「두 형식으로 겹쳐 적었다면 하나만 남긴다」는 관리 기준으로 둔 편집 판단입니다.
- 예시 ①②③과 일반 JSON 비교표는 이해를 돕기 위해 만든 가상 상황이며, 실제 기업·기관의 사례가 아닙니다.
- 구글 원문은 영어판(hl=en)이고, 형식 이름은 같은 문서 한국어판(hl=ko) 표기를 따랐습니다. W3C 문서는 영어 원문만 있습니다.