용어집
SEO

로그 파일 분석

로그 파일 분석은 웹 서버의 액세스 로그를 분석해 구글봇 같은 검색엔진 봇이 실제로 어떤 URL을, 언제, 얼마나 자주 크롤하고 어떤 응답 코드를 받는지 파악하는 테크니컬 SEO 기법입니다. 추정이 아니라 서버가 기록한 실제 봇 행동 데이터를 기반으로 크롤 예산 낭비와 크롤 문제를 진단합니다.

  • 로그 파일 분석은 서버 액세스 로그라는 1차 데이터를 통해 검색엔진 봇이 실제로 무엇을 크롤했는지 그대로 확인하는 테크니컬 SEO 기법입니다.
  • Search Console이 구글의 크롤 결정 결과만 보여주는 것과 달리, 로그는 모든 크롤러의 요청을 실시간으로 빠짐없이 기록하므로 더 완전한 그림을 제공합니다.
  • 크롤 빈도, HTTP 상태 코드, 크롤 예산 낭비, 고아 페이지, 봇 위장(스푸핑) 여부까지 파악할 수 있습니다.
  • 수만~수백만 URL 규모의 대형 사이트일수록 크롤 예산 배분이 SEO 성과를 좌우하므로 효용이 큽니다.
  • 대표 도구로는 Screaming Frog Log File Analyser, Semrush Log File Analyzer가 있으며, Apache·Nginx·IIS 로그를 처리합니다.

개요

로그 파일 분석은 웹 서버가 자동으로 남기는 액세스 로그를 내려받아 검토함으로써 버그, 크롤링 문제, 그 외 테크니컬 SEO 이슈를 선제적으로 찾아내는 작업입니다. 서버는 누군가가 페이지를 요청할 때마다 한 줄씩 기록을 남기는데, 이 기록에는 요청 시각, 요청한 IP 주소, 요청한 URL, 반환된 HTTP 상태 코드, 그리고 요청 주체를 식별하는 User-Agent 문자열이 담깁니다. 이 User-Agent를 통해 사람 방문자와 Googlebot, Bingbot, ChatGPT-User 같은 봇을 구분할 수 있습니다.

핵심 가치는 데이터의 성격에 있습니다. Search Console은 구글이 크롤을 마친 뒤의 결과만 보여주는 출력 데이터인 반면, 로그 파일은 봇이 실제로 내린 요청 자체를 기록한 1차 데이터입니다. 즉 "구글이 무엇을 크롤하기로 결정했는가"가 아니라 "구글이 실제로 무엇을 크롤했는가"를 추정 없이 보여줍니다.

알 수 있는 것

로그 파일 분석으로 확인할 수 있는 대표적인 항목입니다.

  • 크롤 빈도 — 어떤 페이지·디렉터리가 자주 크롤되고 어떤 곳이 거의 방문되지 않는지를 측정해 검색엔진이 사이트의 어느 영역을 우선시하는지 파악합니다.
  • 크롤 예산 낭비 — 중복·저가치 URL이 크롤 자원을 과도하게 소모하는지, 정작 중요한 섹션은 충분히 크롤되지 못하는지를 정량화합니다.
  • HTTP 상태 코드 — 봇이 받은 4xx(404 등)·5xx 오류, 리다이렉트 체인, 그리고 같은 경로가 404와 301을 오가는 일관성 없는 상태 코드를 찾아냅니다.
  • 고아 페이지내부 링크가 전혀 연결되지 않은 페이지를 식별합니다. 로그에는 나타나지만 사이트 크롤 맵에는 없는 URL이 고아 페이지 후보입니다.
  • 봇 검증 — User-Agent만으로는 위장이 가능하므로 IP를 역방향 DNS로 검증해 진짜 Googlebot과 스푸핑된 가짜 봇을 구분합니다.
  • 리소스 유형별 소비 — 봇이 HTML, JavaScript, 이미지 등 어떤 파일 유형에 시간을 쓰는지 확인해 크롤 자원이 본질적 콘텐츠에 쓰이는지 점검합니다.

도구

가장 널리 쓰이는 도구는 Screaming Frog Log File Analyser입니다. 데스크톱 앱으로 Apache 로그, W3C Extended 형식(Apache·IIS·NGINX 포괄), Amazon ELB 커스텀 형식을 처리하며, 검색엔진 봇 자동 검증과 스푸핑 IP 식별, 크롤 빈도·상태 코드·응답 시간·고아 URL 대시보드를 기본 제공합니다. 무료 버전은 로그 이벤트 1,000건·프로젝트 1개로 제한되고, 유료는 연 99파운드에 무제한입니다.

Semrush Log File Analyzer는 Combined Log Format, W3C Extended 등을 지원하며 Googlebot 활동 차트로 크롤 빈도의 급등·급락을 모니터링하고, 일관성 없는 상태 코드와 크롤 예산을 낭비하는 저가치 페이지를 짚어 줍니다. 두 도구 모두 Ahrefs·Majestic·Moz 등에서 내보낸 백링크 CSV나 사이트 크롤 데이터를 가져와 교차 분석할 수 있어, 외부 링크 인기도나 내부 링크 구조와 봇 행동을 연결해 볼 수 있습니다.

크롤 예산과의 관계

구글 공식 문서에 따르면 크롤 예산은 크롤 용량 한계(crawl capacity limit)와 크롤 수요(crawl demand)로 결정되며, 사실상 Googlebot이 크롤할 수 있고 크롤하려는 URL의 수를 의미합니다. 구글은 URL 수가 수천 개 미만인 사이트라면 대개 효율적으로 크롤되므로 크롤 예산을 신경 쓸 필요가 없다고 안내합니다. 반대로 URL이 수만~수백만 개에 이르는 대형 사이트에서는 중복·불필요한 URL이 크롤 시간을 잡아먹는 문제가 커지며, 이때 로그 파일 분석이 Googlebot의 크롤 예산이 URL 공간에 어떻게 배분되는지를 정확히 정량화해 줍니다.

근거

Semrush 블로그는 실제 사례로 30일 동안 ChatGPT-User 에이전트가 한 사이트의 약 7,000개 고유 URL을 4만 8천 회 이상 요청한 기록을 제시하며, 로그가 AI 크롤러의 행동까지 포착함을 보여 줍니다(출처: Semrush). 또한 같은 경로가 404와 301 상태 코드를 번갈아 반환하는 패턴이 잘못 설정된 리다이렉트의 신호라고 설명합니다. Screaming Frog는 로그 파일에서 4XX·5XX 오류, 영구·임시 리다이렉트, 시간에 따라 응답 코드가 달라지는 페이지, 평균 바이트·응답 시간으로 본 느린 페이지를 식별할 수 있다고 안내합니다(출처: Screaming Frog). 크롤 예산의 정의와 "수천 URL 미만이면 신경 쓸 필요 없음" 기준은 구글 공식 크롤링 문서에 근거합니다(출처: Google Search Central).

실행 체크리스트

  • 호스팅 제어판이나 FTP, 서버에서 액세스 로그를 충분한 기간(최소 2~4주)으로 내려받습니다.
  • 로그를 Screaming Frog Log File Analyser나 Semrush Log File Analyzer에 임포트하고 형식(Apache·Nginx·W3C·ELB)을 확인합니다.
  • User-Agent의 IP를 역방향 DNS로 검증해 진짜 Googlebot과 스푸핑 봇을 분리합니다.
  • 크롤 빈도순으로 정렬해 자주 크롤되는 영역과 거의 무시되는 중요 페이지를 비교합니다.
  • 4xx·5xx 오류와 리다이렉트 체인, 일관성 없는 상태 코드를 추출해 우선 수정 대상을 정합니다.
  • 로그에 잡힌 URL과 사이트 크롤 맵을 교차 대조해 고아 페이지를 찾아냅니다.
  • 중복·저가치 URL이 크롤 예산을 소모하면 canonical, 리다이렉트, robots.txt, noindex로 정리합니다.
  • 봇 활동 차트로 크롤 빈도의 급등·급락을 주기적으로 모니터링해 서버 이슈나 배포 영향을 감지합니다.

참고·출처

관련 용어