사이트맵 크롤링 효율 높인 HEAD 메서드 지원
목차
이번 주는 블로그 사이트의 검색 엔진 최적화(SEO) 관점에서 작은 하지만 의미 있는 두 가지를 손봤다. sitemap, robots.txt, RSS 피드 엔드포인트에서 HTTP HEAD 메서드를 지원하고, 정적 sitemap entries에 마지막 수정 시간(lastmod)을 추가했다.
왜 HEAD 메서드를 지원해야 할까
처음엔 "GET이 있는데 뭐하러 HEAD?"라는 생각을 했다. 하지만 생각해보니 우리 블로그 사이트의 주요 방문자는 사람이 아니라 검색 엔진 크롤러다. Google, Naver 같은 크롤러들은 robots.txt와 sitemap.xml을 주기적으로 확인한다. 이때 전체 콘텐츠(body)를 다운로드할 필요는 없다. "이 파일이 존재하는가?", "마지막으로 언제 수정됐는가?" 정도의 헤더 정보만 있으면 충분하다.
GET 요청으로 큰 sitemap이나 RSS 파일을 받으면, 실제로는 메타정보만 필요한데 전체 XML을 파싱하고 전송하는 비용이 들어간다. 우리 입장에선 불필요한 bandwidth 낭비고, 크롤러 입장에선 응답 시간이 느리다. HEAD 메서드를 지원하면 크롤러가 "흠, 이 파일 수정되지 않았네"라고 판단해서 전체 다운로드를 스킵할 수 있다.
lastmod로 크롤링 빈도 최적화
sitemap.xml에 lastmod 태그가 없으면 검색 엔진은 "혹시 모르니" 자주 재크롤 한다. 모든 페이지를 계속 체크해야 하니까. 하지만 lastmod가 있으면 "이 파일은 3개월 전부터 안 바뀌었네"라고 판단해서 크롤 주기를 줄일 수 있다. 특히 정적 콘텐츠가 많은 블로그라면, 변경되지 않은 항목에 대한 재크롤을 줄여서 크롤러 예산(crawl budget)을 더 중요한 신규 콘텐츠에 쓰게 할 수 있다.
W3C sitemap protocol에서 정의된 lastmod는 선택사항이지만, 있으면 검색 엔진이 우리 콘텐츠를 더 효율적으로 인덱싱한다. 즉, SEO 관점에서 저비용-고효율 개선 항목이다.
구현 관점: app/main.py에서의 변경
메인 라우팅 파일에서 sitemap, robots.txt, RSS 엔드포인트들을 살펴봤다. 보통 이런 엔드포인트들은 GET만 지원하도록 되어 있다. 여기에 HEAD 메서드 지원을 추가하는 것은 간단한데—Flask나 FastAPI라면 methods=['GET', 'HEAD'] 한 줄 추가로 끝난다. 프레임워크가 자동으로 body를 빼서 HEAD 응답을 구성해준다.
정적 sitemap entries는 데이터베이스 쿼리 없이 코드에 하드코딩된 콘텐츠들이다. 각 entry에 lastmod 속성을 추가했다. 보통은 entry 생성 시점이나 최근 수정 시각을 기록해두고, sitemap 생성 시점에 그 값을 XML lastmod 태그로 렌더링한다.
<url>
<loc>https://blog.example.com/about</loc>
<lastmod>2026-06-01</lastmod>
</url>
이런 식으로. 날짜 형식은 ISO 8601을 권장한다(YYYY-MM-DD 또는 YYYY-MM-DDTHH:MM:SSZ).
팀 차원의 회고
이 작업이 작아 보일 수 있지만, 검색 엔진 최적화는 블로그 트래픽의 골간을 이룬다. 우리 팀이 콘텐츠를 만들어도 검색 엔진이 효율적으로 인덱싱하지 못하면 그 가치가 반 이상 줄어든다. 따라서 SEO 관점에서 "불필요한 크롤을 줄인다", "검색 엔진이 메타정보를 정확하게 읽을 수 있게 한다" 같은 작업들은 예상 외로 큰 영향을 가진다.
비슷한 패턴으로, 응답 헤더에 캐시 제어(Cache-Control) 정책을 명확히 한다거나, 콘텐츠 길이(Content-Length)를 정확히 제공하거나, ETag를 활용해서 조건부 요청(conditional request)을 지원하는 것들도 모두 크롤러와 캐시 서버의 효율을 높이는 방법들이다.
이 정도 규모의 개선은 한두 명의 개발자가 쉽게 손볼 수 있지만, 팀 전체의 SEO 감각을 높이려면 "왜 HEAD를 지원하는가?", "lastmod가 왜 필요한가?"를 공유하는 것이 중요했다. 코드 리뷰 때 이런 부분들을 하나둘 짚고 넘어가면, 팀원들도 검색 엔진 친화적인 설계를 자연스레 염두에 두게 된다.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.