Sitemap.xml 검사기

sitemap.xml 내용을 붙여넣으면 sitemaps.org 프로토콜 준수 여부를 검증합니다. urlset 네임스페이스, 필수 loc 요소, lastmod/priority 형식 오류를 확인하고 구글의 5만 건 URL 상한도 검사합니다.

sitemap.xml 체커란

sitemap.xml은 검색엔진에 페이지 목록을 알려 주는 파일이지만, 형식이 조금만 어긋나도 검색엔진은 조용히 건너뛸 뿐 아무것도 알려 주지 않습니다. 「제출했는데 반영되지 않는다」는 상태의 원인이 네임스페이스의 한 글자 차이나 lastmod의 형식 실수였다는 일이 실제로 일어납니다. 이 도구는 sitemap.xml의 내용을 붙여 넣기만 하면 sitemaps.org 프로토콜에 맞는지 검증하고 문제가 있는 곳을 목록으로 보여 줍니다.

검증하는 것은 XML로서 형식이 올바른지, ``이 있는지, xmlns가 `http://www.sitemaps.org/schemas/sitemap/0.9`인지, 각 ``에 ``이 하나만 있는지, ``이 W3C Datetime 형식인지, ``이 정해진 일곱 값 중 하나인지, ``가 0.0〜1.0인지, URL 수가 5만 건 이내인지, 압축하지 않은 파일 크기가 50MB 이내인지입니다. 지적은 오류(프로토콜 위반)와 경고(동작하지만 바람직하지 않음)로 나누어 표시합니다. URL을 입력해 가져올 수도 있지만, 붙여 넣은 내용의 검증은 모두 브라우저 안에서 끝납니다.

sitemap.xml을 검증하는 순서

  1. 내용을 붙여 넣거나 URL을 넣습니다 sitemap.xml의 내용을 그대로 붙여 넣습니다. 이미 공개된 사이트맵이라면 URL을 입력해 가져올 수도 있습니다.
  2. 샘플로 동작을 확인합니다 정상 샘플, 오류를 포함한 샘플, 경고를 포함한 샘플이 준비되어 있습니다. 자기 파일을 넣기 전에 어떤 지적이 나오는지 볼 수 있습니다.
  3. 오류부터 고칩니다 중요도가 오류인 항목은 프로토콜 위반으로, 검색엔진이 제대로 읽지 못할 수 있습니다. 경고보다 먼저 처리해 주세요.
  4. URL 수와 파일 크기를 확인합니다 결과 위쪽에 총 URL 수와 바이트 수가 나옵니다. 상한에 가까워졌다면 사이트맵 인덱스로 나눌 준비를 해 두는 편이 안전합니다.

더 잘 활용하기 위한 팁

  • <lastmod>을 정확하게 유지하면 크롤러가 실제로 변경된 페이지를 우선적으로 다시 가져오는 데 도움이 됩니다. 오래되었거나 미래 날짜로 된 값은 오히려 신뢰도를 떨어뜨릴 수 있습니다.
  • <priority>는 같은 사이트 내 페이지 간 상대적 중요도를 나타내는 힌트일 뿐이며, 구글은 랭킹 판단에 사용하지 않는다고 공식적으로 밝혔습니다. 보조 정보로만 참고하세요.
  • 하나의 sitemap.xml에는 최대 5만 개의 URL만 담을 수 있고, 비압축 크기는 50MB를 넘지 않아야 합니다. 두 제한 중 하나라도 초과하면 <sitemapindex>로 여러 파일로 나누세요.
  • robots.txt에 Sitemap: 지시어를 한 줄 추가해 두면 검색엔진이 sitemap.xml 위치를 자동으로 찾을 수 있습니다. 본 사이트의 robots.txt 검사기와 함께 사용하면 더 효율적입니다.
  • <loc>에 한글 등 비ASCII 문자가 포함된 경로를 쓸 경우, 미리 퍼센트 인코딩을 해야 합니다. 브라우저 주소창에 표시되는 디코딩된 URL을 그대로 붙여넣으면 유효하지 않은 값으로 감지됩니다.

이런 때에 쓸 수 있습니다

Search Console에서 「가져올 수 없음」이 나왔을 때

서버 쪽 문제인지 파일 형식 문제인지를 가를 수 있습니다. 형식이 원인이라면 어느 요소인지까지 알 수 있습니다.

사이트맵을 직접 생성할 때

템플릿이나 스크립트로 출력하는 경우, 날짜 형식과 이스케이프 누락이 섞여 들기 쉬운 지점입니다. 배포 전에 한 번 통과시키면 사고를 막을 수 있습니다.

대규모 사이트에서 분할이 필요한지 판단할 때

URL 5만 건·압축하지 않은 50MB라는 상한에 대해 지금 얼마나 여유가 있는지를 숫자로 볼 수 있습니다.

넘겨받은 사이트의 상태를 점검할 때

기존 사이트맵이 현행 프로토콜에 맞는지 우선 한 번 통과시켜 확인할 수 있습니다.

사이트맵 용어

urlset
사이트맵 전체를 감싸는 최상위 요소입니다. 여기에 올바른 네임스페이스가 지정되어 있지 않으면 파일 전체가 sitemap.xml로 인식되지 않습니다.
네임스페이스(xmlns)
이 XML이 어떤 규격을 따르는지 나타내는 식별자입니다. sitemap.xml에서는 `http://www.sitemaps.org/schemas/sitemap/0.9`가 올바른 값이며, **끝의 0.9나 스킴(http/https)의 차이도 불일치로 다룹니다.**
loc
페이지의 URL입니다. 각 ``에 반드시 하나만 필요하며 절대 URL로 씁니다.
lastmod
마지막으로 수정한 일시입니다. W3C Datetime 형식(`2026-09-20` 또는 `2026-09-20T10:00:00+09:00` 등)으로 씁니다.
changefreq
갱신 빈도의 힌트로, always / hourly / daily / weekly / monthly / yearly / never 일곱 가지만 유효합니다. **이는 힌트일 뿐 그 빈도로 크롤링된다는 보장은 아닙니다.**
priority
사이트 안에서의 상대적 우선도를 0.0〜1.0으로 나타내는 값입니다. 사이트 간 비교에는 쓰이지 않습니다.
사이트맵 인덱스
여러 사이트맵을 묶는 상위 파일입니다. 한 파일의 상한(5만 URL·압축하지 않은 50MB)을 넘을 때 이것으로 나눕니다.

자주 묻는 질문

도메인 루트 바로 아래(예: https://example.com/sitemap.xml)에 두는 것이 기본입니다. 하위 디렉터리에 두면 해당 디렉터리 하위 URL만 기재할 수 있다는 제약이 생기므로 주의해야 합니다.

필수는 아니지만 구글 서치 콘솔에서 수동으로 제출하면 색인이 더 빨라질 수 있습니다. 또한 robots.txt에 Sitemap: 지시어를 추가해 두면 제출하지 않아도 크롤러가 자동으로 찾아냅니다.

구글은 2020년 이후 두 값 모두 랭킹에 실질적으로 반영하지 않는다고 공식적으로 설명하고 있습니다. 다만 다른 검색엔진이나 크롤러가 참고할 가능성은 있으므로, 기재하는 것 자체가 무의미하지는 않습니다.

아니요. 표준 urlset 안에 image:image나 video:video 같은 확장 네임스페이스 태그를 추가하면 일반 페이지용 사이트맵과 함께 사용할 수 있습니다. 본 도구는 이러한 확장 태그를 검증 대상에서 제외하지만, 표준 항목(loc·lastmod 등)의 검증 결과에는 영향을 주지 않습니다.
툴군

여담 ― 검색엔진들이 하나의 사이트맵 형식에 합의한 날

구글은 2005년 6월 독자적인 사이트맵 방식을 처음 선보였습니다. 그로부터 1년여 후인 2006년 11월, 야후!와 마이크로소프트(당시 MSN Search)도 같은 형식 지원을 발표하며 함께 sitemaps.org라는 이름으로 표준화했습니다. 서로 경쟁하는 검색엔진들이 하나의 공통 형식에 합의한 흔치 않은 사례로 알려져 있습니다.

sitemap.xml은 크롤러에게 "이 URL이 존재한다"는 사실을 알려주는 지도일 뿐, 실제로 크롤링되거나 색인될 것을 보장하지는 않습니다. 특히 대규모 사이트에서는 크롤 예산(검색엔진이 한 사이트를 크롤링하는 데 할당하는 자원의 상한)이 실질적인 제약이 되어, 가치가 낮은 URL을 대량으로 사이트맵에 담으면 정말 중요한 페이지의 발견이 늦어질 수 있습니다.

5만 건·50MB라는 상한은 서버 측에서 단일 XML 파일을 파싱하는 부담을 억제하기 위한 실무적인 제약입니다. 대형 쇼핑몰처럼 URL 수가 방대한 사이트에서는 sitemap.xml을 여러 파일로 나누고, 이를 하나로 묶는 사이트맵 색인 파일(루트 요소가 <urlset>이 아니라 <sitemapindex>인 별도 형식)을 사용하는 것이 일반적인 대처법입니다.