봇을 차단하면서도 AdSense 크롤러는 살리는 서버 설정 방법
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
스크래퍼는 막고 검색 봇과 애드센스 콘텐츠 크롤러는 통과시키는 운영 방법을 설명한다. 복잡한 기능 이름보다 먼저 확인할 것은 ‘검색 크롤러’입니다. Googlebot은 검색을 위한 크롤링을 수행합니다. 검색용 접근 문제와 광고용 접근 문제는 서로 다른 보고서와 목적을 가지므로 하나를 해결했다고 다른 쪽까지 해결되는 것은 아닙니다.
이 글의 범위
실제 경험이나 측정 결과를 가정하지 않고, 공식 문서로 확인 가능한 개념과 적용 순서를 일반 가이드로 설명합니다. 제품 버전과 서비스 정책은 바뀔 수 있으므로 적용 전 연결된 공식 문서를 다시 확인하세요.
판단의 출발점
좋은 봇 차단은 많이 막는 설정이 아니라 필요한 사용자는 통과시키고 비싼 남용만 줄이는 설정입니다. ‘검색 크롤러’에서 시작해 ‘AdSense 크롤러’와의 경계를 정하면 구현할 범위와 실패했을 때 확인할 지점을 구분하기 쉬워집니다.
크롤러를 한 묶음으로 보면 안 되는 이유
검색 크롤러
Googlebot은 검색을 위한 크롤링을 수행합니다. 검색용 접근 문제와 광고용 접근 문제는 서로 다른 보고서와 목적을 가지므로 하나를 해결했다고 다른 쪽까지 해결되는 것은 아닙니다.
AdSense 크롤러
Mediapartners-Google은 페이지 내용을 파악해 관련 광고를 제공하기 위해 접근합니다. AdSense에는 사이트 추가 검증에 쓰이는 Google-Display-Ads-Bot도 있습니다.
robots.txt
광고 크롤러도 robots.txt의 관련 규칙을 확인합니다. 광범위한 Disallow를 추가할 때 광고가 노출되는 페이지까지 막지 않았는지 확인합니다.
경로별 제한
검색, 로그인, API, 일반 글은 비용과 남용 가능성이 다릅니다. 모든 요청에 같은 제한을 걸기보다 비싼 경로에만 작은 burst와 명확한 오류 코드를 적용합니다.
검증된 예외
User-Agent만으로 우회시키면 공격자가 그대로 흉내 낼 수 있습니다. 허용이 필요하면 공식 검증 절차와 IP 범위를 사용하고 결과를 기록합니다.
| 봇을 차단하면서도 AdSense 크롤러는 살리는 서버 설정 방법 핵심 판단 흐름 설명용 개념도 |
그림 1. 봇을 차단하면서도 AdSense 크롤러는 살리는 서버 설정 방법의 핵심 판단 순서를 정리한 설명용 개념도입니다. 실제 서비스 화면, 운영 로그 또는 측정 결과가 아닙니다.
광고와 검색을 함께 막는 실수
- User-agent: * 아래의 광범위한 차단 효과를 확인하지 않기
- 모든 봇 요청에 짧은 제한을 적용해 정상 크롤링까지 지연시키기
- AdSense 크롤러 오류를 Search Console 색인 문제와 같은 것으로 해석하기
- 허용 목록을 만들고도 정기적으로 검증·갱신하지 않기
차단 정책을 배포하는 순서
- 최근 로그에서 정상 사용자, 검증된 Google 요청, 미확인 자동 요청을 분류합니다.
- 비용이 큰 경로와 반복 공격 패턴을 찾아 해당 경로에만 제한 초안을 만듭니다.
- dry run 또는 낮은 로그 수준으로 예상 차단 대상을 먼저 관찰합니다.
- robots.txt와 방화벽에서 광고 크롤러를 명시적으로 막는 규칙이 없는지 확인합니다.
- 배포 뒤 AdSense의 크롤러 오류와 Nginx의 429·5xx 변화를 함께 모니터링합니다.
운영 전 빠른 점검
| 확인 항목 | 질문 |
|---|---|
| 첫 기준: 검색 크롤러 | 변경 전에 전제와 목적을 확인했는가? |
| 분리 대상: AdSense 크롤러 | 다른 책임과 섞이지 않게 경계를 정했는가? |
| 피할 패턴: User-agent: * 아래의 광범위한 차단 효과를 확인하지 않기 | 본문에서 경고한 패턴이 남아 있지 않은가? |
| 오류와 복구 | 정상 경로뿐 아니라 실패와 되돌리기도 확인했는가? |
마무리
좋은 봇 차단은 많이 막는 설정이 아니라 필요한 사용자는 통과시키고 비싼 남용만 줄이는 설정입니다. 검색용, 광고용, 미확인 자동 요청을 분리하고 경로별로 정책을 적용하면 보안과 접근성을 함께 지킬 수 있습니다.
댓글
댓글 쓰기