robots.txt로 AI 크롤러 차단하기: GPTBot·ClaudeBot
내 사이트의 글이나 이미지가 AI 학습에 쓰이는 것을 원하지 않는 운영자가 늘고 있습니다. robots.txt에 AI 크롤러의 이름을 적으면 각 회사의 크롤러에 수집을 멈춰 달라고 알릴 수 있습니다. 다만 AI 크롤러에는 ‘학습용’, ‘AI 검색용’, ‘사용자 요청으로 여는 것’이 있어서 어느 것을 막느냐에 따라 영향이 크게 달라집니다. 이 글에서는 주요 AI 크롤러의 이름과 역할, 목적별 robots.txt 작성법, 차단할 때의 주의점을 정리합니다.
AI 크롤러는 세 종류로 나눠서 생각하기
AI 회사 대부분은 용도별로 크롤러 이름을 나눠 두고 있습니다. robots.txt에서는 이름마다 차단 여부를 정할 수 있으므로 먼저 역할의 차이를 알아 두세요.
- 학습용: AI 모델을 만들기 위해 공개된 페이지를 모으는 크롤러. 막으면 앞으로의 학습 데이터에 쓰일 가능성이 줄어듭니다.
- AI 검색용: ChatGPT 검색이나 Perplexity처럼 AI가 답변 속에서 사이트를 소개·인용하기 위해 페이지를 모으는 크롤러. 막으면 그런 답변에서 소개될 기회가 줄어듭니다.
- 사용자 요청에 따른 수집: 사용자가 ‘이 페이지 읽어 줘’라고 했을 때 그 자리에서 페이지를 여는 것. 회사에 따라서는 robots.txt의 적용 대상이 아니라고 밝히고 있습니다.
주요 AI 크롤러의 이름과 역할
| User-agent | 회사 | 역할 |
|---|---|---|
| GPTBot | OpenAI | 학습 |
| OAI-SearchBot | OpenAI | ChatGPT 검색 |
| ChatGPT-User | OpenAI | 사용자 요청에 따른 수집 |
| ClaudeBot | Anthropic | 학습 |
| Claude-SearchBot | Anthropic | Claude 검색 |
| Claude-User | Anthropic | 사용자 요청에 따른 수집 |
| Google-Extended | Gemini 등의 학습·답변에 활용 (구글 검색에는 영향 없음) | |
| Applebot-Extended | Apple | Apple Intelligence 등의 학습 (Apple 검색에는 영향 없음) |
| meta-externalagent | Meta | 학습 |
| CCBot | Common Crawl | 공개 데이터셋 (많은 AI의 학습에 쓰임) |
| Bytespider | ByteDance | 학습 등 |
| Amazonbot | Amazon | Alexa 등 서비스 개선 |
| PerplexityBot | Perplexity | Perplexity 검색 |
이름은 각 회사가 공개한 것이며, 새 크롤러가 생기거나 이름이 바뀌기도 합니다. 차단하기 전에 각 회사의 공식 안내에서 최신 이름을 확인하세요.
목적별 robots.txt 작성법
- 1
AI 학습만 막고 검색·AI 검색에는 노출하기
User-agent: GPTBot / User-agent: ClaudeBot / User-agent: Google-Extended / User-agent: Applebot-Extended / User-agent: meta-externalagent / User-agent: CCBot 6줄 뒤에 ‘Disallow: /’ 1줄을 씁니다. User-agent: * 그룹은 건드리지 않습니다. 영향이 가장 적은 차단 방법입니다.
- 2
AI 검색에서의 인용까지 막기
위 이름에 OAI-SearchBot·Claude-SearchBot·PerplexityBot을 더합니다. ChatGPT나 Perplexity의 답변에서 사이트가 소개될 기회가 줄어들므로, AI를 통한 유입을 기대하는 사이트라면 신중하게 정하세요.
- 3
일부 폴더만 학습에서 제외하기
‘Disallow: /’ 대신 ‘Disallow: /members/’, ‘Disallow: /illust/’처럼 막고 싶은 폴더만 씁니다. 블로그 글은 써도 되지만 일러스트나 유료 글은 쓰지 못하게 하는 식으로 나눌 수 있습니다.
테스터의 ‘AI 크롤러 차단 만들기’에서 ‘학습만 차단’, ‘학습과 AI 검색 차단’, ‘모두 차단’ 중에서 고르면 해당 줄을 한꺼번에 만들 수 있습니다. 만든 줄을 robots.txt에 추가하고, Googlebot은 허용·GPTBot은 차단처럼 의도한 결과가 나오는지 판정으로 확인한 뒤 공개하세요. 여러 이름을 하나의 그룹으로 묶는 방법은 User-agent 작성법에서 설명합니다.
구글 검색·AI 개요에 미치는 영향
- Google-Extended를 막아도 구글 검색 순위나 노출에는 영향이 없습니다.
- 구글 검색의 ‘AI 개요’는 구글 검색의 일부로 취급되므로 Google-Extended로는 막을 수 없습니다. 노출되고 싶지 않다면 페이지의 nosnippet 등의 지정을 사용합니다.
- Googlebot을 막으면 구글 검색 자체에서도 점점 사라지므로, AI 대책이라며 Googlebot을 막는 일은 피하세요.
- Applebot-Extended를 막아도 Siri나 Spotlight 검색에 쓰이는 Applebot에는 영향이 없습니다.
robots.txt로 할 수 있는 것과 없는 것
robots.txt는 ‘이 페이지는 가져가지 말아 주세요’라는 부탁일 뿐 강제력은 없습니다. 이름을 공개하고 robots.txt를 지키겠다고 밝힌 대형 크롤러에는 효과가 있지만, 이름을 속이거나 robots.txt를 읽지 않는 크롤러는 막을 수 없습니다.
- 이미 학습에 쓰인 데이터는 robots.txt를 추가해도 취소되지 않습니다. 효과가 있는 것은 앞으로의 수집입니다.
- 다른 사이트에 옮겨 실린 글이나, 과거에 Common Crawl 같은 데이터셋에 들어간 부분은 내 사이트의 robots.txt로 막을 수 없습니다.
- 확실하게 막고 싶다면 서버나 CDN 설정에서 특정 User-agent나 IP 주소의 접근을 거부하는 방법도 있습니다.
- 페이지를 검색 결과에서 지우는 것과 크롤링을 막는 것은 다른 일입니다. 차이는 robots.txt와 noindex의 차이에서 설명합니다.
자주 묻는 질문
- ChatGPT가 내 사이트를 학습하지 못하게 하려면 어떻게 하나요?
- robots.txt에 ‘User-agent: GPTBot’과 ‘Disallow: /’를 씁니다. OpenAI의 학습용 크롤러가 수집을 멈춥니다. ChatGPT 검색 노출에 쓰이는 OAI-SearchBot은 다른 이름이므로, 검색에는 계속 나오고 싶다면 그대로 둡니다.
- Google-Extended를 막으면 구글 검색 순위가 떨어지나요?
- 떨어지지 않습니다. Google-Extended는 Gemini 등 AI에 쓸지만 정하는 이름이며, 구글 검색의 크롤링이나 순위에는 쓰이지 않습니다.
- AI 크롤러를 막으면 AI 검색에 안 나오나요?
- 학습용인 GPTBot이나 ClaudeBot만 막은 경우, AI 검색용인 OAI-SearchBot이나 Claude-SearchBot은 계속 수집할 수 있습니다. AI 검색용 이름까지 막으면 그 답변에서 소개될 기회가 줄어듭니다.
- robots.txt에 쓰면 AI 학습을 반드시 막을 수 있나요?
- 반드시는 아닙니다. robots.txt는 지킬지 말지를 크롤러에 맡기는 부탁입니다. 대형 회사의 크롤러는 지킨다고 밝히고 있지만, 이미 수집된 데이터나 다른 곳에 옮겨진 데이터는 막을 수 없습니다.
이 글에서 소개한 도구
함께 읽으면 좋은 글
robots.txt 확인 방법: 테스터가 없어진 뒤 차단을 알아보는 순서
Google Search Console에 있던 robots.txt 테스터는 2023년 12월에 제공이 끝나 지금은 ‘robots.txt 보고서’로 바뀌었습니다. 보고서에서는 ‘URL을 넣고 차단되는지 시험하기’를 할 수 없어서 ‘어디서 확인해야 하지?’ 하고 헤매는 사람이 늘었습니다. 이 글에서는 robots.txt를 두는 곳과 여는 법, Search Console 보고서와 URL 검사 도구로 알 수 있는 것·알 수 없는 것, 테스터로 URL별 판정을 확인하는 순서, 수정한 뒤 반영되기까지의 흐름을 정리합니다.
글 읽기 →robots.txt의 User-agent 작성법: *와 Googlebot을 둘 다 쓰면
robots.txt에 ‘User-agent: *’ 그룹과 ‘User-agent: Googlebot’ 그룹을 둘 다 쓰면 Googlebot은 ‘*’의 규칙을 쓰지 않게 됩니다. 이것을 모르고 Googlebot용 그룹을 추가했다가 막아 두었던 페이지가 크롤링되기 시작하는 문제가 흔합니다. 이 글에서는 크롤러가 어느 그룹을 쓰는지 정해지는 방식, Googlebot-Image나 AdsBot-Google 같은 특별한 경우, 그룹 묶는 법과 잘못 쓰기 쉬운 점을 설명합니다.
글 읽기 →robots.txt와 noindex의 차이: 검색 결과에서 지우는 올바른 방법
‘robots.txt로 막았는데 검색 결과에 나온다’, ‘Search Console에 robots.txt에 의해 차단되었지만 색인이 생성됨이라고 뜬다’. 이런 고민의 대부분은 robots.txt와 noindex의 역할을 헷갈린 데서 옵니다. 이 글에서는 크롤링과 색인의 차이, 검색 결과에서 지우고 싶을 때의 올바른 순서, robots.txt의 Noindex·Crawl-delay가 듣지 않는 이유, Search Console에서 자주 보는 메시지와 잘못 쓴 부분 고치는 법을 정리합니다.
글 읽기 →