사이트맵(sitemap.xml) 생성기 — URL 목록으로 사이트맵 만들기
URL 목록으로 sitemap.xml을 생성합니다 — URL 뒤에 적은 날짜는 lastmod가 되고, 한 파일에 다 들어가지 않는 목록은 사이트맵 색인과 함께 나눠 줍니다.
URL 뒤에 적은 날짜(2024-05-01, 또는 시간대를 붙인 2024-05-01T10:30:00+09:00)가 그 페이지의 수정일이 됩니다. 모르는 날짜는 적지 마세요.
위에 URL을 하나 이상 입력하면 사이트맵이 생성됩니다.
이 사이트맵 생성기가 하는 일
페이지 URL을 한 줄에 하나씩 붙여넣으면 유효한 sitemap.xml을 실시간으로 만들어 줍니다. 각 주소는 <loc>를 담은 <url> 항목이 되고, sitemaps.org 0.9 네임스페이스(http://www.sitemaps.org/schemas/sitemap/0.9)를 선언하는 표준 <urlset> 루트로 감싸집니다. 빈 줄은 무시되고 모든 주소는 절대 http 또는 https URL인지 검증되므로, 상대 경로나 오타는 조용히 잘못된 파일이 되는 대신 표시됩니다. 쿼리 문자열의 앰퍼샌드 같은 특수문자는 XML 이스케이프되어 &가 &로 바뀌므로 XML이 항상 올바르게 파싱됩니다. “한 줄의 내용” 선택에서는 XML 사이트맵에 더 많은 것을 담는 줄을 읽습니다. “페이지 URL과 그 이미지”를 고르면 한 줄에 페이지 URL과 그 페이지 이미지들의 주소를 공백으로 구분해 적고, 이미지마다 그 페이지 항목에 <image:image>가 붙습니다. “언어별 버전 (언어=URL)”을 고르면 한 줄에 en=https://example.com/ ko=https://example.com/ko/ x-default=https://example.com/처럼 쌍을 적고, 각 URL이 따로 항목이 되어 자기 자신을 포함한 모든 언어 버전을 <xhtml:link rel="alternate" hreflang> 링크로 나열합니다. 필요한 네임스페이스는 쓸 때만 선언하고, 고른 형식에 맞지 않는 줄은 통째로 건너뛰며 어느 줄인지 알려 주고, 파일 이름 옆에는 들어간 URL 수가 나옵니다.
수정일(lastmod)
URL 뒤에 공백, 탭, 쉼표로 띄워 날짜를 적으면 — https://example.co.kr/ 2024-05-01, 또는 시간대를 붙인 2024-05-01T10:30:00+09:00 — 그 페이지의 <lastmod>가 됩니다. 적은 날짜만 씁니다. 날짜가 없는 줄에는 <lastmod>를 만들지 않습니다. 지어낸 날짜는 없는 것보다 나쁘기 때문입니다. 마지막 단어가 날짜(YYYY-MM-DD)처럼 시작하면 항상 날짜로 읽고, 달력에 없는 날이거나 시간대가 없는 시각이면 그 줄을 건너뛰며 이유를 알려 줍니다. 건너뛴 줄은 TSV 파일로 내려받아 고칠 수 있습니다. 구글은 <lastmod>가 꾸준히 정확할 때 읽으므로, 페이지 내용이 마지막으로 바뀐 날을 적으세요.
변경 주기, 우선순위, 제출 방법
선택형 드롭다운으로 모든 URL에 기본 <changefreq>(always부터 never까지)와 기본 <priority>(1.0에서 0.0)를 한 번에 적용할 수 있습니다. 구글은 둘 다 무시한다고 사이트맵 안내서에 밝히고 있고, <lastmod>는 꾸준히 정확할 때 읽습니다. 신경 쓰는 다른 검색엔진이 읽는 경우가 아니면 비워 두세요. 결과를 복사하거나 sitemap.xml 파일로 바로 내려받아 사이트 루트에 올리면 https://yourdomain.com/sitemap.xml에서 접근할 수 있고, robots.txt에 참조하거나 구글 서치 콘솔·빙 웹마스터 도구에 제출하면 됩니다. 형식 선택에서는 URL을 한 줄에 하나씩 적은 일반 텍스트 사이트맵(구글도 받는 형식)이나 페이지에 붙여 넣을 HTML 링크 목록도 만들 수 있고, 복사와 내려받기도 그 형식을 따라 sitemap.txt나 sitemap.html이 됩니다. 변경 주기·우선순위·수정일은 XML 사이트맵에만 들어갑니다. 모든 처리는 브라우저에서 이뤄지므로 많은 내부 URL 목록도 기기를 벗어나지 않습니다.
한 파일에 다 들어가지 않을 때
사이트맵 하나에는 sitemaps.org 규격대로, 압축하지 않은 크기로 URL 50,000개 또는 50MB까지 들어갑니다. 둘 중 하나를 넘으면 목록을 순서대로 sitemap-1.xml, sitemap-2.xml…로 나누고, sitemap.xml은 그 파일들을 나열하는 <sitemapindex>가 됩니다. 색인에는 파일을 올릴 주소가 필요합니다. “사이트맵 파일 위치”는 첫 URL 사이트의 루트에서 시작하며 다른 절대 http(s) 폴더로 바꿀 수 있습니다. “모두 내려받기 (.zip)”는 색인과 모든 파일을 압축 파일 하나로 저장합니다. 모두 그 폴더에 올리고 sitemap.xml을 제출하세요. 텍스트 사이트맵도 같은 방식으로 번호 붙은 .txt 파일로 나눕니다.
자주 묻는 질문
sitemap.xml 파일은 왜 필요한가요?
검색엔진이 알아야 할 사이트의 페이지 목록을 표준 XML 형식으로 적은 파일입니다. 제출하면 크롤러가 페이지를 더 빠르게 발견하고 어떤 URL이 대표 주소인지 이해하는 데 도움이 되며, 새 사이트나 내부 링크가 적은 페이지에 특히 유용합니다.
changefreq와 priority는 실제로 어떤 역할을 하나요?
둘 다 선택적 힌트입니다. changefreq(always, hourly, daily, weekly, monthly, yearly, never)는 페이지가 얼마나 자주 바뀌는지를, priority(1.0에서 0.0)는 사이트 안에서의 상대적 중요도를 나타냅니다. 구글은 둘 다 무시한다고 사이트맵 안내서에 밝히고 있고, 대신 lastmod가 꾸준히 정확할 때 읽습니다. 신경 쓰는 다른 검색엔진이 읽는 경우가 아니면 비워 두세요.
XML 말고 텍스트나 HTML 사이트맵도 만들 수 있나요?
네. 형식에서 “일반 텍스트 (sitemap.txt)”를 고르면 URL을 한 줄에 하나씩 적은, 구글이 읽는 또 다른 사이트맵 형식이 되고, “HTML 링크 목록”을 고르면 페이지에 붙여 넣을 링크 목록이 됩니다. 복사와 내려받기도 그 선택을 따라 sitemap.txt나 sitemap.html로 저장됩니다. 변경 주기·우선순위·수정일은 XML 사이트맵에만 들어가며, 정해 둔 상태면 페이지가 그렇게 알려 줍니다.
이미지 사이트맵이나 페이지의 언어별 버전도 만들 수 있나요?
네, XML 사이트맵에서 됩니다. “한 줄의 내용”을 “페이지 URL과 그 이미지”로 바꾸고 한 줄에 페이지와 그 이미지들의 주소를 공백으로 구분해 적으면, 이미지마다 그 페이지 항목에 image:image 요소가 붙습니다. “언어별 버전 (언어=URL)”으로 바꾸고 en=https://example.com/ ko=https://example.com/ko/ x-default=https://example.com/처럼 쌍을 적으면, 구글이 요구하는 대로 각 URL이 따로 항목이 되어 자기 자신을 포함한 모든 언어 버전을 xhtml:link 대체 링크로 나열합니다. 언어 태그를 읽을 수 없거나 URL만 있거나 같은 언어가 두 번 나온 줄은 통째로 건너뛰고 알려 주며, 파일 이름 옆에는 들어간 URL 수가 나옵니다.
페이지마다 수정일은 어떻게 넣나요?
같은 줄의 URL 뒤에 공백, 탭, 쉼표로 띄워 날짜를 적으세요. https://example.co.kr/ 2024-05-01처럼 날짜만, 또는 2024-05-01T10:30:00+09:00처럼 시간대를 붙인 시각을 적으면 그 페이지의 lastmod가 됩니다. 날짜가 없는 줄에는 만들지 않고, 2024-02-30처럼 없는 날짜나 시간대가 없는 시각이면 그 줄을 건너뛰고 알려 주며, 건너뛴 줄은 TSV 파일로 내려받을 수 있습니다.
목록이 커서 사이트맵 하나에 다 들어가지 않으면요?
사이트맵 하나에는 압축하지 않은 크기로 URL 50,000개 또는 50MB까지 들어갑니다. 둘 중 하나를 넘으면 목록을 순서대로 sitemap-1.xml, sitemap-2.xml…로 나누고, sitemap.xml은 “사이트맵 파일 위치”에 적힌 주소의 그 파일들을 나열하는 사이트맵 색인이 됩니다. 이 위치는 바꾸지 않으면 첫 URL 사이트의 루트입니다. “모두 내려받기 (.zip)”로 모든 파일을 한 번에 저장해 함께 올리고 sitemap.xml을 제출하세요.