중급GoogleAI 검색
구조화 데이터(Schema.org) 완전 가이드: JSON-LD 유형별 구현
핵심 요약 (TL;DR)
Google Rich Results를 활성화하는 Schema.org 구조화 데이터 10가지 핵심 유형(Article·FAQPage·Product·BreadcrumbList 등)의 JSON-LD 구현법을 다룹니다.
구조화 데이터란 무엇인가
구조화 데이터(Structured Data)는 검색엔진이 페이지의 내용을 명확하게 이해할 수 있도록 기계가 읽을 수 있는 표준 형식으로 메타데이터를 제공하는 방법입니다. Schema.org 어휘를 사용한 JSON-LD 형식이 Google의 공식 권장 방법입니다.
구조화 데이터를 올바르게 구현하면 리치 결과(Rich Results)를 획득할 수 있습니다. 리치 결과는 일반 블루링크보다 시각적으로 풍부하고, 클릭률(CTR)이 크게 향상됩니다.
20~30%FAQ 리치결과 CTR 향상일반 결과 대비 추정치
2~3배HowTo 스니펫 클릭률일반 결과 대비
800+지원 Schema 타입 수Schema.org 기준
JSON-LD vs Microdata vs RDFa: 왜 JSON-LD인가
| 방식 | 위치 | 유지보수 | Google 권장? |
|---|---|---|---|
| JSON-LD | <script> 태그 (독립적) | ✅ 쉬움 (HTML과 분리) | ✅ 공식 권장 |
| Microdata | HTML 속성에 직접 삽입 | ❌ HTML 변경 시 함께 수정 필요 | 가능하나 비권장 |
| RDFa | HTML 속성에 삽입 | ❌ 복잡한 문법 | 가능하나 비권장 |
JSON-LD는 HTML 구조와 완전히 분리되어 유지보수가 쉽고, JavaScript로 동적으로 삽입하기도 쉽습니다. Google도 JSON-LD를 공식 권장합니다.
주요 Schema 타입별 JSON-LD 코드
1. Article (블로그·뉴스 기사)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "SEO 완전 가이드 2025",
"author": {
"@type": "Person",
"name": "홍길동",
"url": "https://example.com/author/hong"
},
"publisher": {
"@type": "Organization",
"name": "SEO Soviss",
"logo": { "@type": "ImageObject", "url": "https://example.com/logo.png" }
},
"datePublished": "2025-01-01",
"dateModified": "2025-03-22",
"image": "https://example.com/seo-guide.webp"
}
</script>
2. FAQPage (자주 묻는 질문)
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "SEO 결과는 얼마나 걸리나요?",
"acceptedAnswer": {
"@type": "Answer",
"text": "일반적으로 3~6개월 후 가시적인 결과가 나타나며, 12개월 이상 지속 시 복리 효과를 경험할 수 있습니다."
}
}
]
}
3. BreadcrumbList (탐색 경로)
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "홈", "item": "https://example.com" },
{ "@type": "ListItem", "position": 2, "name": "SEO", "item": "https://example.com/seo" },
{ "@type": "ListItem", "position": 3, "name": "기초 가이드", "item": "https://example.com/seo/fundamentals" }
]
}
Google이 지원하는 리치 결과 유형 (2025)
| Schema 타입 | 리치 결과 효과 | 적합한 콘텐츠 |
|---|---|---|
| FAQPage | 검색 결과에 Q&A 목록 표시 | FAQ 페이지, 가이드 |
| HowTo | 단계별 안내가 SERP에 표시 | 튜토리얼, How-to 글 |
| Recipe | 평점·조리시간·사진 표시 | 요리 레시피 |
| Product | 가격·평점·재고 표시 | 제품 페이지 |
| Review / AggregateRating | 별점 표시 | 리뷰, 비교 페이지 |
| Article / NewsArticle | Top Stories 진입 자격 | 뉴스, 블로그 |
| BreadcrumbList | URL 대신 경로 표시 | 모든 페이지 |
| Event | 날짜·장소 표시 | 이벤트, 행사 |
| VideoObject | 썸네일·재생시간 표시 | 동영상 콘텐츠 |
| SoftwareApplication | 평점·가격·OS 표시 | 앱, SaaS 도구 |
GEO 관점: 구조화 데이터는 AI 검색(ChatGPT, Perplexity, Google AI Overviews)에서도 콘텐츠 이해를 돕습니다. 특히 FAQ, HowTo, Article 타입은 AI가 답변을 구성할 때 해당 페이지를 인용할 가능성을 높입니다.
Next.js에서 JSON-LD 구현하기
// app/seo/[slug]/page.tsx — generateMetadata와 함께 사용
export default function Page({ params }: { params: { slug: string } }) {
const post = getPost(params.slug)
const jsonLd = {
'@context': 'https://schema.org',
'@type': 'Article',
headline: post.title,
author: { '@type': 'Person', name: post.author },
datePublished: post.publishedAt,
dateModified: post.updatedAt,
image: post.coverImage,
}
return (
<>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
/>
<article>{/* 본문 */}</article>
</>
)
}