1. 구조화된 데이터 소개
구조화된 데이터(Structured Data)는 웹페이지의 내용을 검색엔진이 명확하게 이해할 수 있도록 표준화된 형식으로 표현하는 방법입니다. 네이버는 Schema.org 어휘를 기반으로 구조화된 데이터를 지원합니다.
지원 형식
- JSON-LD (권장) -
<script>태그로 페이지 내 어디든 삽입 가능, 구현이 가장 간편 - Microdata - HTML 태그에 직접 속성 추가하는 방식
테스트 도구
- Schema Markup Validator (validator.schema.org) - Schema.org 표준 검증
- 네이버 검증도구 - 네이버 Search Advisor 내 구조화된 데이터 검사 기능
⚠️ 중요
구조화된 데이터는 페이지에서 실제로 사용자에게 보여지는 콘텐츠를 정확히 반영해야 합니다. 허위 정보를 마크업하면 검색 결과에 불이익을 받을 수 있습니다.
2. 사이트 연관 채널 (sameAs)
웹사이트가 운영 중인 다양한 소셜 미디어 채널을 검색엔진에 알려줍니다. Person 또는 Organization 타입에 sameAs 속성으로 연결합니다.
주요 속성
name- 사이트/조직명url- 대표 URLsameAs- 연관 채널 URL 배열
지원 채널
네이버 SEO에서 sameAs로 연결 가능한 주요 채널:
네이버 블로그
blog.naver.com/...
네이버 카페
cafe.naver.com/...
스마트스토어
smartstore.naver.com/...
인스타그램
instagram.com/...
유튜브
youtube.com/@...
페이스북
facebook.com/...
X (트위터)
x.com/...
JSON-LD 예제
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Organization",
"name": "My Site Name",
"url": "http://www.mysite.com",
"sameAs": [
"https://blog.naver.com/myblog",
"https://cafe.naver.com/mycafe",
"https://smartstore.naver.com/mystore",
"https://www.instagram.com/myaccount",
"https://www.youtube.com/@mychannel",
"https://www.facebook.com/mypage",
"https://x.com/myaccount"
]
}
</script>
3. 주소 (PostalAddress)
오프라인 매장이나 사업장의 주소 정보를 제공합니다. PostalAddress 타입을 사용하며, LocalBusiness 등의 타입과 함께 사용됩니다.
주요 속성
postalCode- 우편번호addressRegion- 시/도 (예: 서울특별시)addressLocality- 시/군/구 (예: 강남구)streetAddress- 도로명 주소addressCountry- 국가 코드 (예: KR)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "예시 카페",
"address": {
"@type": "PostalAddress",
"postalCode": "06158",
"addressRegion": "서울특별시",
"addressLocality": "강남구",
"streetAddress": "테헤란로 123",
"addressCountry": "KR"
}
}
</script>
5. 자주 묻는 질문 (FAQPage)
FAQ 페이지의 질문과 답변을 구조화하여 검색결과에 Q&A 형태로 표시할 수 있습니다. 네이버는 Question과 Answer 타입을 지원하며, 답변 내 <a>, <ol>, <ul>, <li> 태그를 인식합니다.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "네이버 SEO란 무엇인가요?",
"acceptedAnswer": {
"@type": "Answer",
"text": "네이버 SEO는 웹사이트가 네이버 검색 결과에 잘 노출되도록 최적화하는 작업입니다. <a href=\"https://example.com/guide\">상세 가이드</a>를 참고하세요."
}
},
{
"@type": "Question",
"name": "구조화된 데이터는 필수인가요?",
"acceptedAnswer": {
"@type": "Answer",
"text": "필수는 아니지만, 리치 스니펫 표시를 위해 권장됩니다. 주요 혜택은 다음과 같습니다: <ul><li>검색 결과 가시성 향상</li><li>클릭률 증가</li></ul>"
}
},
{
"@type": "Question",
"name": "JSON-LD와 Microdata 중 어떤 것을 사용해야 하나요?",
"acceptedAnswer": {
"@type": "Answer",
"text": "JSON-LD를 권장합니다. <ol><li>구현이 간편함</li><li>페이지 본문과 분리 가능</li><li>유지보수가 용이함</li></ol>"
}
}
]
}
</script>
<a>, <ol>, <ul>, <li> 태그를 인식하여 리치 결과에 반영합니다.
6. 하우투 (HowTo)
단계별 지침이 포함된 콘텐츠(요리법, 설치 가이드, DIY 등)에 사용합니다. 각 단계는 HowToStep으로 표현하며, 이미지와 URL을 포함할 수 있습니다.
HowToStep 속성
name- 단계 제목text- 단계 설명image- 단계별 이미지 URLurl- 해당 단계의 앵커 URL
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "네이버 SEO 최적화 방법",
"description": "네이버 검색엔진 최적화를 위한 단계별 가이드",
"totalTime": "PT30M",
"step": [
{
"@type": "HowToStep",
"name": "사이트 등록",
"text": "네이버 Search Advisor에 사이트를 등록합니다.",
"image": "https://example.com/images/step1.png",
"url": "https://example.com/guide#step1"
},
{
"@type": "HowToStep",
"name": "robots.txt 설정",
"text": "검색엔진 크롤러가 접근 가능한 경로를 설정합니다.",
"image": "https://example.com/images/step2.png",
"url": "https://example.com/guide#step2"
},
{
"@type": "HowToStep",
"name": "구조화된 데이터 추가",
"text": "Schema.org 마크업을 페이지에 추가합니다.",
"image": "https://example.com/images/step3.png",
"url": "https://example.com/guide#step3"
},
{
"@type": "HowToStep",
"name": "검증 및 모니터링",
"text": "Schema Markup Validator로 마크업을 검증하고 네이버 Search Advisor에서 모니터링합니다.",
"image": "https://example.com/images/step4.png",
"url": "https://example.com/guide#step4"
}
]
}
</script>
7. 캐러셀 (ItemList/ListItem)
여러 아이템을 목록으로 제공할 때 사용합니다. 네이버 검색 결과에 캐러셀 형태로 표시될 수 있습니다. 각 ListItem은 이름, 이미지, URL, 위치 정보를 포함합니다.
ListItem 속성
name- 항목 이름image- 항목 이미지 URLurl- 항목 상세 페이지 URLposition- 항목 순서
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ItemList",
"name": "추천 무선 이어폰",
"description": "2026년 베스트 무선 이어폰 Top 5",
"numberOfItems": 5,
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "프리미엄 노이즈 캔슬링 이어폰",
"image": "https://example.com/images/product1.jpg",
"url": "https://example.com/product/1"
},
{
"@type": "ListItem",
"position": 2,
"name": "스포츠 무선 이어폰",
"image": "https://example.com/images/product2.jpg",
"url": "https://example.com/product/2"
},
{
"@type": "ListItem",
"position": 3,
"name": "가성비 무선 이어폰",
"image": "https://example.com/images/product3.jpg",
"url": "https://example.com/product/3"
}
]
}
</script>
8. 평점 (AggregateRating)
제품, 서비스, 콘텐츠에 대한 사용자 평점을 집계하여 표시합니다. 검색 결과에 별점이 표시되어 클릭률을 높일 수 있습니다.
주요 속성
ratingValue- 평점 값 (예: 4.5)bestRating- 최고 평점 (일반적으로 5)ratingCount- 평점 참여 수reviewCount- 리뷰 수 (ratingCount와 함께 사용)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "프리미엄 무선 이어폰",
"description": "최고급 노이즈 캔슬링 무선 이어폰",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"bestRating": "5",
"ratingCount": "1287",
"reviewCount": "980"
}
}
</script>
💡 참고
ratingCount와 reviewCount는 유사하지만 다른 의미입니다. ratingCount는 평점을 남긴 총 사용자 수, reviewCount는 텍스트 리뷰를 작성한 사용자 수를 나타냅니다. 네이버는 두 속성을 모두 지원합니다.
9. Recipe (레시피)
요리 레시피 페이지에 사용합니다. 재료, 조리 시간, 영양 정보 등을 구조화할 수 있습니다.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Recipe",
"name": "김치찌개 만드는 법",
"image": "https://example.com/images/kimchi-stew.jpg",
"author": {
"@type": "Person",
"name": "홍길동"
},
"datePublished": "2026-01-15",
"description": "얼큰하고 깊은 맛이 일품인 김치찌개 레시피",
"prepTime": "PT15M",
"cookTime": "PT25M",
"totalTime": "PT40M",
"recipeYield": "4인분",
"recipeIngredient": [
"신 김치 2컵",
"돼지고기 앞다리살 200g",
"두부 1모",
"대파 1대",
"고춧가루 1큰술",
"다진 마늘 1작은술"
],
"recipeInstructions": "1. 냄비에 돼지고기를 넣고 중불로 볶습니다. 2. 김치를 넣고 함께 볶아줍니다. 3. 물을 넣고 끓입니다. 4. 두부와 양념을 넣고 한소끔 더 끓입니다."
}
</script>
10. Review (리뷰)
제품, 서비스, 장소 등에 대한 사용자 리뷰를 구조화합니다. Review 타입은 리뷰 대상(itemReviewed)과 평점을 포함합니다.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Review",
"itemReviewed": {
"@type": "Product",
"name": "프리미엄 무선 이어폰 Pro X"
},
"author": {
"@type": "Person",
"name": "김철수"
},
"datePublished": "2026-03-20",
"reviewBody": "음질이 뛰어나고 노이즈 캔슬링 성능이 탁월합니다. 배터리 수명도 길어 하루 종일 사용해도 충분합니다.",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
}
}
</script>
11. Restaurant (음식점)
레스토랑, 카페, 음식점 정보를 구조화합니다. 주소, 메뉴, 영업시간, 평점 등을 포함할 수 있습니다.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "맛있는 식당",
"image": "https://example.com/images/restaurant.jpg",
"servesCuisine": "한식",
"priceRange": "₩₩",
"telephone": "+82-2-1234-5678",
"address": {
"@type": "PostalAddress",
"streetAddress": "테헤란로 123",
"addressLocality": "강남구",
"addressRegion": "서울특별시",
"postalCode": "06158",
"addressCountry": "KR"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.3",
"reviewCount": "256"
}
}
</script>
12. TVSeries / Movie (TV 시리즈 / 영화)
TV 프로그램, 영화, 비디오 콘텐츠의 메타데이터를 구조화합니다.
TVSeries 예제
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "TVSeries",
"name": "인기 드라마 시리즈",
"image": "https://example.com/images/tvseries.jpg",
"description": "대한민국을 대표하는 인기 드라마 시리즈",
"numberOfSeasons": 3,
"numberOfEpisodes": 36,
"actor": [
{"@type": "Person", "name": "배우1"},
{"@type": "Person", "name": "배우2"}
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"ratingCount": "15432"
}
}
</script>
Movie 예제
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Movie",
"name": "새로운 영화",
"image": "https://example.com/images/movie.jpg",
"description": "2026년 최고의 기대작",
"datePublished": "2026-07-15",
"director": {
"@type": "Person",
"name": "감독 이름"
},
"actor": [
{"@type": "Person", "name": "주연 배우"},
{"@type": "Person", "name": "조연 배우"}
],
"genre": ["액션", "드라마"],
"duration": "PT2H10M"
}
</script>
13. SoftwareApp / Video (소프트웨어 / 비디오)
SoftwareApp (소프트웨어 앱)
모바일 앱, 데스크톱 소프트웨어, 웹 애플리케이션 정보를 구조화합니다.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "MyEditor Pro",
"image": "https://example.com/images/app.png",
"description": "전문가용 텍스트 편집기",
"operatingSystem": "Windows, macOS, Linux",
"applicationCategory": "EditorApplication",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "KRW"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"ratingCount": "3200"
}
}
</script>
Video (비디오)
동영상 콘텐츠의 메타데이터를 구조화합니다. 제목, 설명, 썸네일, 업로드 날짜, 런타임 등을 포함합니다.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "네이버 SEO 완벽 가이드",
"description": "네이버 검색엔진 최적화의 모든 것",
"thumbnailUrl": "https://example.com/images/video-thumb.jpg",
"uploadDate": "2026-01-15",
"duration": "PT30M15S",
"contentUrl": "https://example.com/videos/naver-seo-guide.mp4",
"embedUrl": "https://example.com/embed/naver-seo-guide",
"interactionStatistic": {
"@type": "InteractionCounter",
"interactionType": "WatchAction",
"userInteractionCount": "15420"
}
}
</script>
🚀 다음 단계
구조화된 데이터의 기본 유형을 학습했습니다. 이제 네이버 검색 연동 도구와 실제 적용 방법을 알아보세요.