/사이트맵 (XML Sitemap)
📙How-to

사이트맵 (XML Sitemap)

최종 업데이트:

정의

XML 사이트맵(XML Sitemap)은 웹사이트의 URL 목록을 구조화된 XML 형식으로 제공하는 파일이다. 검색엔진 봇이 사이트 내 모든 중요 페이지를 빠짐없이 발견하고 크롤링할 수 있도록 안내하는 역할을 한다.

내부 링크 구조만으로는 발견되기 어려운 페이지, 새로 추가된 페이지, 업데이트된 페이지를 검색엔진에 효율적으로 알릴 수 있다. 사이트맵은 크롤링 힌트로 작동하며, 제출했다고 모든 URL이 즉시 크롤링·인덱싱되는 것은 아니다.


요약

사이트맵 핵심: ①/sitemap.xml 위치에 생성 → ②GSC 사이트맵 제출 → ③robots.txt에 위치 명시 → ④중요 URL만 포함(noindex 제외) → ⑤50,000개 URL 또는 50MB 초과 시 사이트맵 인덱스 사용. 사이트맵보다 내부 링크 구조가 더 강력한 크롤링 신호임을 명심한다.


XML 사이트맵 기본 구조

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2026-05-13</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://example.com/blog/</loc>
    <lastmod>2026-05-10</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>

태그 설명

  • <loc>: 페이지 절대 URL (필수)
  • <lastmod>: 마지막 수정일 ISO 8601 형식 (권장)
  • <changefreq>: 업데이트 빈도 (always/hourly/daily/weekly/monthly/yearly/never) — 구글이 참고만 함
  • <priority>: 상대 우선순위 0.0–1.0 (구글이 크게 참고하지 않음)

사이트맵 종류

XML 사이트맵 (표준)

가장 일반적인 형태. URL 목록과 메타데이터를 포함. 텍스트 파일 형태의 사이트맵(sitemap.txt)도 가능하지만 메타데이터를 담지 못한다.

사이트맵 인덱스 (Sitemap Index)

URL 수가 50,000개를 초과하거나 파일 크기가 50MB를 초과하면 사이트맵을 여러 파일로 분리하고 이를 가리키는 사이트맵 인덱스를 생성한다.

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://example.com/sitemap-pages.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-blog.xml</loc>
  </sitemap>
</sitemapindex>

미디어 사이트맵

이미지, 동영상 전용 사이트맵. 구글 이미지 검색·동영상 검색에서 추가 메타데이터를 제공한다.


사이트맵 생성 및 제출 4단계

1단계: 사이트맵 생성

CMS 자동 생성

  • WordPress: Yoast SEO, RankMath, All-in-One SEO 플러그인이 자동 생성
  • Next.js: next-sitemap 패키지 또는 App Router의 sitemap.ts 파일
  • Shopify: 자동 /sitemap.xml 생성

수동 생성: 소규모 사이트는 XML 직접 작성 또는 온라인 생성 도구 사용

2단계: 웹서버 배치

/sitemap.xml 경로에 파일을 배치한다. https://example.com/sitemap.xml로 접근 가능해야 한다.

3단계: robots.txt에 위치 명시

User-agent: *
Disallow:

Sitemap: https://example.com/sitemap.xml

robots.txt에 사이트맵 위치를 명시하면 사이트맵을 직접 제출하지 않아도 봇이 발견할 수 있다. 자세히는 robots.txt와 AI 참조.

4단계: Google Search Console 제출

GSC → 색인 생성 → 사이트맵 → URL 입력 후 제출. 제출 후 처리 상태와 발견된 URL 수를 확인한다.


사이트맵에 포함/제외할 URL

[COMPARISON_TABLE: 사이트맵 포함 vs 제외 URL]

포함해야 할 URL

  • 모든 중요 콘텐츠 페이지 (블로그, 제품, 서비스)
  • 카테고리·태그 페이지 (인덱싱 대상인 경우)
  • 인덱싱되기를 원하는 모든 URL

제외해야 할 URL

  • noindex 설정된 페이지
  • robots.txt로 차단된 페이지
  • 리다이렉트되는 구 URL (최종 목적지만 포함)
  • 파라미터 중복 URL
  • 관리자·로그인·결제 페이지

사이트맵에 인덱싱되면 안 되는 URL을 포함하면 오히려 크롤 예산을 낭비하고 구글에 혼란을 준다.


한국 시장 적용

네이버 서치어드바이저 사이트맵 제출

네이버도 사이트맵 제출을 지원한다. 네이버 서치어드바이저 → 웹마스터 도구 → 요청 → 사이트맵 제출에서 사이트맵 URL을 등록한다. 구글 GSC 제출과 별도로 진행해야 한다.

한국어 URL 인코딩

한국어가 포함된 URL을 사이트맵에 포함할 때는 퍼센트 인코딩(URL encoding)을 적용해야 한다. 대부분의 CMS 플러그인이 자동 처리하지만, 수동 생성 시 주의가 필요하다.

https://example.com/블로그/게시글https://example.com/%EB%B8%94%EB%A1%9C%EA%B7%B8/%EA%B2%8C%EC%8B%9C%EA%B8%80

Next.js 사이트맵 설정

한국 스타트업에서 많이 사용하는 Next.js App Router에서 사이트맵 자동 생성:

// app/sitemap.ts
import { MetadataRoute } from 'next'

export default function sitemap(): MetadataRoute.Sitemap {
  return [
    { url: 'https://example.com', lastModified: new Date() },
    { url: 'https://example.com/blog', lastModified: new Date() },
  ]
}

자주 묻는 질문

Q. 사이트맵을 제출하면 크롤링이 보장되나요?
A. 아니다. 사이트맵은 크롤링 "힌트"이지 명령이 아니다. 구글은 사이트맵을 참고하지만, 크롤 예산·내부 링크·페이지 품질에 따라 실제 크롤링 여부를 결정한다. 고품질 콘텐츠와 탄탄한 내부 링크 구조가 사이트맵보다 더 강력한 크롤링 신호다.

Q. 사이트맵 changefreq와 priority 태그를 정확히 설정해야 하나요?
A. 구글은 changefreq와 priority를 크롤링 스케줄 결정에 거의 참고하지 않는다고 밝혔다. 과도하게 정확히 설정하는 것보다 lastmod(마지막 수정일)를 정확히 유지하는 것이 더 효과적이다. lastmod가 실제 변경과 일치하지 않으면 구글이 신뢰성을 낮게 평가한다.

Q. 사이트맵 URL 수가 너무 많으면 문제가 되나요?
A. 단일 사이트맵 파일의 제한은 50,000 URL / 50MB다. 이를 초과하면 사이트맵 인덱스로 분리해야 한다. URL 수 자체가 문제는 아니지만, 품질 낮은 URL을 대량 포함하면 크롤 예산을 낭비하고 전체 사이트 크롤링 효율이 저하될 수 있다.

Q. 사이트맵에 이미지를 포함해야 하나요?
A. 이미지가 중요한 콘텐츠(사진 포트폴리오, 이커머스 제품 이미지)라면 이미지 사이트맵이 구글 이미지 검색 노출에 도움이 된다. 일반 콘텐츠 사이트는 이미지 사이트맵 없이도 이미지가 크롤링되지만, 이미지 사이트맵이 있으면 더 풍부한 메타데이터를 제공할 수 있다.

Q. 사이트맵 오류(GSC에서 에러 표시)는 어떻게 해결하나요?
A. GSC 사이트맵 보고서에서 오류 유형을 확인한다. 주요 오류: ①URL을 읽을 수 없음(HTTP 오류, 파일 접근 불가) → 서버 설정 확인 ②지원되지 않는 형식 → XML 구조 검증 ③URL이 사이트에 없음 → 리다이렉트된 URL이나 404 URL 제거 ④인덱싱되지 않은 URL → noindex 또는 품질 이슈 점검.


관련 출처

  • Google Search Central (2024). Build and submit a sitemap. Google Developers.
  • Sitemaps.org (2024). Sitemap protocol. sitemaps.org.
  • Google Search Central (2024). Large site owner's guide to managing your crawl budget. Google Developers.

이 페이지를 참조하는 항목

관련 항목

📘개념
크롤 버짓 (Crawl Budget)
크롤 버짓(Crawl Budget)은 구글봇이 특정 기간에 한 사이트를 크롤하는 총 횟수로, 대규모 사이트에서 중요한 페이지가 색인되지 않는 주요 원인이다.
📘개념Pillar
구글 서치 콘솔 (Google Search Console) 완전 활용 가이드
구글 서치 콘솔(GSC)은 구글이 무료 제공하는 웹마스터 도구로, 검색 노출·클릭·색인 상태·크롤 오류를 직접 측정해 SEO 성과를 관리하는 필수 플랫폼이다.
📙How-to
인덱싱 커버리지 진단
인덱싱 커버리지 진단은 GSC 색인 보고서로 사이트의 전체 색인 상태를 점검하고, 색인되지 않은 페이지의 원인을 파악해 수정하는 SEO 핵심 작업이다.
📘개념Pillar
AEO란?
AEO는 AI 답변 엔진이 콘텐츠를 인용하도록 최적화하는 기법이다.
📘개념Pillar
내부 링크 전략
내부 링크 전략은 자사 사이트 내 페이지를 의미적으로 연결해 토픽 권위와 봇·사용자 탐색을 최적화하는 작업이다.
📘개념
크롤 뎁스 (Crawl Depth)
크롤 뎁스(Crawl Depth)는 홈페이지에서 특정 페이지까지 도달하는 데 필요한 클릭 수로, 검색엔진·AI 봇의 페이지 발견 우선순위와 페이지랭크 전달 효율을 결정하는 사이트 구조의 핵심 지표다.
📘개념Pillar
크롤러빌리티 (Crawlability)
크롤러빌리티(Crawlability)는 검색엔진·AI 봇이 웹사이트 페이지에 접근하고 콘텐츠를 읽을 수 있는 능력으로, SEO·AEO의 가장 기본 조건이며 색인(Indexing)과 랭킹(Ranking)보다 선행되는 필수 단계다.
📘개념
크롤링 vs 인덱싱
크롤링(Crawling)은 검색엔진 봇이 링크를 따라 웹을 순회하며 페이지를 수집하는 과정이고, 인덱싱(Indexing)은 수집된 페이지를 분석해 검색 데이터베이스에 저장하는 과정으로, SEO 3단계(크롤링→인덱싱→랭킹)의 첫 두 단계다.
📙How-to
robots.txt에 AI 봇 허용하는 방법
AI 봇 허용은 GPTBot·ClaudeBot·PerplexityBot 등 주요 AI 크롤러의 사이트 접근을 robots.txt에서 명시해 생성형 AI 답변 인용에 자사 콘텐츠를 노출시키는 기술 설정이다.
📘개념Pillar
사이트 아키텍처 (Site Architecture)
사이트 아키텍처(Site Architecture)는 웹사이트의 페이지 계층·URL 구조·내부 링크 설계의 총체로, 크롤 효율·색인 품질·사용자 탐색 경험을 동시에 결정하는 SEO 기반 요소다.

이런 항목도 있어요

이 페이지가 도움이 됐나요?

게시:

업데이트: