서버 로그에서 AI 크롤러 트래픽 측정 방법 (그리고 평균값이 왜 오해를 불러일으키는지)
요약
본 글은 서버 로그 분석을 통해 AI 크롤러 트래픽을 정확하게 측정하는 방법을 안내합니다. Google Analytics 같은 일반 도구로는 봇 트래픽 측정이 어려우므로, 사용자 에이전트 토큰 기반의 직접적인 서버 로그 확인이 필수적입니다. 또한, 평균값 대신 중앙값을 사용하고 요청 목적별로 분리하여 분석해야 오해를 줄일 수 있습니다.
핵심 포인트
- AI 크롤러 측정은 Google Analytics가 아닌 서버 로그에서 해야 합니다.
- 사용자 에이전트 토큰을 이용해 주요 AI 봇 트래픽을 식별할 수 있습니다.
- 평균값 대신 중앙값을 사용하고, 사이트별 비율의 중앙값을 취해야 정확합니다.
- AI 크롤러 요청은 학습용, 검색 인덱스용, 질문 답변용으로 목적에 따라 분리 보고하는 것이 좋습니다.
웹사이트를 운영한다면, AI 크롤러가 이미 가장 바쁜 봇일 가능성이 높지만, 분석 도구에서는 거의 아무것도 보여주지 않습니다. 봇은 JavaScript를 실행하지 않기 때문에 Google Analytics는 이들을 볼 수 없습니다. 서버 로그를 직접 확인해야 합니다.
저희는 LovedByAI에서 운영하는 소규모 비즈니스 WordPress 사이트를 위한 생성형 엔진 최적화 플랫폼을 통해 매일 이 작업을 수행하고 있습니다. 2026년 9월 6일부터 10월 5일까지 924개 사이트 중, 중앙값(median)으로 측정했을 때 해당 사이트는 Googlebot 요청당 3.1개의 AI 크롤러 요청을 받았습니다. 여기서는 여러분의 사이트에서 같은 것을 측정하는 방법과 대부분의 발표된 수치가 일반적인 사이트가 보는 것보다 훨씬 크게 보이게 만드는 실수를 알려드립니다.
서버 로그에서 AI 크롤러를 식별하는 방법은 무엇인가요?
사용자 에이전트(user agent) 토큰을 통해 합니다. 주요 AI 회사들은 자신들의 크롤러가 보내는 토큰을 공개합니다. 중요한 몇 가지 토큰과 각 운영자가 그것의 용도로 언급한 내용은 다음과 같습니다:
import re
from collections import Counter
from statistics import median
...
몇 개의 토큰은 크롤러처럼 보이지만 실제로는 그렇지 않습니다. Google-Extended와 Applebot-Extended는 뒤에 봇이 없는 robots.txt 스위치이기 때문에 로그에는 절대 나타나지 않습니다. 또한, anthropic-ai와 Claude-Web은 더 이상 사용되지 않으니 계산에 포함하지 마십시오.
어떤 AI 크롤러가 학습용이고 어떤 것이 질문 답변용인가요?
목적(purpose) 열이 양(volume)보다 더 중요합니다. 저희 데이터에서 평균적인 사이트의 경우, AI 크롤러 요청 중 **69.9%**는 학습용이었고, **18.8%**는 AI 검색 인덱스용이었으며, **11.3%**는 사람이 어시스턴트에게 질문을 할 때 촉발된 가져오기(fetches)였습니다.
만약 고객사에게 보고한다면, 이들을 분리하여 보고해야 합니다.
만약 여러분의 사이트에 있는 모든 요청을 합산하여 나누면, 몇몇 트래픽이 폭주하는 사이트가 그 답을 결정하게 됩니다. 여기 세 개의 가상 사이트를 예로 들어보겠습니다. 일반적인 두 사이트와 단일 봇에 의해 집중적으로 크롤링된 한 사이트입니다:
sites = [count_site(lines) for lines in (site_a, site_b, site_c)]
ratios = [r for r in map(ai_per_googlebot, sites) if r is not None]
ai_total = sum(n for s in sites for bot, n in s.items() if bot in AI_CRAWLERS)
...
사이트별로 비율을 먼저 계산한 다음, 그 사이트들의 중앙값(median)을 취하세요. 저희 데이터의 모든 제목에 나오는 숫자가 바로 이 방식입니다. 924개 사이트 전체를 합산했을 때 AI 크롤러는 식별된 봇 트래픽의 63%였지만, 사이트별로 보면 40.7%였습니다.
서버 로그가 볼 수 없는 것은 무엇인가요?
이것들을 신뢰하기 전에 알아야 할 세 가지 사각지대가 있습니다.
캐시된 요청(Cached requests). 페이지 캐시나 CDN이 요청에 응답하면, WordPress는 이를 알지 못합니다. 오리진 로그(origin logs)에서 얻은 모든 카운트는 최소치(floor)일 뿐입니다.
위조 사용자 에이전트(Spoofed user agents). 누구나 헤더에 GPTBot을 보낼 수 있습니다. 저희 로그에서는 대형 크롤러의 요청 중 99% 이상이 각 운영자가 공개한 정확한 형식을 가지고 있었는데, 이는 조잡한 위조를 배제할 수 있게 합니다. 더 나아가, 소스 IP를 OpenAI, Anthropic 등에서 발표하는 범위와 비교해 보세요.
봇처럼 보이는 방문자(Visitors that look like bots). ChatGPT를 통해 클릭하여 온 사람이 일반 브라우저로 도착하면, 보통 utm_source=chatgpt.com으로 태그가 지정됩니다. 이런 트래픽은 크롤링이 아닌 추천(referrals)으로 간주하고 두 가지를 분리해서 계산해야 합니다.
일반적인 소규모 비즈니스 사이트에서 AI 크롤러 트래픽은 어떻게 보이나요?
2026년 9월 6일부터 10월 5일까지의 동일한 924개 사이트를 기준으로:
- 중앙값 사이트에서 약 1,050개의 AI 크롤러 페이지 요청이 발생했으며, 이는 하루 평균 약 35건으로, 11개의 다른 AI 크롤러가 참여했습니다. Googlebot: 345건.
- AI 크롤러는 **79%**의 사이트에서 Googlebot보다 더 많은 요청을 보냈습니다.
- Meta-ExternalAgent가 가장 활동적인 단일 AI 크롤러였으며, 평균 사이트의 AI 요청 중 21.6%를 차지했습니다.
- OpenAI의 크롤러는 ChatGPT가 보내는 방문자 한 명당 중앙값 사이트에서 최소한 하나의 ChatGPT 방문이 있었을 경우 33.7개의 페이지 요청을 했습니다.
전체 표, 산업별 분류 및 방법론은 AI 크롤러 통계 게시물에서 확인할 수 있습니다. 직접 구축하는 것이 번거롭다면, LovedByAI의 Bot Activity와 AI Analytics 화면이 각 WordPress 사이트별로 동일한 분류를 자동으로 보여줍니다.
2026년 9월 6일부터 10월 5일까지 LovedByAI WordPress 플러그인을 실행한 924개 웹사이트의 서버 로그. 특정 사이트는 식별되지 않았습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기