- 01먼저 볼 곳서버 로그의 봇 이름과 IP로 진짜 AI 크롤러인지부터 가립니다.
- 02줄일 대상학습용 크롤러는 검색용·사용자 요청용과 설정이 나뉘어 있습니다.
- 03속도 조절Crawl-delay·429·503은 봇마다 받아들이는 방식이 다릅니다.
먼저 로그로 진짜 AI 크롤러인지 가리고, 학습용 크롤러부터 범위를 줄입니다. AI 서비스의 크롤러 요청이 몰리면 서버 응답이 느려지는 경우가 생깁니다. 막지 않고 속도만 낮추려면 봇마다 지원하는 수단이 다르다는 점을 알아야 합니다. 아래 순서는 Google·OpenAI·Anthropic·Perplexity 공식 문서에 근거합니다. 막을지 말지의 기본 판단은 학습 봇과 인용 봇을 구분한 글에서 다뤘습니다.
부하가 AI 크롤러 때문인지는 어떻게 가리나요?
서버 액세스 로그에서 봇 이름별 요청 수를 세고, 요청 IP가 운영사 공개 목록에 있는지 대조합니다.
Google 크롤링 속도 낮추기 문서도 급증 시 액세스 로그로 트래픽 출처부터 파악하도록 권장합니다. Google 일반 크롤러 목록은 사용자 에이전트 문자열의 위조 가능성을 짚습니다. 이름만 보고 판단하면 가짜 봇을 진짜로 오인하기 쉽습니다.
출처: 각 운영사 공식 문서
| 운영사 · 대표 크롤러 | 진위 확인 수단 |
|---|---|
| Google Googlebot | DNS 역방향·순방향 조회, IP 목록 |
| OpenAI GPTBot OAI-SearchBot | 크롤러별 IP 목록(JSON) |
| Anthropic ClaudeBot 등 | 공개 IP 목록 |
| Perplexity PerplexityBot 등 | 크롤러별 IP 목록(JSON) |
Google 요청은 요청 확인 문서의 방법으로 가립니다. 먼저 로그의 IP를 host 명령으로 역방향 조회합니다. 결과는 googlebot.com 같은 Google 도메인이어야 정상입니다. 이어서 그 도메인을 순방향 조회해 원래 IP와 일치하는지 대조합니다.
Google 문서는 급증의 흔한 원인으로 필터·정렬 기능과 날짜별 URL이 많은 캘린더를 꼽습니다. 이런 원인은 크롤러를 막기 전에 URL 구조에서 정리합니다. 관련 기준은 크롤링 예산 글에 있습니다.
어떤 AI 크롤러를 줄여도 검색 노출을 지킬 수 있나요?
학습용 크롤러를 먼저 줄입니다. 검색용·사용자 요청용과 설정이 분리되어 있어, 검색용 크롤러를 허용해 두면 AI 검색 노출은 유지됩니다.
출처: OpenAI·Anthropic·Perplexity 문서
| 역할 · 대표 이름 | 막았을 때 |
|---|---|
| 학습 GPTBot ClaudeBot | 학습 데이터 제외 신호 |
| 검색 색인 OAI-SearchBot Claude-SearchBot PerplexityBot | AI 검색 결과 노출 감소 |
| 사용자 요청 ChatGPT-User Claude-User Perplexity-User | 운영사마다 robots.txt 적용 여부가 다름 |
OpenAI 크롤러 문서에 따르면 각 설정은 서로 독립적입니다. 예시로 GPTBot은 막고 OAI-SearchBot은 허용해 검색 결과에 나오는 방식을 듭니다. 두 크롤러를 모두 허용하면 한 번의 크롤링 결과가 두 용도에 함께 쓰이기도 합니다.
- Google-Extended는 별도 요청 에이전트가 없는 제어용 토큰입니다. 크롤링은 기존 Google 사용자 에이전트로 이뤄집니다.
- 이 토큰은 콘텐츠를 Gemini 모델 학습과 그라운딩에 쓸지 정합니다. Google 검색 포함 여부와 순위에는 영향이 없습니다.
- 로그의 Googlebot 요청이 많다면 4절의 Google 속도 조절 방법을 적용합니다.
차단 범위는 robots.txt로 어떻게 정하나요?
줄일 크롤러 이름마다 그룹을 따로 만들고, 막을 경로를 Disallow로 적습니다.
각 운영사 문서의 예시 형식을 따랐습니다. 검색용 크롤러 그룹은 허용으로 둡니다.
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: OAI-SearchBot
Allow: /Anthropic 문서는 차단할 하위 도메인마다 robots.txt를 각각 두도록 안내합니다. Anthropic은 IP 차단이 robots.txt 읽기를 방해한다고 설명합니다. 그러면 학습 수집 거부가 제대로 유지되지 않을 가능성이 있습니다.
넥스트티는 사이트 전체보다 요청이 몰리는 경로부터 막는 방안을 먼저 검토합니다. 내부 검색 결과나 필터 URL처럼 주소가 끝없이 늘어나는 경로가 대표적입니다.
- robots.txt는 접근을 통제하는 보안 수단이 아닙니다. 표준 문서 RFC 9309가 이를 분명히 합니다.
- 경로를 적으면 오히려 그 경로가 공개됩니다. 민감한 경로는 인증으로 보호해야 합니다.
- ChatGPT-User 요청에는 robots.txt 규칙이 적용되지 않을 수 있습니다. Perplexity-User도 일반적으로 규칙을 따르지 않습니다.
막지 않고 속도만 낮출 수는 있나요?
낮출 수 있지만 수단이 봇마다 다릅니다. Crawl-delay는 지원하는 크롤러에만 통하고, Google에는 일시적인 오류 응답을 씁니다.
출처: 각 운영사 문서. OpenAI·Perplexity 문서에는 속도 조절 규칙이 나오지 않습니다.
| 수단 · 적용 대상 | 주의할 점 |
|---|---|
| Crawl-delay Anthropic 크롤러 | 비표준 확장, Google 미지원 |
| 429·503 응답 Google 크롤러 | 2일 이상 지속 시 색인 삭제 가능 |
| Retry-After 헤더 Google 크롤러 | 재시도 시점 지정(초·날짜) |
| 특별 요청 | 처리에 며칠, 속도 상향 요청 불가 |
Anthropic은 비표준 Crawl-delay 확장을 지원합니다. 문서의 예시는 「Crawl-delay: 1」입니다. Google의 robots.txt 해석 문서는 crawl-delay를 지원하지 않는 필드로 적었습니다. 표준 문서는 정의되지 않은 필드를 해석할지 각 크롤러에 맡깁니다.
Google 문서는 긴급할 때 몇 시간에서 1~2일 동안 500·503·429 응답을 쓰라고 제시합니다. 이런 응답이 많아지면 호스트 이름 전체의 크롤링 속도가 내려갑니다. 오류가 줄면 속도는 자동으로 회복됩니다. Google은 속도를 낮추면 새 페이지 발견과 기존 페이지 갱신이 늦어진다고 경고합니다. HTTP 상태 코드 문서는 401·403을 속도 제한에 쓰지 말라고 당부합니다. 429를 뺀 4xx는 속도에 영향이 없기 때문입니다.
Google 문서의 예시입니다. 120은 초 단위 대기 시간입니다. 좁은 화면에서는 상자를 옆으로 밀면 끝까지 보입니다.
HTTP/1.1 503 Service Unavailable
Retry-After: 120방화벽에서 요청을 제한할 때는 무엇을 지켜야 하나요?
사용자 에이전트와 IP를 함께 맞춰 진짜 봇을 가리고, 허용 규칙을 차단 규칙보다 앞에 놓습니다.
1. IP 목록 확보
OpenAI·Perplexity는 크롤러별 IP 목록을 JSON으로 공개합니다. 목록은 바뀌므로 주기적으로 갱신합니다.
2. 이름과 IP 함께 대조
Perplexity 문서는 사용자 에이전트와 IP를 함께 맞추도록 권장합니다. 이름만 맞는 요청은 위조일 가능성이 남습니다.
3. 규칙 순서 정리
허용 규칙은 차단·검증 규칙보다 위에 배치합니다. Cloudflare의 건너뛰기(Skip) 규칙은 뒤에 실행되는 규칙에만 효력이 있습니다.
4. 로그로 결과 점검
방화벽 설정은 반영까지 시간이 필요할 때가 있습니다. 정상 크롤러 요청이 통과하는지 로그로 봅니다.
방화벽 규칙을 잘못 만들면 검색용 크롤러까지 함께 걸러지기도 합니다. 의도하지 않은 차단을 되돌리는 절차는 AI 크롤러 차단 복구 글에 정리했습니다.
조치 뒤에는 얼마나 지켜봐야 하나요?
넥스트티는 robots.txt를 고친 뒤 하루 정도 지나 같은 시간대의 로그를 비교합니다.
OpenAI 문서는 robots.txt 변경이 검색에 반영되기까지 약 24시간이 걸릴 수 있다고 밝힙니다. Perplexity 문서도 반영 시간을 최대 24시간으로 적었습니다. Google은 robots.txt를 보통 최대 24시간 캐시합니다. 표준 문서도 크롤러가 캐시를 24시간 초과해 쓰지 않도록 권합니다.
공식 문서를 바탕으로 넥스트티가 정리한 순서입니다.
진위 확인
원인 URL 정리
학습용 범위 조절
속도 조절
하루 뒤 로그 비교
조치 뒤 크롤러별 접근 상태는 AI 크롤러 차단 확인에서 점검합니다. 넥스트티가 서버 로그 30일을 직접 센 결과는 로그 실측 글에 있습니다.
참고 자료
- Google 크롤링 인프라 — Google 크롤링 속도 낮추기
- Google 크롤링 인프라 — Google의 일반 크롤러 목록
- Google 크롤링 인프라 — Google 크롤러 및 가져오기 도구의 요청 확인
- Google 크롤링 인프라 — Google에서 robots.txt 사양을 해석하는 방법
- Google 크롤링 인프라 — HTTP 상태 코드가 Google 크롤러에 미치는 영향
- OpenAI — Overview of OpenAI Crawlers
- Anthropic — Does Anthropic crawl data from the web, and how can site owners block the crawler?
- Perplexity — Perplexity Crawlers
- IETF — RFC 9309 Robots Exclusion Protocol