사이트맵
사이트맵은 사이트의 URL과 메타정보(최종 수정일 등)를 검색엔진에 알려 주는 파일로, 주로 XML 형식을 사용합니다. 크롤러가 페이지를 더 효율적으로 발견하도록 돕지만 색인을 보장하지는 않습니다.
- 사이트맵은 사이트의 URL 목록과 메타정보를 검색엔진에 전달하는 파일로, 크롤러의 페이지 발견을 돕습니다.
- 사이트맵에 URL을 넣어도 색인이 보장되지는 않으며, 어디까지나 크롤링을 위한 힌트입니다.
- 사이트맵 파일 하나는 최대 50,000개 URL, 압축 전 50MB(52,428,800바이트)를 넘을 수 없으며 UTF-8로 인코딩해야 합니다.
- 한도를 넘으면 여러 파일로 나누고 사이트맵 인덱스 파일로 묶습니다.
- 제출은 Search Console 또는 robots.txt의 Sitemap 지시어로 하며, 과거의 ping 엔드포인트는 2023년에 폐기되었습니다.
개요
사이트맵은 사이트에서 노출되기를 원하는 URL과 각 URL의 메타정보(최종 수정일 등)를 검색엔진에 알려 주는 파일로, 주로 XML 형식을 사용합니다. 검색엔진은 이 파일을 읽어 사이트를 더 효율적으로 크롤링하며, 특히 페이지가 서로 잘 연결되지 않은 경우 신규·심층 페이지를 발견하는 데 도움이 됩니다. 다만 Google은 "사이트맵에 포함된 모든 항목이 크롤링·색인된다고 보장하지 않는다"고 명시하고 있어, 사이트맵은 색인 보장이 아니라 발견을 돕는 힌트로 이해해야 합니다.
Google에 따르면 사이트가 크거나(약 500페이지 초과), 신규라 외부 링크가 적거나, 동영상·이미지 같은 리치 미디어를 많이 포함하는 경우 사이트맵의 효과가 특히 큽니다. 사이트맵에는 표준에서 권장하는 대로 페이지의 canonical 버전 URL을 담는 것이 좋습니다.
형식과 한도
Google은 세 가지 사이트맵 형식을 지원합니다. XML 사이트맵이 가장 범용적이며 이미지·동영상·뉴스·다국어 페이지로 확장할 수 있고, RSS/mRSS/Atom 1.0과 한 줄에 URL 하나씩 적는 텍스트 형식도 사용할 수 있습니다.
표준이 정한 한도는 다음과 같습니다.
- URL 수: 사이트맵 파일 하나당 최대 50,000개
- 파일 크기: 압축 전 기준 최대 50MB(52,428,800바이트)
- 인코딩: UTF-8, 모든 값은 엔티티 이스케이프(예:
&→&) - loc 길이: URL은 프로토콜(http 등)로 시작하고 2,048자를 넘을 수 없음
XML 사이트맵의 기본 구조는 <urlset>(루트)과 각 항목의 <url>, 그리고 필수 태그 <loc>(URL)으로 구성됩니다. <lastmod>은 선택이지만 값이 정확하고 일관될 때 권장되며, <changefreq>·<priority> 값은 Google이 무시합니다.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/foo.html</loc>
<lastmod>2022-06-04</lastmod>
</url>
</urlset>한도를 초과하는 큰 사이트는 사이트맵을 여러 파일로 나눈 뒤, 이를 묶는 사이트맵 인덱스 파일을 만듭니다. 인덱스 파일도 동일하게 최대 50,000개·50MB 제약을 따릅니다.
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://www.example.com/sitemap-1.xml</loc>
<lastmod>2022-06-04</lastmod>
</sitemap>
<sitemap>
<loc>https://www.example.com/sitemap-2.xml</loc>
</sitemap>
</sitemapindex>제출 방법
사이트맵을 만든 뒤 검색엔진에 알리는 방법은 크게 두 가지입니다.
- Search Console: 사이트맵 보고서에서 사이트맵 URL을 직접 제출하고 처리 상태·오류를 확인합니다.
- robots.txt: 파일에 절대 URL로
Sitemap지시어를 추가하면 이 파일을 읽는 검색엔진이 위치를 발견합니다.Sitemap: https://www.example.com/sitemap.xml
과거에 쓰이던 HTTP ping 엔드포인트(https://www.google.com/ping?sitemap=...)는 Google이 2023년 6월에 폐기를 발표했고, 발표 6개월 뒤부터 동작하지 않습니다. Google은 비인증 사이트맵 제출의 대부분이 스팸으로 이어져 유용하지 않았다고 밝혔으며, 현재는 Search Console과 robots.txt 제출만 권장됩니다.
근거
위 한도와 형식은 sitemaps.org의 사이트맵 프로토콜 0.9 표준과 Google Search Central 공식 문서에 근거합니다. sitemaps.org 프로토콜은 사이트맵 파일이 "50,000개 이하의 URL을 포함하고 압축 전 50MB(52,428,800바이트)를 넘지 않아야 한다"고 규정하며, Google 문서도 동일한 수치를 안내합니다. ping 폐기는 Google Search Central 블로그(2023년 6월 "Sitemaps ping endpoint is going away")에 공식 공지되었습니다.
실행 체크리스트
- 사이트맵에는 색인되기를 원하는 canonical URL만 담고, 리다이렉트·noindex·차단된 URL은 제외합니다.
- 파일을 UTF-8로 저장하고 특수문자를 엔티티 이스케이프합니다.
- URL 수 50,000개 또는 50MB에 근접하면 파일을 분할하고 사이트맵 인덱스로 묶습니다.
- 값을 신뢰할 수 있을 때만
<lastmod>을 정확히 채우고, 그렇지 않으면 생략합니다. - robots.txt에
Sitemap:지시어를 추가하고 Search Console로도 제출합니다. - ping 엔드포인트에 의존하는 기존 코드·플러그인은 제거하거나 무시합니다.
- Search Console 사이트맵 보고서에서 읽기 상태와 오류를 정기적으로 점검합니다.