사이트맵 XML 생성기

URL 목록을 붙여넣으면 검색엔진 제출용 sitemap.xml을 만듭니다. lastmod·changefreq·priority 지정, 중복 제거, 사이트맵 인덱스 모드 지원.

💡 주소를 한 줄에 하나씩 붙여넣으면 sitemap.xml 이 만들어집니다. 중복은 자동으로 걸러지고 & 같은 문자는 XML 규칙에 맞게 이스케이프됩니다.
📁 주소 목록 텍스트 파일(.txt/.csv)을 끌어다 놓거나 클릭해서 선택
파일은 브라우저에서만 읽습니다 · 최대 8MB
전체 일괄 지정
sitemap.xml

사이트맵 표준 한계

항목한계넘으면
파일당 URL 수50,000개파일을 나누고 사이트맵 인덱스로 묶습니다
파일 크기50MB (압축 전)파일을 나누거나 gzip 압축(.xml.gz)합니다
인덱스당 사이트맵 수50,000개인덱스를 여러 개로 나눕니다
URL 길이2,048자초과 주소는 무시됩니다
💡 사이트맵의 주소는 전부 같은 도메인·같은 프로토콜이어야 합니다. https 사이트맵에 http 주소를 섞으면 그 항목은 무시됩니다. 만든 파일은 사이트 루트에 올린 뒤 robots.txt 에 Sitemap: https://example.com/sitemap.xml 한 줄을 추가하고, 서치 콘솔·네이버 서치어드바이저에도 등록하세요.

사이트맵 XML 생성기란?

사이트맵(sitemap.xml)은 내 사이트에 어떤 페이지가 있는지 검색엔진에 목록으로 건네주는 XML 파일입니다. 링크로 잘 연결되지 않은 페이지나 새로 올린 글을 빨리 찾아가게 하는 데 효과가 있어, 서치 콘솔·네이버 서치어드바이저에 제출하는 것이 기본입니다. 이 도구는 주소 목록을 줄바꿈으로 붙여넣기만 하면 형식에 맞는 XML을 만들어 주고, 중복 주소를 걸러 내며 &·<· 같은 문자를 XML 규칙대로 이스케이프합니다. 파일 하나에 5만 URL·압축 전 50MB 라는 표준 한계를 넘기면 경고하고, 넘칠 때 쓰는 사이트맵 인덱스도 같은 화면에서 만들 수 있습니다.

사용 방법

  1. URL 목록 칸에 주소를 한 줄에 하나씩 붙여넣습니다. http/https로 시작하는 절대 주소여야 합니다.
  2. 전체에 적용할 lastmod(수정일)·changefreq(변경 주기)·priority(우선순위)를 고릅니다.
  3. 주소마다 값을 다르게 주고 싶으면 "URL당 개별 지정" 표에서 줄별로 바꿉니다.
  4. 유효성 검사에서 잘못된 주소·중복이 걸러졌는지 확인합니다.
  5. sitemap.xml 을 내려받아 사이트 루트에 올리고 robots.txt와 서치 콘솔에 주소를 등록합니다.

사이트맵 XML 생성기 사용 가이드

실제 작업에서 이 도구를 어떻게 쓰는지, 무엇을 조심해야 하는지 정리했습니다.

사이트맵은 색인 보장이 아니라 힌트입니다

"사이트맵을 제출했는데 색인이 안 된다"는 질문이 많습니다. 사이트맵은 "이런 페이지가 있으니 봐 달라"는 목록일 뿐, 크롤링도 색인도 보장하지 않습니다. 서치 콘솔에서 "발견됨 - 현재 색인이 생성되지 않음"이나 "크롤링됨 - 현재 색인이 생성되지 않음"이 뜬다면 그건 사이트맵 문제가 아니라 페이지 품질·중복 문제입니다. 사이트맵을 다시 제출한다고 해결되지 않습니다.

그렇다고 쓸모없는 것도 아닙니다. 아래 상황에서는 실제로 차이가 납니다.

  • 내부 링크로 연결되지 않은 고립된 페이지 — 링크를 타고 갈 방법이 없으면 사이트맵 말고는 발견될 길이 없습니다.
  • 새로 만든 사이트 — 외부 링크가 아직 없어 크롤러가 찾아올 단서가 부족한 시기.
  • 페이지가 수천 개 이상인 사이트 — 크롤링 예산 배분에 도움이 됩니다.
  • 자주 갱신되는 사이트 — 정직한 lastmod가 있으면 바뀐 것부터 다시 보러 옵니다.
반대로 페이지가 수십 개고 내부 링크가 잘 연결된 블로그라면 사이트맵의 효과는 미미합니다. 넣어서 손해는 없으니 두되, 색인이 안 되는 원인을 사이트맵에서 찾지는 마세요.

priority·changefreq 기본값이 "넣지 않음"인 이유

구글은 이 두 값을 사실상 무시합니다. 이유는 단순합니다. 거의 모든 사이트 주인이 자기 페이지에 priority 1.0, changefreq always 를 적었기 때문입니다. 자기 신고 값은 신뢰할 수 없으니 안 봅니다. 그래서 이 도구의 기본값을 "넣지 않음"으로 뒀고, 값을 고르면 안내 메시지가 뜹니다.

실제로 참고되는 것은 lastmod 하나뿐이고, 그것도 정직할 때만입니다. 배포 스크립트가 전체 페이지의 lastmod를 매일 오늘 날짜로 찍어 놓으면 구글은 그 사이트의 lastmod를 통째로 무시하기 시작합니다. 한 번 신뢰를 잃으면 진짜로 글을 고쳤을 때도 신호가 안 먹습니다.

태그구글실무 권장
loc필수. 이것만 있어도 됨절대 주소로
lastmod정직하면 참고함내용이 실제로 바뀐 날만 갱신
changefreq무시넣지 않음
priority무시넣지 않음
"lastmod 에 시각·시간대까지 포함"을 켜면 2026-07-16T09:30:00+09:00 형식으로 나옵니다. 날짜만 쓰는 2026-07-16 도 W3C Datetime 규격에 맞는 유효한 값이니, 하루에 여러 번 갱신하는 뉴스 사이트가 아니라면 날짜만으로 충분합니다.

제출 — robots.txt 한 줄이 먼저입니다

  1. 만든 sitemap.xml 을 사이트 루트에 올립니다. 브라우저로 직접 열어 XML이 보이는지 확인하세요.
  2. robots.txt에 Sitemap: https://example.com/sitemap.xml 한 줄을 추가합니다. 이 줄만 있으면 어느 검색엔진이든 알아서 찾아갑니다.
  3. 구글 서치 콘솔의 Sitemaps 메뉴에 주소를 등록합니다. 등록해 두면 처리 결과와 오류를 볼 수 있습니다.
  4. 네이버 서치어드바이저의 요청 → 사이트맵 제출에 같은 주소를 등록합니다. 국내 사이트는 이쪽을 빠뜨리는 경우가 많습니다.
  5. 며칠 뒤 서치 콘솔 Sitemaps 보고서에서 읽은 URL 수와 색인 현황을 확인합니다.
사이트맵 주소를 바꿀 계획이 없다면 파일명을 sitemap.xml 로 고정해 두는 편이 편합니다. 페이지를 추가할 때마다 다시 제출할 필요는 없습니다. robots.txt에 적혀 있으면 크롤러가 주기적으로 다시 읽습니다.
사이트맵에 넣으면 안 되는 주소가 있습니다. noindex 페이지(모순된 신호를 보냅니다), 리다이렉트되는 옛 주소, 404 페이지, canonical이 다른 곳을 가리키는 중복 페이지입니다. 이런 주소가 많으면 사이트맵 전체의 신뢰도가 떨어집니다.

5만 개를 넘을 때 — 인덱스 모드

파일 하나에 URL 5만 개, 압축 전 50MB가 표준 한계입니다. 넘으면 파일을 나눈 뒤 그 목록을 담는 사이트맵 인덱스를 만들어 인덱스 주소 하나만 제출합니다. 이 도구의 "사이트맵 인덱스" 모드가 그 파일을 만듭니다.

실무에서는 한계에 닿기 전에 나누는 편이 낫습니다. 게시글·상품·카테고리처럼 종류별로 파일을 나눠 두면 서치 콘솔에서 어느 묶음의 색인율이 낮은지 바로 보이기 때문입니다. 사이트 전체 색인율이 아니라 "상품 페이지만 색인이 안 되고 있다"를 알아내는 게 이 방식의 실익입니다.

xml
<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-1.xml</loc>
  </sitemap>
</sitemapindex>

<!-- robots.txt 에는 인덱스 주소 한 줄만 -->
<!-- Sitemap: https://example.com/sitemap_index.xml -->
50MB를 넘으면 gzip으로 압축해 sitemap.xml.gz 로 올려도 됩니다. 다만 한계는 압축 전 크기 기준이므로, 압축한다고 URL 5만 개 제한이 늘어나지는 않습니다.

자주 나는 사고

  • 도메인·프로토콜 섞기 — 사이트맵은 자기 도메인, 같은 프로토콜의 주소만 담아야 합니다. 다른 항목은 통째로 무시됩니다. 이 도구는 둘 이상 섞이면 경고합니다.
  • 한글 주소 — /blog/사이트맵-만드는-법 같은 주소는 그대로 넣어도 되지만, 서버가 퍼센트 인코딩된 주소로 리다이렉트한다면 인코딩된 형태가 안전합니다. 어느 쪽이든 실제로 200을 반환하는 주소여야 합니다.
  • &가 든 주소 — ?cat=tools&sort=new 의 & 는 XML에서 &amp; 로 써야 합니다. 이 도구가 자동으로 이스케이프하니 원본을 그대로 붙여넣으면 됩니다. 손으로 만들다 XML 파싱 오류가 나는 흔한 원인입니다.
  • 주소 2,048자 초과 — 초과 항목은 무시됩니다.
"중복 제거", "잘못된 주소 버리기", "가나다순 정렬" 칩은 입력창의 목록 자체를 정리해 줍니다. 크롤러 로그나 DB에서 뽑은 주소 목록을 그대로 붙여넣고 이 세 개를 차례로 누르면 대개 깔끔해집니다.

자주 묻는 질문

priority와 changefreq가 순위에 영향을 주나요?

거의 없습니다. 구글은 두 값을 사실상 무시한다고 여러 차례 밝혔습니다. 실제로 참고되는 것은 lastmod이며, 그것도 값이 정직할 때만 신뢰합니다. 모든 페이지의 lastmod를 매일 오늘 날짜로 찍는 식이면 무시당합니다.

URL이 5만 개를 넘으면 어떻게 하나요?

사이트맵 하나에 5만 URL, 압축하지 않은 상태로 50MB가 표준 한계입니다. 넘으면 파일을 여러 개로 쪼갠 뒤 그 목록을 담는 사이트맵 인덱스 파일을 만들어 제출합니다. 이 도구의 "사이트맵 인덱스" 모드로 만들 수 있습니다.

lastmod는 어떤 형식으로 써야 하나요?

W3C Datetime 형식입니다. 2026-07-16 같은 날짜만 쓰거나 2026-07-16T09:30:00+09:00 처럼 시각과 시간대까지 붙일 수 있습니다. 이 도구는 두 형식 모두 출력할 수 있습니다.

사이트맵에 넣으면 무조건 색인되나요?

아닙니다. 사이트맵은 "이런 페이지가 있으니 봐 달라"는 힌트일 뿐 색인 보장이 아닙니다. 내용이 얇거나 중복인 페이지는 크롤링 후에도 색인되지 않습니다.

입력한 URL 목록이 서버로 전송되나요?

아니요. XML 생성은 전부 브라우저 안에서 처리되며 주소 목록은 서버로 전송되지 않습니다.