sitemap.xml 빌더 완벽 가이드
sitemap.xml은 검색엔진에 사이트의 URL 목록과 메타데이터(최종 수정일, 갱신 빈도, 우선순위)를 알려주는 XML 파일입니다. Google, Bing, Naver, Yandex 모두 sitemaps.org 0.9 스펙을 따르며, robots.txt 의 Sitemap 라인 또는 Search Console 제출을 통해 발견됩니다. 본 도구는 폼 입력과 CSV 일괄 입력을 모두 지원하며 생성된 XML이 50,000 URL / 50MB 한도와 ISO 8601 lastmod 규칙을 만족하는지 실시간 검증합니다.
4가지 핵심 요소
- loc (필수): 절대 URL. 호스트는 robots.txt 가 위치한 동일 호스트여야 함. URL은 RFC 3986 인코딩, & → & 같은 XML 이스케이프 필수.
- lastmod: ISO 8601 형식. YYYY-MM-DD 또는 YYYY-MM-DDThh:mm:ssTZD. Google은 lastmod 정확성을 매우 중시하며, 거짓 lastmod 는 신호를 무시당할 수 있습니다.
- changefreq: always / hourly / daily / weekly / monthly / yearly / never. Google은 사실상 무시하고 자체 크롤링 통계를 사용하지만, Bing/Naver 는 참고합니다.
- priority: 0.0 ~ 1.0. 같은 사이트 내 URL 간 상대 우선순위. Google은 무시, 일부 다른 엔진은 사용.
한도와 분할
단일 sitemap.xml 은 URL 50,000개 또는 압축 전 50MB 가 한도입니다. 그 이상이면 여러 sitemap 으로 나눠 sitemap index(sitemapindex)로 묶어야 합니다. 본 도구는 입력 URL 수와 출력 크기를 실시간으로 보여주고, 한도 초과 시 경고를 띄웁니다. gzip 압축 후 업로드해도 되며 .xml.gz 확장자도 표준입니다.
흔한 검증 오류
(1) 상대 URL 사용 — 반드시 절대 URL이어야 합니다. (2) URL 안의 & 이스케이프 누락 — & 로 변환되어야 합니다. (3) lastmod 형식 오류 — 2025/01/01 같은 슬래시 구분자나 KST 같은 비표준 타임존은 거부됩니다. (4) 호스트 불일치 — robots.txt 와 다른 호스트의 URL이 포함되면 무시될 수 있습니다. (5) noindex 처리된 URL 포함 — 사이트맵은 색인 신호이므로 noindex URL은 제외해야 일관성이 유지됩니다.
자주 묻는 질문 (FAQ)
Q. priority 와 changefreq 는 정말 의미가 있나요?
A. Google은 두 값을 거의 무시한다고 공식 발표했습니다. 다만 Bing, Naver(Yeti), Yandex 는 참고하므로 채워두는 편이 손해는 없습니다.
Q. lastmod 를 어떻게 정확히 채우나요?
A. 컨텐츠가 실제로 의미 있게 변경된 시점의 날짜를 적습니다. 자동 빌드 시각이나 페이지 빌드 타임스탬프를 그대로 적으면 모든 페이지가 같은 lastmod 를 갖게 되어 Google이 무시할 수 있습니다.
Q. 50,000개를 넘으면 어떻게 분할하나요?
A. sitemap-1.xml, sitemap-2.xml 같이 분할 후 sitemap_index.xml 에서 <sitemap> 항목으로 묶고, robots.txt 에는 인덱스 파일을 등록합니다.