스키마 마크업은 Schema.org 어휘로 페이지 정보의 종류와 역할을 표시하는 코드입니다. JSON-LD 같은 형식으로 구현하며, 유형과 속성을 고른 뒤 WordPress에 적용하고 검사하는 방법까지 알아야 합니다.
이 글은 Google 공식 문서와 Schema.org, W3C의 웹 표준 문서를 기준으로 작성했습니다.
유형과 속성의 구성
다음은 Article 유형으로 글 정보를 표시한 JSON-LD 예시입니다.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "스키마 마크업이란?",
"datePublished": "2026-07-26",
"author": {
"@type": "Organization",
"name": "AVCD"
}
}
</script>
코드를 보면 세 가지 요소가 있습니다.
- 유형: 페이지가 글인지, 상품인지처럼 정보의 종류를 표시합니다. 예시는
Article입니다. - 속성: 제목이나 작성자처럼 각 항목의 역할을 표시합니다.
headline,author등이 해당합니다. - 값: 실제 글 제목과 작성자 이름을 넣습니다.
구조화 데이터에 쓰는 공용 어휘 Schema.org
구조화 데이터는 정보를 일정한 형식으로 나누어 표시하는 넓은 개념입니다. 스키마 마크업은 이를 웹페이지에 넣을 때 Schema.org에서 정한 이름을 사용하는 방식입니다.
JSON-LD도 같은 뜻은 아닙니다. Schema.org가 Article, author 같은 이름을 정한다면 JSON-LD는 그 정보를 코드로 적는 형식입니다. Google은 JSON-LD, Microdata, RDFa를 지원하며, 관리하기 쉬운 JSON-LD를 일반적으로 권장합니다.
| 구분 | 역할 | 예시 |
|---|---|---|
| 구조화 데이터 | 정해진 구조로 정보를 제공하는 개념 | 글 제목과 작성자 분류 |
| Schema.org | 유형과 속성을 정한 어휘 | Article, author |
| JSON-LD | 정보를 표현하는 코드 형식 | application/ld+json 스크립트 |
유형 선택 기준
페이지의 주된 목적과 가장 가까운 유형부터 찾습니다. 홈페이지나 조직을 설명하는 단일 페이지에는 Organization, 제품 상세 페이지에는 Product, 기사나 블로그 글에는 Article 계열을 검토할 수 있습니다.
Schema.org에는 많은 유형이 있지만 모두 Google의 리치 결과로 이어지는 것은 아닙니다.
Google 검색 노출이 목적이라면 검색 갤러리에서 지원 유형과 유형별 필수 및 권장 속성, 추가 지침을 먼저 확인하세요. 모든 유형에 필수 속성이 있는 것은 아닙니다.
가장 많은 스키마를 넣는 것보다 페이지의 실제 내용을 정확하게 표현하는 것이 중요합니다. 관련 없는 유형을 추가하거나 화면에 없는 정보를 코드에만 넣으면 안 됩니다.
워드프레스 적용 시 중복 확인
워드프레스에서는 보통 다음 세 경로 중 하나로 마크업이 생성됩니다.
- 테마가 Article이나 Breadcrumb 같은 기본 마크업을 출력합니다.
- SEO 플러그인이 글 유형과 입력값에 맞춰 JSON-LD를 생성합니다.
- 개발자가 템플릿이나 커스텀 필드의 데이터를 이용해 직접 생성합니다.
새 플러그인을 설치하기 전에 기존 페이지 소스를 확인하세요. 테마와 두 개의 플러그인이 같은 Organization이나 Article을 각각 출력하면 값이 어긋나거나 중복 관리가 생길 수 있습니다.
여러 유형을 하나의 그래프로 연결하는 방법
글 페이지에는 Article, 작성자 Person이나 Organization, BreadcrumbList처럼 여러 유형이 함께 들어갈 수 있습니다. 이들을 무관한 코드 조각으로 반복하기보다 @id로 같은 대상을 연결하면 작성자와 운영 주체가 어느 노드인지 분명해집니다.
{
"@context": "https://schema.org",
"@graph": [
{"@type": "Organization", "@id": "https://example.com/#org", "name": "AVCD"},
{"@type": "Article", "headline": "스키마 마크업이란?", "author": {"@id": "https://example.com/#org"}}
]
}
@id 연결은 모든 Google 리치 결과의 필수 요건은 아닙니다. 같은 조직이나 작성자를 여러 플러그인이 서로 다른 값으로 출력할 때 한 대상을 가리키도록 정리하는 운영 방법입니다. 페이지 소스에서 같은 유형과 이름이 몇 번 나오는지 먼저 확인하고, 어느 플러그인이나 템플릿이 원본을 관리할지 하나로 정하세요.
화면과 JSON-LD를 같은 원본에서 갱신하는 방법
가격, 재고, 작성자와 수정일을 화면과 스키마 입력란에 따로 적으면 한쪽만 바뀌기 쉽습니다. 제품 데이터베이스나 CMS의 커스텀 필드처럼 값의 원본을 한 곳으로 정하고, 화면 템플릿과 JSON-LD가 같은 값을 읽어 출력하게 만드세요.
상품 가격이 바뀌면 화면의 가격, Product 마크업과 캐시가 같은 배포에서 갱신돼야 합니다. 작성자를 바꾸면 화면의 작성자 링크와 Article의 author도 함께 바뀌어야 합니다. 수정 뒤에는 대표 페이지를 URL로 다시 검사하고, 유형별 표본 페이지에서 화면 값과 JSON-LD 값을 자동 대조합니다. 여러 플러그인이 같은 유형을 출력한다면 어느 하나를 끄거나 한쪽이 담당하지 않는 유형만 남깁니다.
리치 결과 테스트와 Schema Markup Validator의 차이
Google 검색용 마크업은 리치 결과 테스트로 확인합니다. URL이나 코드를 입력하면 Google이 지원하는 유형과 필수 속성 오류를 볼 수 있습니다.
검사는 다음 순서가 편합니다.
- 개발 중인 코드를 리치 결과 테스트에 넣습니다.
- 오류와 경고를 확인하고 실제 페이지 내용과 값을 맞춥니다.
- 게시 후 URL로 다시 검사합니다.
- 구글 서치 콘솔의 URL 검사와 개선사항 보고서를 확인합니다.
Schema.org 문법 자체를 넓게 확인할 때는 Schema Markup Validator를 사용할 수 있습니다. 다만 Google 검색에서 어떤 기능을 지원하는지는 Google 검색 센터 문서가 기준입니다. Validator 통과를 Google 기능 지원이나 네이버 검색 노출 확인으로 바꾸어 해석하면 안 됩니다.
검사 결과도 네 가지로 나눠야 합니다.
- 코드 문법 오류: JSON 문법이 깨졌거나 형식이 올바르지 않은 경우
- 검색 기능 요건 오류: 필수 값 누락, 지원되지 않는 값이나 잘못된 중첩으로 Google 기능의 자격을 충족하지 못한 경우
- Schema.org 경고: 유형과 속성의 권장 관계를 벗어났지만 코드 문법 오류와는 다른 경우
- 권장 속성 경고: 제공하면 결과가 풍부해질 수 있지만 정확한 값이 없으면 억지로 채우지 않는 항목
- 정책과 본문 불일치: 테스트는 통과해도 화면에 없는 리뷰, 가격이나 작성자를 코드에만 넣은 경우
리치 결과가 사라졌다면 코드 테스트만 반복하지 마세요. 해당 URL의 색인 상태, Google이 현재 지원하는 검색 기능, 수동 조치와 구조화 데이터 정책, 실제 검색어의 결과 구성을 차례로 확인합니다. 지원 기능이 바뀌었거나 Google이 결과를 표시하지 않기로 한 상황은 코드 수정으로 해결되지 않습니다.
스키마 마크업에서 자주 생기는 실수
- 페이지와 관계없는 유형을 여러 개 추가하는 경우
- 필수 속성이 빠진 채 코드만 삽입하는 경우
- 화면에 없는 가격이나 리뷰를 마크업에 넣는 경우
- 테마와 플러그인이 같은 정보를 서로 다르게 출력하는 경우
- 테스트 통과를 리치 결과 노출 확정으로 이해하는 경우
마크업은 한 번 넣고 끝나는 설정이 아닙니다. 가격, 재고, 작성자, 날짜가 바뀌면 화면과 코드가 함께 갱신되는지 확인해야 합니다.
AI 검색을 위한 별도의 공통 스키마 유형은 없습니다. Google 검색의 AI 기능에는 기존 구조화 데이터 정책이 그대로 적용되며, 마크업 내용은 사용자가 보는 본문과 일치해야 합니다. 스키마를 추가했다고 ChatGPT, Claude, Gemini가 페이지를 인용하거나 사실을 채택하는 것은 아닙니다.
자주 묻는 질문
스키마 마크업을 넣으면 순위가 오르나요?
마크업 자체가 순위 상승을 보장하지는 않습니다. 다만 Google이 페이지 정보를 이해하고 지원되는 검색 기능의 대상인지 검토하도록 돕습니다.
모든 페이지에 같은 스키마를 넣어도 되나요?
페이지마다 주된 내용과 실제 정보가 다릅니다. Organization은 홈페이지나 조직을 설명하는 단일 페이지에 두는 것을 기본으로 하고, Product나 Article 같은 주요 유형과 값은 각 페이지 내용에 맞춰야 합니다.
오류가 없고 경고만 있으면 괜찮나요?
오류는 필수 값 누락뿐 아니라 지원되지 않는 값과 형식, 중첩 문제로도 생기며 해당 기능의 자격에 영향을 줄 수 있습니다. 경고는 권장 속성이나 Schema.org의 권장 관계를 확인하라는 뜻일 수 있습니다. 무조건 모두 채우기보다 정확하게 제공할 수 있는 값인지 확인하세요.
함께 알아두면 좋은 용어
- 구조화 데이터: 페이지 정보를 정해진 형식으로 분류해 제공하는 데이터
- JSON-LD: JSON 문법으로 구조화 데이터를 표현하는 형식
- Schema.org: 스키마 유형과 속성을 제공하는 공동 어휘
- 리치 결과: 구조화 데이터를 바탕으로 추가 요소가 표시될 수 있는 검색결과