1. 구조화된 데이터 소개

구조화된 데이터(Structured Data)는 웹페이지의 내용을 검색엔진이 명확하게 이해할 수 있도록 표준화된 형식으로 표현하는 방법입니다. 네이버는 Schema.org 어휘를 기반으로 구조화된 데이터를 지원합니다.

지원 형식

  • JSON-LD (권장) - <script> 태그로 페이지 내 어디든 삽입 가능, 구현이 가장 간편
  • Microdata - HTML 태그에 직접 속성 추가하는 방식
💡
네이버의 권장 사항: 네이버는 JSON-LD 형식을 가장 권장합니다. 페이지 본문과 독립적으로 작성할 수 있어 유지보수가 용이합니다.

테스트 도구

⚠️ 중요

구조화된 데이터는 페이지에서 실제로 사용자에게 보여지는 콘텐츠를 정확히 반영해야 합니다. 허위 정보를 마크업하면 검색 결과에 불이익을 받을 수 있습니다.

2. 사이트 연관 채널 (sameAs)

웹사이트가 운영 중인 다양한 소셜 미디어 채널을 검색엔진에 알려줍니다. Person 또는 Organization 타입에 sameAs 속성으로 연결합니다.

주요 속성

  • name - 사이트/조직명
  • url - 대표 URL
  • sameAs - 연관 채널 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 형태로 표시할 수 있습니다. 네이버는 QuestionAnswer 타입을 지원하며, 답변 내 <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>
ℹ️
HTML 태그 지원: 네이버는 FAQPage 답변 내 <a>, <ol>, <ul>, <li> 태그를 인식하여 리치 결과에 반영합니다.

6. 하우투 (HowTo)

단계별 지침이 포함된 콘텐츠(요리법, 설치 가이드, DIY 등)에 사용합니다. 각 단계는 HowToStep으로 표현하며, 이미지와 URL을 포함할 수 있습니다.

HowToStep 속성

  • name - 단계 제목
  • text - 단계 설명
  • image - 단계별 이미지 URL
  • url - 해당 단계의 앵커 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>

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>

💡 참고

ratingCountreviewCount는 유사하지만 다른 의미입니다. 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>

🚀 다음 단계

구조화된 데이터의 기본 유형을 학습했습니다. 이제 네이버 검색 연동 도구와 실제 적용 방법을 알아보세요.