사이트 운영하면서 robots.txt를 만지다 보면 요즘 GPTBot, ClaudeBot 같은 AI 크롤러를 어떻게 처리해야 할지 고민하게 됩니다.

 

개인적으로는 AI 봇을 전부 차단하는 방식은 이제 좋은 선택이 아니라고 생각합니다.

왜냐하면 AI 봇이라고 다 같은 역할을 하는 게 아니기 때문입니다.

 

어떤 봇은 모델 학습을 위해 콘텐츠를 수집하고, 어떤 봇은 ChatGPT나 Claude 같은 서비스에서 검색 결과를 보여주기 위해 접근하고, 또 어떤 봇은 사용자가 직접 URL을 입력하거나 특정 페이지를 읽어달라고 요청했을 때 접근합니다.

 

이걸 전부 한꺼번에 막아버리면 콘텐츠 학습은 막을 수 있겠지만, 앞으로 중요해질 AI 검색과 답변에서 내 사이트가 노출될 기회까지 같이 막을 수 있습니다.

그래서 저는 아래처럼 목적별로 구분하는 정책이 가장 균형적이라고 봅니다.

1. 검색·AI 답변 노출용 봇은 허용

대표적으로 이런 공식 봇들이 있습니다.

  • OAI-SearchBot
  • Claude-SearchBot
  • PerplexityBot
  • Googlebot
  • Bingbot
  • 네이버 검색봇

이쪽은 일반 검색이나 AI 검색 결과에서 내 콘텐츠를 발견하고 연결하는 역할이기 때문에 특별한 이유가 없다면 허용하는 쪽입니다.

특히 앞으로는 Google SEO뿐 아니라 ChatGPT, Claude, Perplexity 같은 AI에서 **“내 사이트가 출처로 등장하느냐”**도 중요해질 가능성이 높습니다.

2. 사용자가 직접 요청한 페이지 조회도 허용

이것도 학습 크롤링과는 구분해서 보는 게 좋습니다.

대표적으로

  • ChatGPT-User
  • Claude-User
  • Perplexity-User

같은 User-Agent가 있습니다.

 

예를 들어 사용자가 AI에게

“이 URL 내용 읽고 요약해줘.”

라고 요청했을 때 페이지를 가져오기 위한 접근입니다.

 

이것까지 막아버리면 사용자가 내 콘텐츠를 AI를 통해 직접 활용하는 것까지 제한될 수 있습니다.

3. 모델 학습 목적의 수집은 차단

반대로 별도의 동의 없이 내 콘텐츠가 모델 학습 목적으로 수집되는 것은 막는 정책을 선택할 수 있습니다.

대표적으로

  • GPTBot
  • ClaudeBot
  • 기타 확인된 학습 목적 크롤러

등입니다.

 

즉 제가 생각하는 기본 원칙은 간단합니다.

검색과 인용은 허용한다.
사용자가 요청한 조회도 허용한다.
모델 학습은 별도 동의 전까지 차단한다.

 

AI 자체를 차단하는 게 아니라 AI가 내 사이트에 접근하는 목적에 따라 구분하는 것입니다.

4. robots.txt만 믿으면 끝일까?

그것도 아닙니다.

robots.txt는 기본적으로 크롤러에게 사이트 운영자의 정책을 알려주는 역할입니다.

정상적인 공식 봇이라면 이를 준수하겠지만, 정체불명의 봇이나 공격적인 스크래퍼까지 robots.txt를 지켜준다는 보장은 없습니다.

 

그래서 필요하다면 서버에서도 추가로 대응해야 합니다.

  • Rate Limit
  • IP와 User-Agent 검증
  • 과도한 요청에 429 응답
  • 접근 로그 기록 및 모니터링
  • 비정상적인 크롤링 패턴 차단

특히 User-Agent 문자열만 보고 “공식 ChatGPT 봇이네”라고 믿어버리는 것도 조심해야 합니다.

User-Agent는 얼마든지 흉내 낼 수 있기 때문입니다.

바이브코딩 중이라면 AI에게 그냥 시켜도 됩니다

물론 공식 봇 이름이나 정책은 변경될 수 있기 때문에 예전에 작성된 robots.txt를 그대로 복사하기보다는 작업하는 시점의 공식 문서를 확인해서 설정하도록 AI에게 요청하는 것을 추천합니다.

 

저라면 아래 프롬프트를 사용하겠습니다.


AI 크롤러 설정 프롬프트

내 사이트의 robots.txt와 서버 크롤러 정책을 점검해줘.

OpenAI(ChatGPT), Anthropic(Claude), Perplexity 및 주요 검색엔진의 공식 크롤러를 역할별로 구분해서 다음 정책을 적용하고 싶어.

  1. 일반 검색 및 AI 검색·답변 노출을 위한 공식 봇은 허용
  2. 사용자가 직접 URL이나 페이지 조회를 요청할 때 사용하는 공식 봇은 허용
  3. 모델 학습을 목적으로 콘텐츠를 수집하는 크롤러는 차단
  4. Google, Bing, 네이버 등 기존 검색엔진 SEO에는 영향을 주지 않도록 설정
  5. 정체불명 또는 과도한 크롤링에는 서버 Rate Limit 적용
  6. 필요하면 429 응답과 접근 로그 모니터링 적용
  7. User-Agent만 신뢰하지 말고, 공식적으로 검증 가능한 방법이 있다면 IP/역방향 DNS 등도 함께 검토

중요: 기억하고 있는 봇 이름을 그대로 사용하지 말고, 작업을 시작하기 전에 각 서비스의 최신 공식 문서를 확인해 현재 공식 User-Agent 이름과 크롤링 정책을 검증해줘.

먼저 현재 프로젝트의 서버 환경과 기존 robots.txt를 분석하고, 변경할 파일과 예상되는 영향을 설명한 뒤 적용해줘.

검색 노출은 최대한 유지하면서 모델 학습 목적의 수집만 선택적으로 제한하는 것이 목표야.


예전에는 사이트를 만들면 Google SEO부터 생각했습니다.

그런데 이제는 조금 달라지고 있는 것 같습니다.

 

사람이 Google에서 검색해서 들어오는 것뿐 아니라 ChatGPT나 Claude, Perplexity에게 질문하고 AI가 어떤 사이트를 찾아서 답변의 근거로 사용하는지도 중요해지고 있습니다.

 

그래서 앞으로 사이트 운영에서는 단순히

“AI 봇을 막을까, 허용할까?”

보다

“어떤 AI 봇을 어떤 목적으로 허용할 것인가?”

를 결정하는 게 더 중요해질 것 같습니다.

 

저는 일단

검색·인용은 열어두고, 학습은 별도 동의 전까지 차단.

이 정도가 현재로서는 가장 현실적인 기본 정책이라고 생각합니다.