크롤 예산
Crawl Budget
개념
검색 봇이 한 사이트에서 일정 기간에 가져갈 수 있는 페이지 수의 여력으로, 사이트가 클 때 무엇이 먼저 수집될지를 정합니다.
등장 배경
새 페이지를 올리면 검색에 나온다고 생각하기 쉽습니다. 그런데 검색 결과에 오르려면 먼저 봇이 그 페이지에 와야 합니다. 봇이 모든 사이트를 무한정 돌아 주지는 않습니다.
현우가 템플릿 갤러리 8,000개를 한 주에 올렸을 때 드러났습니다. 2주가 지나도 검색에 잡히는 것은 400개쯤이었습니다. 페이지가 잘못된 것도 차단된 것도 아니었습니다. 봇이 아직 오지 않았을 뿐입니다.
더 답답한 것은 봇이 오긴 왔는데 엉뚱한 곳을 돌고 있었다는 점입니다. 정렬과 필터 조합으로 생긴 주소 수만 개를 훑으며 새 템플릿 페이지는 지나쳤습니다. 크롤 예산은 이때 잘못 쓰인 그 여력을 가리키는 이름입니다.
작동 방식
여력의 크기는 두 가지가 함께 정합니다.
- 서버가 버티는 정도 — 봇은 사이트를 느리게 만들지 않으려고 응답 속도를 보며 요청 간격을 조절합니다. 응답이 늦거나 서버 오류가 나면 요청을 줄이고, 빠르게 답하면 늘립니다.
- 수집할 이유 — 자주 바뀌고 사람들이 많이 찾는 사이트에 더 옵니다. 반년째 그대로인 페이지는 방문 간격이 벌어집니다.
그래서 할 일은 여력을 늘리는 쪽보다 낭비를 줄이는 쪽입니다. 낭비는 대개 네 자리에서 생깁니다.
- 조합으로 늘어나는 주소 — 정렬과 필터가 주소에 붙으면 같은 목록이 수백 가지 주소가 됩니다.
robots.txt로 그런 주소를 막습니다. - 같은 내용의 여러 주소 — 대표 주소를 하나 지정해 나머지를 그쪽으로 모읍니다.
- 길게 이어진 주소 이전 — A에서 B, B에서 C로 넘기면 한 페이지에 요청을 세 번 씁니다.
- 없는 페이지 — 사라진 주소로 가는 링크를 내부에 남겨 두면 봇이 계속 찾아갑니다.
먼저 오게 하려면 sitemap.xml 에 중요한 주소를 모아 제출합니다. 크롤링이 끝났다고 검색에 나오지는 않으니 색인까지 됐는지 따로 봅니다. 크롤링은 봇이 페이지를 훑어 가는 과정, 색인은 그것을 검색 대상에 등록하는 과정입니다.
실무 용례
"페이지 300개짜리 사이트예요. 크롤 예산은 신경 쓸 단계가 아닙니다."
규모가 작아 여력이 병목이 아니라는 말입니다.
"봇 요청의 절반이 필터 주소로 가고 있어요.
robots.txt에서 막죠."
여력이 쓸모없는 주소에 쓰이고 있다는 지적입니다.
"이번 주부터 봇 요청이 줄었는데 서버 응답 시간이 같이 올라갔네요."
응답이 느려져 봇이 속도를 줄였다는 뜻입니다.
페이지덱은 갤러리를 올린 뒤 이 항목을 점검 목록에 넣었습니다. 현우가 서버 기록에서 봇이 가져간 주소를 세어 보니 절반 넘게 정렬 조합 주소였습니다. 그 주소를 막고 갤러리 주소만 담은 사이트맵을 다시 제출한 뒤 3주 동안 색인된 페이지가 400개에서 6,000개로 늘었습니다. 페이지를 고친 것은 없었습니다.
같이 보면 좋은 페이지
마지막 업데이트 2026-09-16