혹시, google bot, 네이버 봇, 다음 봇 등 search engine bot 이 방문자만 늘리는 걸까요?

google analytics 방문자 랑 직접 방문자 체크 값이 너무 차이가 많습니다.

google bot 각종 bot 을 header 값으로 체크할 수 있는 방법도 궁금합니다.

1 답변

0 투표

말씀하신 현상은 검색엔진 봇(bot) 트래픽과 실제 사용자 트래픽의 집계 방식 차이 때문에 자주 발생합니다.

우선 결론부터 말씀드리면, 구글봇·네이버봇·다음봇 같은 검색엔진 크롤러가 서버 방문자 수는 늘릴 수 있지만, Google Analytics(GA) 방문자 수에는 대부분 포함되지 않습니다.
GA는 기본적으로 자바스크립트가 실행되는 실제 브라우저 사용자만 집계하기 때문에, HTML만 긁어가는 봇 트래픽은 제외됩니다.

그래서 이런 상황이 생깁니다.
서버 로그나 직접 만든 방문자 카운터에서는 방문자가 많은데, GA에서는 방문자가 적게 보이는 경우죠. 이건 **GA가 틀린 게 아니라 오히려 더 정확한 “실 사용자 기준”**이라고 보시면 됩니다.


왜 수치 차이가 크게 날까?

  • 서버 로그 / 직접 방문자 체크
    → 모든 HTTP 요청을 집계 (사람 + 봇 + 스캐너 + 모니터링 툴 포함)
  • Google Analytics
    → JS 실행 가능한 실제 사용자만 집계
    → 검색엔진 봇, curl, wget, 서버 모니터링 툴 등은 제외

즉, 서버 기준 방문자 수가 많고 GA 방문자가 적다면 봇 비중이 높은 사이트일 가능성이 큽니다.


봇을 Header 값으로 구분할 수 있을까?

네, 가능합니다. 보통은 User-Agent 헤더로 1차 필터링을 합니다.

대표적인 예시는 다음과 같습니다.

  • Googlebot
    Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
  • NaverBot
    Yeti/1.1 (+http://help.naver.com/robots)
  • DaumBot
    Daumoa/3.0 또는 DaumBot

서버에서 PHP 기준으로 보면 대략 이런 식입니다.

$userAgent = $_SERVER['HTTP_USER_AGENT'];

if (preg_match('/googlebot|yeti|daum|bingbot|slurp/i', $userAgent)) {
    // 검색엔진 봇
}

이렇게 하면 로그 분석용으로 봇/실사용자 분리가 가능합니다.


주의할 점

  • User-Agent는 위조가 가능하기 때문에 100% 신뢰하면 안 됩니다.
  • 더 정확하게 하려면
    • IP 대역 확인 (Googlebot은 공식 IP 공개)
    • reverse DNS 체크
      를 병행하는 것이 좋습니다.
  • GA와 서버 로그 수치를 “맞추려고” 하기보다는
    GA는 사용자 행동 분석용,
    서버 로그는 트래픽/보안 분석용으로 목적을 분리해서 보시는 게 가장 좋습니다.

정리하면,
방문자가 많은데 실제 사용자가 적어 보이는 건 대부분 봇 트래픽 때문이고, GA 수치가 실 사용자에 더 가깝습니다.
봇 체크는 User-Agent + IP 기반으로 가능하고, GA와 서버 로그는 같은 기준으로 비교하면 안 됩니다.

이 방향으로 보시면 헷갈리지 않으실 거예요.

구로역 맛집 시흥동 맛집
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
add
...