SEO, 사이트맵, 기술SEO
사이트맵(sitemap.xml) 만들고 제출하는 방법 — 구글·네이버 둘 다
2026-10-01
사이트맵이 필요한 이유
사이트맵(sitemap.xml)은 "우리 사이트에는 이런 페이지들이 있습니다"를 검색엔진에 목록으로 건네주는 파일입니다. 검색엔진은 링크를 따라다니며 페이지를 발견하지만, 그 방식만으로는 놓치는 페이지가 생깁니다.
사이트맵이 특히 효과를 보는 경우는 이렇습니다.
- 만든 지 얼마 안 된 사이트라 외부 링크가 거의 없다
- 메뉴에서 몇 단계 깊이 들어가야 닿는 페이지가 있다
- 어디서도 링크되지 않은 페이지가 있다 (이른바 고립 페이지)
- 페이지 수가 많아 로봇이 전부 돌기 전에 수집을 멈출 수 있다
반대로, 사이트맵에 넣었다고 해서 색인이 보장되지는 않습니다. 사이트맵은 "여기 있다"는 안내이고, 색인과 순위는 별도 판단입니다. 이 구분을 해두지 않으면 "사이트맵 제출했는데 왜 검색이 안 되냐"는 오해가 생깁니다.
기본 형태
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-10-01</lastmod> </url> <url> <loc>https://example.com/about</loc> <lastmod>2026-09-12</lastmod> </url> </urlset>
| 태그 | 필수 | 설명 |
|---|---|---|
<loc> | 필수 | 페이지 전체 주소. https://부터 적습니다 |
<lastmod> | 권장 | 마지막 수정일. YYYY-MM-DD |
<changefreq> | 선택 | 변경 주기. 구글은 사실상 참고하지 않습니다 |
<priority> | 선택 | 우선순위. 구글은 사실상 참고하지 않습니다 |
changefreq와 priority에 시간을 쓸 필요는 없습니다. 반면 lastmod는 제대로 넣을 가치가 있습니다. 검색엔진이 "이 페이지는 다시 와서 볼 필요가 있는지"를 판단할 때 쓰는 신호이기 때문입니다.
단, lastmod는 정직해야 합니다. 내용이 바뀌지 않았는데 날짜만 매일 갱신하면 신호로서 신뢰를 잃고 무시됩니다. 실제로 본문이 바뀐 날짜를 넣으세요.
사이트맵에 넣지 말아야 할 주소
사이트맵은 "이 주소를 색인해달라"는 요청입니다. 그래서 아래는 넣으면 안 됩니다.
noindex를 달아둔 페이지 — 넣으라면서 빼라는 모순된 신호가 됩니다- 다른 주소로 리다이렉트되는 주소
- 404가 나는 주소
robots.txt로 막아둔 경로- canonical이 다른 페이지를 가리키는 주소
- 로그인해야 보이는 페이지, 장바구니·결제 같은 개인별 페이지
특히 흔한 실수가 리다이렉트되는 형태를 넣는 것입니다. 예를 들어 사이트는 https://example.com/about으로 서빙되는데 사이트맵에는 https://example.com/about/(끝에 슬래시)을 적어두면, 검색엔진이 요청할 때마다 리다이렉트를 거칩니다. 구글 서치콘솔은 이걸 "리다이렉트가 포함된 페이지"로 보고합니다. 실제 서빙되는 형태 하나로 통일해야 합니다.
www 유무와 http/https도 같습니다. 사이트맵의 주소는 canonical 태그·내부 링크와 글자 단위로 같아야 합니다.
만드는 방법
페이지가 적고 잘 안 바뀌는 사이트라면 위 형태로 직접 작성해 사이트 최상위 경로에 올립니다. 10~30개 정도는 수동으로도 관리됩니다.
글이 계속 추가되는 사이트라면 빌드할 때 자동 생성하도록 만드는 편이 안전합니다. 글을 올릴 때마다 사람이 사이트맵을 고쳐야 하는 구조는 반드시 언젠가 누락이 생깁니다.
워드프레스·카페24·아임웹 같은 빌더를 쓴다면 대부분 사이트맵을 자동으로 만들어줍니다. /sitemap.xml 또는 /sitemap_index.xml을 열어 이미 있는지 먼저 확인하세요. 있으면 새로 만들 필요 없이 그 주소를 제출하면 됩니다.
robots.txt에 위치를 알리기
어디에 뒀는지 robots.txt에 한 줄 적어둡니다. 제출과 별개로, 로봇이 스스로 찾을 수 있게 하는 장치입니다.
codeSitemap: https://example.com/sitemap.xml
전체 주소로 적어야 하며 상대 경로는 무시됩니다. robots.txt 전반은 robots.txt 확인·작성법에 정리해두었습니다.
구글 서치콘솔에 제출
- 구글 서치콘솔에 접속해 속성을 선택합니다. (아직 등록하지 않았다면 소유권 확인부터 진행합니다)
- 왼쪽 메뉴에서 색인 생성 → Sitemaps으로 들어갑니다.
- "새 사이트맵 추가"에 경로를 넣습니다. 도메인 뒷부분만 넣으면 됩니다 —
sitemap.xml - 제출 후 상태가 성공으로 바뀌는지 확인합니다.
제출 직후에는 "가져올 수 없음"이 뜰 수 있습니다. 몇 시간 뒤 다시 보면 처리되는 경우가 많으니 바로 지우고 다시 넣기를 반복하지 않아도 됩니다.
네이버 서치어드바이저에 제출
네이버는 사이트맵과 RSS를 둘 다 제출하는 것을 권장합니다.
- 네이버 서치어드바이저 → 웹마스터 도구 → 사이트 선택
- 요청 → 사이트맵 제출에 전체 주소를 넣습니다 —
https://example.com/sitemap.xml - 요청 → RSS 제출에 RSS 주소가 있으면 함께 넣습니다
구글과 달리 네이버는 전체 주소로 넣어야 합니다. 등록·소유확인 절차는 네이버 서치어드바이저 등록 방법에 단계별로 정리해두었습니다.
제출 후에 보는 것
| 보고서 | 확인할 내용 |
|---|---|
| 서치콘솔 → Sitemaps | 발견된 URL 개수가 실제 페이지 수와 맞는지 |
| 서치콘솔 → 페이지 | 색인 생성됨 / 색인 생성 안 됨의 사유별 분류 |
| 서치어드바이저 → 수집 현황 | Yeti가 방문했는지, 오류가 없는지 |
여기서 가장 중요한 건 "발견된 URL" 숫자와 "색인 생성됨" 숫자의 차이입니다. 발견은 됐는데 색인이 안 됐다면 사이트맵 문제가 아니라 콘텐츠나 중복 문제입니다. 사이트맵을 다시 제출해도 해결되지 않으니, 서치콘솔이 알려주는 제외 사유를 하나씩 보는 쪽이 빠릅니다.
자주 묻는 질문
Q. 사이트맵을 제출하면 검색 순위가 올라가나요? 아니요. 사이트맵은 페이지를 발견하게 돕는 장치이고 순위 요소가 아닙니다. 발견이 문제였던 사이트에서는 결과적으로 노출이 늘 수 있지만, 이미 색인된 사이트에서는 순위에 변화가 없습니다.
Q. 페이지가 아주 많으면 어떻게 하나요? 사이트맵 하나에 URL 5만 개, 파일 크기 50MB(압축 전)가 상한입니다. 넘으면 여러 개로 나누고, 그 목록을 담은 사이트맵 인덱스 파일을 만들어 그것을 제출합니다.
Q. 이미지나 동영상도 넣을 수 있나요? 네, 이미지·동영상용 확장 태그가 따로 있습니다. 다만 일반 페이지 사이트맵이 정확하게 관리되는 것이 먼저입니다.
Q. 내 사이트맵에 문제가 없는지 확인하고 싶습니다.
무료 진단에서 URL만 넣으면 사이트맵 존재 여부와 robots.txt 선언 여부를 포함해 42개 항목을 자동 점검해드립니다. 고립 페이지나 중복 주소 문제도 함께 확인하실 수 있습니다.
사이트맵과 robots.txt가 제대로 잡혀 있는지 지금 확인하려면 무료 진단 시작하기에서 URL만 입력하면 됩니다. 사이트 구조 자체를 다시 설계하려면 사일로 구조 실전 가이드가 도움이 됩니다.