새 페이지가 생길 때마다 sitemap.xml을 손으로 작성하는 것은, URL 목록에서 파일을 자동으로 만들어 없앨 수 있는 반복 작업이다.
실제로 중요한 필드는 무엇인가
페이지의 절대 주소를 담은 <loc> 태그가 유일한 필수 필드다. <lastmod>는 정확히 입력할 가치가 있다 — Google이 재크롤링 우선순위를 정할 때 실제로 이를 사용한다고 밝혔기 때문이며, 이는 검색엔진 스스로 "대부분 무시한다"고 밝힌 <priority>, <changefreq>와는 다르다.
한국에서는 Google 검색만으로 충분하지 않다
한국 검색 시장에서는 Google이 아니라 네이버가 오랫동안 지배적인 위치를 차지해 왔고, 네이버는 자체 웹마스터 도구인 "네이버 서치어드바이저"를 통해 별도로 sitemap.xml을 제출받는다. 즉 같은 파일을 생성해도 Google Search Console과 네이버 서치어드바이저 양쪽에 각각 등록해야 두 검색엔진 모두에 반영된다.
절대 URL과 특수 문자 이스케이프
sitemap의 모든 주소는 절대 경로여야 하며(프로토콜과 도메인 포함), 앰퍼샌드 같은 기호는 XML 엔터티로 작성해야 한다(&) — 그렇지 않으면 파일이 유효한 XML이 아니게 되어, 검색엔진이 문제 있는 항목 하나가 아니라 파일 전체를 거부할 수 있다.
이 도구는 무엇에 쓰이는가
- URL 목록에서 XML을 직접 작성하지 않고 올바른 sitemap.xml을 만든다.
- 검색엔진이 파일 전체를 거부하게 만드는 형식 오류를 피한다.
- 새 페이지를 추가한 뒤 마크업을 손으로 고치지 않고 파일을 다시 생성한다.
한글 경로가 %로 뒤덮이는 이유
완성형 한글 음절은 UTF-8에서 대부분 3바이트로 인코딩되므로, "글" 같은 한 글자도 <loc> 안에서는 %EA%B8%80처럼 9자리 퍼센트 인코딩 문자열이 된다 — 짧은 한글 슬러그도 실제 URL 문자열은 예상보다 훨씬 길어질 수 있다는 뜻이다.