본문 바로가기
SEO·GEO 용어사전

JSON-LD 구조화 데이터 (JSON-LD, 제이슨 엘디)

마지막 업데이트

JSON-LD는 연결된 데이터의 의미와 관계를 JSON 문법으로 표현하는 형식입니다. 웹페이지에서는 보통 <script type="application/ld+json"> 안에 Schema.org 유형과 속성을 적습니다. 일반 JSON 파일이나 API 응답이 모두 JSON-LD인 것은 아닙니다.

이 글은 W3C, Google 검색 센터와 네이버 서치어드바이저의 공식 문서를 기준으로 작성했습니다.

JSON과 JSON-LD의 차이

JSON은 이름과 값을 묶어 데이터를 적는 문법입니다. JSON-LD는 여기에 @context, @type, @id 같은 키워드를 더해 데이터가 무엇을 뜻하고 다른 대상과 어떻게 연결되는지 표현합니다.

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "AVCD",
  "url": "https://avcd.kr"
}

이 예시는 대상을 Organization으로 지정하고 이름과 URL을 연결합니다. @context가 없고 임의의 키만 담긴 설정 파일은 JSON일 수는 있어도 같은 의미의 JSON-LD 구조화 데이터는 아닙니다.

Microdata보다 관리하기 쉬운 이유

Microdata는 화면에 보이는 HTML 요소마다 itemprop 같은 속성을 붙입니다. JSON-LD는 표시용 HTML과 떨어진 스크립트 한곳에 모을 수 있어 템플릿을 관리하기 쉽습니다. Google은 JSON-LD, Microdata, RDFa를 모두 지원하지만 구현과 유지가 쉽다는 이유로 JSON-LD를 권장합니다. 네이버도 세 형식을 소개하며 JSON-LD 또는 Microdata를 권장합니다.

별도 코드라고 화면 내용과 달라도 되는 것은 아닙니다. 가격, 평점, 작성자처럼 마크업한 핵심 정보는 사용자가 페이지에서 확인할 수 있어야 합니다.

작성하고 확인하는 순서

  1. 페이지가 설명하는 대상을 하나 정합니다
  2. Schema.org에서 가장 구체적인 유형과 속성을 고릅니다
  3. JSON-LD를 페이지의 <head><body>에 넣습니다
  4. Schema Markup Validator에서 문법과 관계를 확인합니다
  5. Google 지원 기능이라면 리치 결과 테스트도 실행합니다
  6. 배포 뒤 Search Console URL 검사에서 렌더링된 코드가 감지되는지 봅니다

쉼표 하나가 빠지거나 따옴표가 잘못 닫히면 전체 블록이 파싱되지 않을 수 있습니다. CMS에서 자동 생성한다면 화면 데이터와 같은 원본을 쓰는 편이 안전합니다.

자주 묻는 질문

JSON-LD를 넣으면 검색 순위가 오르나요?

형식을 사용했다는 사실만으로 순위 상승을 보장할 수 없습니다. 검색엔진이 내용을 구분하고 지원 기능의 후보인지 판단하도록 돕습니다.

화면에 보이지 않는 정보도 넣어도 되나요?

사이트 주소나 내부 식별자처럼 사용자가 직접 볼 필요가 없는 기술값도 있습니다. 그러나 검색 기능에 영향을 주는 가격, 리뷰, 행사 일정 같은 핵심 정보는 화면 내용과 일치해야 합니다.

함께 알아두면 좋은 용어

참고 문서