XML 사이트맵 XML Sitemap
XML 사이트맵(XML Sitemap)은 검색엔진 크롤러에게 사이트의 페이지 URL 목록과 최종 수정일을 알려주는 XML 형식의 파일입니다. 구글 검색 센트럴 문서는 사이트맵이 URL 발견을 도울 뿐 크롤링과 색인을 보장하지는 않는다고 안내하며, priority·changefreq 필드는 무시하고 lastmod 값만 일관되게 정확할 때에만 참고한다고 분명히 밝힙니다.
왜 필요한가 - 크롤러에게 건네는 URL 지도
XML 사이트맵은 사이트의 페이지 URL 목록과 각 URL의 최종 수정일을 XML 형식으로 정리해 검색엔진에 건네는 파일입니다. 구글 검색 센트럴 문서는 이를 "사이트의 페이지·동영상·파일 정보와 그 관계를 제공하는 파일"로 정의하며, 검색엔진이 이 파일을 읽어 사이트를 더 효율적으로 크롤링한다고 안내합니다 Google 공식. 새로 발행한 글이나 내부 링크가 적은 깊숙한 페이지처럼 링크만으로는 발견되기 어려운 URL을 크롤러에게 직접 건네는 지도인 셈입니다.
같은 문서는 한계도 분명히 합니다. 사이트맵은 URL "발견"을 도울 뿐, 담긴 항목이 모두 크롤링·색인된다고 보장하지 않는다고 분명히 밝힙니다 Google 공식. 크롤링과 색인은 서로 다른 단계이고, 사이트맵은 그중 첫 단계인 발견을 돕는 힌트입니다.
여기서 구글 공식 입장과 업계 관행이 살짝 갈립니다. 구글은 페이지가 약 500개 이하이고 내부 링크가 촘촘하면 사이트맵이 없어도 대부분의 페이지를 발견할 수 있다고 안내합니다 Google 공식. 반면 Yoast 같은 업계 도구는 규모와 상관없이 거의 모든 사이트에 사이트맵을 기본 생성해 둡니다 Yoast. 사이트맵 유지 비용이 사실상 0 이므로, 실무에서는 작은 사이트라도 만들어 두는 쪽이 안전합니다.
기본 구조와 한도
사이트맵은 sitemaps.org 프로토콜을 따르는 XML 파일입니다. 규격 명세에 따르면 루트 요소 urlset과 각 url 항목의 loc(주소)는 필수이고, lastmod(최종 수정일)·changefreq(변경 빈도)·priority(중요도)는 선택 요소입니다 sitemaps.org 규격.
<?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-06-15</lastmod>
</url>
<url>
<loc>https://example.com/portfolio/project-a/</loc>
<lastmod>2026-05-02</lastmod>
</url>
</urlset>
한도도 규격에 정해져 있습니다. 파일 하나에 URL 5만 개, 비압축 기준 50MB 까지이며, 구글 검색 센트럴 문서도 같은 한도를 안내합니다 Google 공식. 이를 넘으면 사이트맵을 여러 파일로 나누고, 그 목록을 담은 사이트맵 인덱스 파일을 따로 둡니다.
lastmod - 구글이 참고하는 유일한 선택 필드
규격에는 priority와 changefreq 필드도 있지만, 구글 검색 센트럴 문서는 이 두 값을 "무시한다"고 못 박습니다 Google 공식. 선택 필드 중 구글이 실제로 참고하는 값은 lastmod 하나뿐이며, 그마저도 "일관되고 검증 가능할 정도로 정확할 때"만 신뢰한다는 단서가 붙습니다 Google 공식.
이 신뢰 조건을 구글은 2023년 6월 검색 센트럴 블로그에서 구체적으로 설명했습니다. 7년 전에 바뀐 페이지의 lastmod가 어제 날짜로 적혀 있는 식으로 현실과 어긋나면, 검색엔진이 결국 그 사이트의 최종 수정일 값 전체를 신뢰하지 않게 된다는 것입니다 Google 공식 블로그. 이 대목에서는 업계 관측도 공식 입장과 어긋나지 않습니다 - Yoast는 구글과 Bing이 모두 정확한 lastmod를 강조한다고 정리하며, 저작권 연도 변경 같은 사소한 수정이 아니라 본문·구조화 데이터·링크의 의미 있는 변경 시점을 반영하라고 권합니다 Yoast.
사이트맵을 생성할 때마다 모든 URL의 lastmod를 현재 시각으로 일괄로 찍어내면, 정말 수정한 페이지를 빨리 재크롤링해 달라는 신호까지 함께 잃는 셈입니다. 확신할 수 있는 페이지에만 lastmod를 쓰고 애매한 페이지는 생략해도 된다는 것이 같은 블로그의 안내입니다 Google 공식 블로그.
제출 방법 - 서치 콘솔과 robots.txt
구글 문서가 안내하는 제출 경로는 두 갈래입니다 Google 공식. 구글 서치 콘솔의 Sitemaps 보고서에 URL을 제출하거나, robots.txt 파일에 Sitemap: 지시자 한 줄을 추가하는 방법입니다. 서치 콘솔 고객센터에 따르면 Sitemaps 보고서에서 제출 이력, 사이트맵에서 발견된 페이지 수, 처리 오류를 확인할 수 있어 진단 도구 역할도 합니다 서치 콘솔 고객센터.
과거에 쓰이던 ping 엔드포인트(HTTP 요청으로 사이트맵 갱신을 알리던 방식)는 구글이 2023년 6월 폐지를 발표했고, 이후 404를 반환합니다 Google 공식 블로그. 같은 블로그는 오래된 플러그인이 ping을 계속 호출해도 해가 되지는 않지만 아무 효과도 없다고 설명합니다.
워드프레스에서의 생성 - 제작 단계 체크포인트
워드프레스에서는 생성 방식이 세 갈래로 나뉩니다.
| 방식 | 경로 | 특징 |
|---|---|---|
| 코어 기본 (WP 5.5+) | /wp-sitemap.xml | 자동 생성. 세부 제어 기능이 제한적 |
| SEO 플러그인 (Yoast 등) | /sitemap_index.xml | 포스트 타입·분류별 하위 사이트맵을 묶은 인덱스 구조. noindex 페이지 자동 제외 |
| 맞춤 테마 직접 구현 | 임의 경로 | 커스텀 포스트 타입·다국어 등 특수 구조에 맞춰 완전 제어 |
맞춤 테마를 제작할 때 점검할 항목은 공식 권고에서 그대로 나옵니다. 첫째, 노출할 커스텀 포스트 타입은 사이트맵에 포함되고 noindex 처리한 페이지는 빠져 있어야 합니다. Yoast는 noindex로 설정한 페이지가 사이트맵에서 자동 제외된다고 안내하며, "방문자가 그 URL에 도착했을 때 좋은 결과가 아니라면 사이트맵에 없어야 한다"는 판단 기준을 제시합니다 Yoast. 둘째, 구글 권고대로 캐노니컬(대표) URL만 완전한 절대 URL 형태로 나열해야 합니다. 구글은 "나열된 URL을 그대로 크롤링하려 시도한다"고 명시합니다 Google 공식. 셋째, lastmod가 실제 글 수정일(post_modified)을 반영하는지 확인합니다.
자주 하는 실수
- 한글 URL을 인코딩하지 않고 그대로 넣음 - 사이트맵 프로토콜은 모든 URL을 RFC-3986 기준으로 퍼센트 인코딩(percent-encoding)하도록 규정합니다. 예를 들어
/블로그/는/%EB%B8%94%EB%A1%9C%EA%B7%B8/처럼 인코딩해서 적어야 합니다 사이트맵 프로토콜. 한글을 그대로 쓰는 국내 사이트에서 자주 하는 실수인데, 구글은 사이트맵에 적힌 URL을 그대로 크롤링하므로 원본 그대로 넣으면 실제 주소와 어긋나 색인에서 빠질 수 있습니다 Google 공식. - priority·changefreq 값 튜닝에 공을 들임 - 구글 검색 센트럴 문서가 두 필드를 무시한다고 분명히 밝히므로, 그 시간에 lastmod 정확도를 챙기는 편이 낫습니다 Google 공식.
- 모든 URL의 lastmod를 같은 날짜로 찍음 - 생성 시각을 일괄 기록한 흔적입니다. 구글 블로그는 현실과 어긋나는 lastmod는 결국 신뢰를 잃는다고 경고합니다 Google 공식 블로그.
- 캐노니컬이 아닌 주소를 나열 - 파라미터가 붙은 URL, 상대 경로, http/https 혼용 주소가 대표적입니다. 구글 문서는 캐노니컬 URL과 완전한 절대 URL만 넣으라고 권고합니다 Google 공식.
- noindex 페이지나 리다이렉트되는 URL을 포함 - 색인 대상이 아닌 주소를 색인해 달라는 목록에 넣는 모순입니다. Yoast도 noindex 페이지의 사이트맵 제외를 표준 동작으로 삼습니다 Yoast.
- 사이트맵만 만들고 제출하지 않음 - 서치 콘솔 제출이나 robots.txt 등록까지 해야 크롤러가 위치를 알 수 있습니다. 폐지된 ping 엔드포인트에 의존하는 오래된 코드도 점검 대상입니다.
참고 자료
- Learn about sitemaps - Google Search Central
- Build and submit a sitemap - Google Search Central
- Sitemaps ping endpoint is going away - Google Search Central Blog
- Sitemaps report - Search Console Help
- Sitemaps XML format - sitemaps.org
- What is an XML sitemap and why should you have one? - Yoast
- Google and Bing stress the importance of lastmod in XML sitemaps - Yoast