사이트맵을 제출했는데 색인이 늘지 않는 이유
구글 서치 콘솔에 사이트맵을 제출해도 '색인 생성됨' 수가 늘지 않는 것은 사이트맵이 색인을 보장하는 명령이 아니기 때문입니다. lastmod 날짜의 함정과 5만 개 URL 제한 등 흔한 실수와 올바른 해결법을 알아봅니다.
내 얘기다: 사이트맵은 '발견됨', 색인은 '0'
구글 서치 콘솔(Google Search Console)에 열심히 만든 사이트맵(sitemap.xml)을 제출했습니다. 상태는 '성공'. '발견된 페이지' 숫자도 제대로 나옵니다. 그런데 며칠, 몇 주가 지나도 정작 중요한 '색인이 생성된 페이지' 숫자는 제자리걸음입니다. 때로는 아예 0개에서 움직이지 않습니다.
사이트맵을 다시 만들어 제출하고, '색인 생성 요청'을 페이지마다 눌러보지만 상황은 나아지지 않습니다. 검색엔진이 내 사이트를 무시하는 것 같아 답답함을 느낍니다. 이것은 사이트의 품질 문제 이전에, 사이트맵의 역할에 대한 오해에서 비롯되는 경우가 많습니다.
원인: 사이트맵은 색인 '보장'이 아닌 '힌트'입니다
가장 먼저 바로잡아야 할 오해는 '사이트맵을 제출하면 모든 페이지가 색인된다'는 생각입니다. 사이트맵은 검색엔진 크롤러에게 보내는 초대장이나 지도와 같습니다. "우리 집에 이런 방들이 있으니 한 번 둘러봐 주세요" 하고 알려주는 것뿐, 모든 방에 반드시 들어와서 구석구석 살펴봐야 할 의무를 부과하는 것이 아닙니다.
검색엔진의 목표는 사용자에게 '가치 있는' 정보를 제공하는 것입니다. 이를 위해 한정된 자원(크롤링 예산, Crawl Budget)을 효율적으로 사용해야 합니다. 크롤러는 사이트맵을 통해 새로운 주소나 업데이트된 주소를 '발견'한 뒤, 자체적인 기준에 따라 그 페이지를 색인할지 말지 '결정'합니다.
만약 사이트맵에 담긴 페이지가 내용이 부실하거나, 다른 페이지와 중복되거나, 기술적인 문제가 있다면 크롤러는 그 페이지를 발견하더라도 색인하지 않고 그냥 지나칩니다. 따라서 '발견됨'과 '색인됨' 사이에 큰 격차가 발생하는 것은 어찌 보면 당연한 현상입니다. 문제는 그 격차가 0에 가깝게 좁혀지지 않을 때입니다.
흔한 실수 3가지: 혹시 이렇게 만들지 않았습니까?
사이트맵이 단지 힌트일 뿐이라고 해서 아무렇게나 만들어도 된다는 뜻은 아닙니다. 잘못된 신호를 계속 보내는 사이트맵은 오히려 검색엔진의 신뢰를 잃게 만들어 색인에 악영향을 줍니다. 아래 세 가지는 많은 분들이 저지르는 대표적인 실수입니다.
- **모든 페이지의 `lastmod`를 오늘 날짜로 갱신하기:** `lastmod`는 페이지가 마지막으로 수정된 날짜를 의미합니다. 페이지 내용이 바뀌지도 않았는데 매일 사이트맵을 새로 생성하며 모든 URL의 `lastmod`를 현재 날짜로 찍는 경우가 많습니다. 처음 몇 번은 크롤러가 속아서 방문하겠지만, 이내 내용 변화가 없다는 사실을 학습하고는 더 이상 `lastmod` 정보를 신뢰하지 않게 됩니다. '양치기 소년'이 되는 셈입니다. 실제 수정된 날짜를 정확히 기입할 자신이 없다면, 차라리 `lastmod` 항목 자체를 빼는 것이 낫습니다.
- **URL 5만 개, 파일 50MB 제한 넘기기:** 사이트맵 표준 프로토콜은 파일 하나당 URL을 최대 50,000개까지, 압축되지 않은 파일 크기는 최대 50MB까지로 제한합니다. 이 한계를 넘는 사이트맵은 처리되지 않습니다. 대형 쇼핑몰이나 커뮤니티처럼 페이지 수가 수십만 개에 달한다면, 사이트맵을 여러 파일로 분할한 뒤 이 파일들의 목록을 담은 '사이트맵 인덱스' 파일을 만들어 제출해야 합니다.
- **색인될 가치가 없는 URL까지 모두 넣기:** 회원가입, 로그인, 장바구니, 검색 결과, 관리자 페이지 등 검색 결과에 노출될 필요가 없거나 내용이 없는 페이지까지 사이트맵에 포함하는 경우입니다. 이는 크롤러의 자원을 낭비시키고 정말 중요한 페이지가 발견될 기회를 뺏는 행위입니다. 사이트맵에는 방문자가 검색을 통해 들어오길 바라는, 고유하고 의미 있는 콘텐츠가 담긴 표준 URL(canonical URL)만 포함해야 합니다.
해결: 올바른 사이트맵 생성 및 제출 방법
그렇다면 어떻게 해야 검색엔진이 신뢰하는 사이트맵을 만들 수 있을까요? 내 사이트의 모든 '색인 대상' URL 목록을 정확히 뽑아내고, 표준 규칙에 맞춰 XML 파일로 만들면 됩니다.
- **URL 목록 준비:** 내 사이트에서 검색에 노출되어야 할 페이지 주소 전체를 모읍니다. `https://`로 시작하는 절대 주소여야 합니다. 보통은 텍스트 파일(.txt)에 한 줄에 하나씩 정리합니다.
- **사이트맵 XML 생성:** 준비된 URL 목록을 사용해 sitemap.xml 파일을 만듭니다. 이때 `&` 같은 특수문자는 XML 규칙에 맞게 `&`로 변환(이스케이프)해야 합니다. 이 과정은 수작업으로 하기 까다로우므로 도구를 사용하는 것이 좋습니다. tools25의 '사이트맵 생성기'는 URL 목록을 붙여넣기만 하면 이런 규칙을 자동으로 처리해 줍니다.
- **한계 초과 시 '사이트맵 인덱스' 활용:** 만약 URL이 5만 개를 넘는다면, 목록을 5만 개씩 나눠 여러 개의 sitemap 파일을 만드십시오. (예: sitemap1.xml, sitemap2.xml, ...) 그다음, '사이트맵 생성기'의 모드를 **`📚 사이트맵 인덱스`**로 바꾸고, 분할된 사이트맵 파일들의 주소를 넣어 `sitemap_index.xml` 파일을 생성합니다. 검색엔진에는 이 인덱스 파일 하나만 제출하면 됩니다.
- **robots.txt 파일에 사이트맵 위치 알리기:** 구글 서치 콘솔에 직접 제출하는 방법도 있지만, 더 확실하고 자동화된 방법은 사이트 최상위 폴더의 `robots.txt` 파일에 사이트맵의 위치를 명시하는 것입니다. 이렇게 하면 구글뿐 아니라 네이버, 빙 등 다른 검색엔진 크롤러들도 사이트를 방문할 때마다 사이트맵의 위치를 스스로 확인하고 가져갑니다. 'robots.txt 생성기' 도구의 '사이트맵 주소' 항목에 내 사이트맵 파일의 전체 주소를 넣으면 됩니다.
# robots.txt 파일 예시
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
# 사이트맵 인덱스 파일을 제출하는 경우
# Sitemap: https://example.com/sitemap_index.xml
사이트맵이 완벽해도 색인이 안 된다면?
모든 규칙을 지켜 완벽한 사이트맵을 제출했는데도 색인이 되지 않는다면, 문제는 사이트맵이 아니라 웹사이트 자체에 있을 가능성이 99%입니다. 검색엔진이 페이지를 발견은 했지만, 색인할 가치가 없다고 판단한 것입니다.
이때는 한 걸음 물러나 내 사이트의 근본적인 품질을 점검해야 합니다. 다른 곳에서 베껴온 글이나 짜깁기한 내용으로 채워져 있지는 않습니까? 각 페이지가 고유한 정보를 담고 있습니까? 사용자가 방문했을 때 원하는 정보를 쉽게 얻을 수 있습니까? 사이트의 로딩 속도는 빠릅니까?
또 다른 기술적인 원인으로는 `robots.txt` 파일에서 실수로 중요 디렉터리를 `Disallow` 했거나, 페이지 HTML의 `<meta>` 태그에 `noindex`가 포함된 경우가 있습니다. 구글 서치 콘솔의 '페이지 색인' 보고서에서 '색인 생성 제외'된 페이지들의 사유를 꼼꼼히 살펴보면 문제의 실마리를 찾을 수 있습니다.
자주 묻는 질문
`lastmod`를 꼭 넣어야 하나요? 정확히 관리하기 어렵습니다.
아니요, 넣지 않는 것이 더 좋습니다. `lastmod`는 선택 사항이며, 부정확한 정보를 제공하느니 아예 생략하는 편이 낫습니다. 구글은 내용이 실제로 변경되었는지를 직접 확인하므로, `lastmod` 날짜만 바꾼다고 해서 크롤링이 더 자주 일어나거나 색인이 보장되지 않습니다. tools25의 사이트맵 생성기에서도 `lastmod` 입력란을 비워두면 해당 항목은 만들어지지 않습니다.
사이트맵을 제출하면 검색 순위가 오르나요?
직접적으로 순위를 올리지는 않습니다. 사이트맵은 검색엔진이 내 사이트의 구조를 더 잘 이해하고, 깊숙이 숨어있는 페이지까지 빠짐없이 '발견'하도록 돕는 역할을 합니다. 색인은 순위 산정의 전제 조건이므로, 신속한 발견과 색인은 장기적으로 SEO에 긍정적인 영향을 주지만, 사이트맵 제출 자체가 순위 상승 요인(Ranking Factor)은 아닙니다.
사이트맵은 얼마나 자주 만들어서 제출해야 하나요?
사이트의 콘텐츠가 업데이트될 때마다 갱신하는 것이 가장 이상적입니다. 블로그에 새 글을 쓰거나, 쇼핑몰에 새 상품을 등록했다면 사이트맵에도 해당 URL이 추가되어야 합니다. robots.txt에 사이트맵 위치를 등록해 두었다면, 서버에 있는 sitemap.xml 파일만 새것으로 덮어쓰면 됩니다. 검색엔진이 주기적으로 방문하여 스스로 가져가므로 매번 서치 콘솔에 재제출할 필요는 없습니다.
구글 서치 콘솔에서 'URL이 Google에 등록되어 있지 않음'이라고 나옵니다. 사이트맵 문제인가요?
꼭 그렇지는 않습니다. 이 메시지는 해당 URL이 아직 색인되지 않았다는 뜻이며, 이유는 매우 다양합니다. 사이트맵에 포함되지 않아 '발견'조차 안 되었을 수도 있고, 발견은 되었지만 '크롤링 대기 중' 상태일 수도 있으며, 크롤링 후 '색인 가치 없음'으로 판단되었을 수도 있습니다. 먼저 사이트맵에 해당 URL이 포함되어 있는지 확인하고, 포함되어 있다면 콘텐츠 품질이나 다른 기술적 SEO 요소를 점검해야 합니다.