sitemap.xml을 만들어 구글에 제출하면 크롤러가 내 페이지를 더 빠르게 발견해요.
작성법부터 Search Console 등록까지 한 번에 따라 해봐요.
구글 크롤러에게 "내 사이트에는 이런 페이지들이 있어요"라고 알려주는 지도
사이트맵(Sitemap)은 웹사이트의 모든 페이지 URL을 정리한 파일이에요. 구글, 네이버 등 검색 엔진의 크롤러(bot)가 이 파일을 읽고 사이트의 어떤 페이지가 있는지 파악해요. 사이트맵이 없으면 크롤러가 링크를 타고 돌아다니며 페이지를 발견해야 하는데, 새 페이지나 업데이트된 페이지를 놓칠 수 있어요.
특히 바이브 코딩으로 만든 정적 HTML 사이트나 블로그는 내부 링크가 적을 수 있어서, 사이트맵을 직접 제출하는 게 검색 노출에 큰 도움이 돼요. Google Search Console에 sitemap.xml을 등록하면 구글이 내 사이트를 얼마나 잘 크롤링하는지 통계도 볼 수 있어요.
새 페이지를 만들고 사이트맵을 업데이트하면, 구글이 새 페이지를 더 빠르게 발견하고 검색 결과에 올려줘요.
크롤러가 불필요한 페이지를 탐색하지 않고 중요한 페이지에 집중할 수 있어서 크롤 예산이 절약돼요.
lastmod, changefreq로 페이지 갱신 정보를 전달해서 크롤러가 최신 콘텐츠를 우선 수집해요.
Google Search Console의 사이트맵 제출 기능으로 등록만 하면 돼요. 무료이고 설정이 간단해요.
SEO를 위해서는 XML 사이트맵이 핵심이에요. HTML 사이트맵은 방문자를 위한 편의 기능이고, 검색 엔진에는 직접적인 영향이 적어요. 이 가이드에서는 XML 사이트맵 위주로 설명해요.
4개의 핵심 태그만 알면 sitemap.xml을 직접 작성할 수 있어요
https://로 시작하는 절대 URL을 써야 해요.참고: changefreq와 priority는 구글이 힌트로만 참고하며, 실제 크롤링 빈도에 직접 영향을 주지는 않아요. 필수 태그는 <loc>뿐이에요. 나머지는 선택 사항이지만 추가하면 더 좋아요.
URL만 바꾸면 바로 사용할 수 있는 완성 파일이에요
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <!-- 홈페이지 (가장 중요, priority 1.0) --> <url> <loc>https://example.com/</loc> <lastmod>2025-01-15</lastmod> <changefreq>weekly</changefreq> <priority>1.0</priority> </url> <!-- 주요 페이지 (priority 0.8) --> <url> <loc>https://example.com/about.html</loc> <lastmod>2025-01-10</lastmod> <changefreq>monthly</changefreq> <priority>0.8</priority> </url> <!-- 블로그 글 / 서브 페이지 (priority 0.6) --> <url> <loc>https://example.com/blog/post-1.html</loc> <lastmod>2025-01-08</lastmod> <changefreq>yearly</changefreq> <priority>0.6</priority> </url> <!-- 추가 페이지는 <url>...</url> 블록을 복사해서 붙여넣으세요 --> </urlset>
# robots.txt — 크롤러 허용 규칙 + 사이트맵 위치 안내 User-agent: * Allow: / # 사이트맵 위치를 명시하면 크롤러가 자동으로 읽어가요 Sitemap: https://example.com/sitemap.xml
배포 방법: sitemap.xml과 robots.txt는 사이트 루트 디렉토리에 올려야 해요. GitHub Pages라면 레포지토리 루트에, 일반 호스팅이라면 도메인 바로 아래 경로(예: https://example.com/sitemap.xml)에 있어야 해요. Search Console에 제출 후 "가져오기"를 클릭해 정상 동작하는지 확인하세요.
URL을 입력하면 sitemap.xml 코드가 실시간으로 만들어져요
사이트맵 관련해서 가장 많이 헷갈리는 것들만 모았어요
① Google Search Console에 접속해 사이트를 등록해요. ② 왼쪽 메뉴에서 색인 생성 → Sitemaps를 클릭해요. ③ sitemap.xml을 입력하고 제출 버튼을 눌러요.
제출 후 "가져올 수 없음" 오류가 뜨면 파일 경로가 잘못된 거예요. 브라우저에서 직접 https://여러분의도메인.com/sitemap.xml에 접속해 파일이 보이는지 확인하세요.
Search Console이 처음이라면 먼저 소유권 확인이 필요해요. HTML 파일을 루트에 올리거나, DNS 레코드를 추가하는 방법 중 하나로 인증할 수 있어요. GitHub Pages 사용자는 HTML 파일 방식이 제일 간단해요.
구글의 공식 사이트맵 제한은 파일당 URL 50,000개, 파일 크기 50MB예요. 개인 블로그나 소형 사이트라면 절대 걱정할 필요가 없어요. 수천 개 페이지를 가진 대형 사이트의 경우 여러 개의 사이트맵 파일로 나누고, 사이트맵 인덱스 파일을 만들면 돼요.
사이트맵 인덱스 파일(sitemap_index.xml)은 여러 개의 사이트맵 파일을 하나로 묶어주는 파일이에요. 쇼핑몰처럼 상품 페이지가 수만 개라면 카테고리별로 사이트맵을 나누고 인덱스로 묶는 방식을 쓰면 돼요.
이미지가 많은 사이트(사진 포트폴리오, 쇼핑몰 상품 이미지 등)는 이미지 사이트맵을 추가하면 구글 이미지 검색에서 더 잘 노출돼요. 일반 sitemap.xml의 <url> 안에 <image:image> 태그를 추가하는 방식이에요.
블로그나 일반 정보 사이트라면 굳이 이미지 사이트맵을 따로 만들 필요는 없어요. 구글은 페이지 내 이미지를 크롤링할 때 자동으로 발견해요. 이미지 SEO를 적극적으로 챙기고 싶다면 이미지 alt 속성을 먼저 잘 작성하세요. 이게 더 효과적이에요.
새 페이지를 추가할 때마다 사이트맵에 해당 URL을 추가하고, 구글 Search Console에서 "다시 제출"하는 게 좋아요. 파일 자체를 다시 제출할 필요는 없고, Search Console이 주기적으로 자동 갱신을 확인해요.
robots.txt에 사이트맵 위치를 명시해두면 구글이 알아서 주기적으로 읽어가요. 콘텐츠를 자주 업데이트하는 블로그라면 월 1~2회 사이트맵을 업데이트하고 Search Console에서 상태를 확인하는 루틴을 만들면 좋아요.
GitHub Actions나 빌드 도구를 사용한다면 배포 시 사이트맵을 자동 생성하도록 설정할 수도 있어요. 정적 사이트 생성기(Gatsby, Next.js, Hugo 등)는 대부분 플러그인으로 자동 생성을 지원해요.
robots.txt는 크롤러에게 "어떤 페이지를 크롤링해도 되고 안 되는지"를 알려주는 파일이에요. sitemap.xml은 "어떤 페이지들이 있는지"를 알려주는 파일이에요. 두 파일은 함께 쓰이며 역할이 달라요.
robots.txt에서 Disallow된 페이지는 사이트맵에 포함하면 안 돼요. 크롤러가 사이트맵을 보고 방문하려는데 robots.txt가 막으면 혼란이 생겨요. 사이트맵에는 반드시 크롤링을 허용한 페이지만 포함시켜요.
robots.txt 마지막 줄에 Sitemap: https://example.com/sitemap.xml을 추가하면, 구글뿐 아니라 다양한 검색 엔진의 크롤러가 사이트맵 위치를 자동으로 알 수 있어요. Search Console 제출과 함께 사용하면 더욱 효과적이에요.
사이트맵 설정을 마쳤다면 SEO 체크리스트를 완성해보세요