AI 크롤러 무엇이 문제인가?
ChatGPT, Claude 등 생성형 AI 서비스의 등장은 인터넷 생태계에 새로운 과제를 던졌습니다. SEO를 준비하는 이들은 이제 GEO(Generative Engine Optimization)를 공부하고 어떻게 하면 실전에 사용할 수 있을지 고민하고 있는 상황이죠. 하지만 이들 생성형 AI 모델을 학습시키기 위한 AI 크롤러(AI Crawlers)가 웹사이트 트래픽의 상당 부분을 차지하며 서버 부하, 비용 증가, 콘텐츠 무단 수집 등 다양한 문제를 야기하는 문제를 만들기도 합니다. 기존 검색엔진 봇과 달리, 이들은 사이트 트래픽 유입에 아직은 많은 기여를 하지 못하면서도 방대한 데이터를 수집해 갑니다.
- AI 크롤러, 왜 문제가 되는가?
- AI 크롤러는 기존 검색엔진 봇과 목적 자체가 다릅니다. 검색엔진 봇이 콘텐츠를 ‘색인’하여 사용자에게 연결해주는 것을 목표로 한다면, AI 크롤러는 대규모 언어 모델(LLM) 학습을 위해 콘텐츠를 ‘수집’이 목적입니다.
- 서버 리소스 과부하 및 비용 증가
- AI 크롤러는 단시간에 대량의 페이지를 공격적으로 요청하는 경향이 있습니다. 이로 인해 서버 트래픽이 급증하고, 특히 공유 호스팅 환경에서는 웹사이트 속도 저하를 유발하여 사용자 경험(UX)과 검색엔진 최적화(SEO)에 악영향을 미칩니다.
- 과도한 트래픽은 고스란히 운영 비용 증가로 이어집니다.
- 콘텐츠 무단 수집과 저작권 문제
- AI 크롤러의 또 다른 논란은 ‘동의 없는 데이터 수집’입니다. 웹사이트 소유자의 명시적 허가 없이 콘텐츠가 AI 모델 학습에 사용되는 것은 저작권 침해 및 윤리적 문제를 야기합니다. 이는 창작자의 권리를 침해할 뿐만 아니라, 콘텐츠가 원본의 맥락과 다르게 왜곡되거나 잘못된 정보와 연관될 위험도 내포합니다.
- 다른 목적이 있을 수는 있지만 뉴욕타임스를 비롯한 많은 콘텐츠 제작사들이 AI 크롤러 차단에 나서고 있습니다. 실제로는 수익으로 연결되지 않기 때문에 차단한 것이라고 보아야 겠지만요.
AI 크롤러의 차단
이 사이트는 SEO를 이야기 하는 곳으로 GEO를 위해서는 AI 크롤러를 차단하는 것은 생각할 필요가 없다고 생각하는 분들의 사이트이기는 합니다. 하지만 위에 나열한 문제를 해결하기 위해서는 어쩔 수 없이 AI 크롤러를 전략적으로 차단할 필요가 있습니다. 가장 기본적인 방법부터 시스템 관리자들의 고급 기술까지 가볍게 살펴보겠습니다.
1단계, 우리들의 친구 robots.txt
SEO를 위해 검색엔진 봇들의 방문을 컨트롤 하기 위한 robots.txt 파일에 대해서는 대부분 잘 아시고 계실겁니다. 크롤러에게 어떤 페이지를 수집할 수 있고 없는지를 알려주는 가장 기본적인 수단입니다. 알려진 대로 robots.txt의 규칙은 ‘강제’가 아닌 ‘요청’이지만, Google, OpenAI 등 대표 AI 기업의 크롤러는 이 규칙을 준수하고 있습니다.
아래의 샘플을 통해 주요 AI 크롤러를 차단해 보시기 바랍니다. AI 크롤러 목록은 GitHub의 ai.robots.txt 프로젝트를 참고하여 주기적으로 업데이트하는 것이 좋습니다.
# Block AI crawlers
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: anthropic-ai
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: Bytespider
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: Applebot-Extended
Disallow: /
User-agent: FacebookBot
Disallow: /
2단계, 메타태그와 HTTP 헤더 설정
HTML 문서의 <head> 섹션에 추가하여 특정 페이지에 대한 규칙을 명시할 수 있습니다. 특히 AI 학습에 대한 거부 의사를 표현하기 위해 noai 및 noimageai 지시어가 제안되었습니다. 아직 공식 표준은 아니지만, 콘텐츠 사용에 대한 의사를 명확히 밝히는 신호로 작용할 수 있습니다.
<!DOCTYPE html>
<html>
<head>
<!-- 페이지 내 모든 콘텐츠의 AI 학습 거부 -->
<meta name="robots" content="noai">
<!-- 페이지 내 이미지의 AI 학습 거부 -->
<meta name="robots" content="noimageai">
<!-- 두 지시어 동시 사용 -->
<meta name="robots" content="noai, noimageai">
<title>My Page</title>
</head>
<body>
...
</body>
</html>
X-Robots-Tag는 HTTP 응답 헤더에 포함되어 메타 태그와 동일한 역할을 합니다. 이 방식의 가장 큰 장점은 PDF, 이미지, 동영상 등 비(非)HTML 파일에도 적용할 수 있으며, 서버 설정을 통해 사이트 전체에 일괄적으로 규칙을 적용할 수 있다는 점입니다.
# Apache (.htaccess) 설정 예시
#.pdf 파일에 대해 AI 학습 및 색인 거부
<FilesMatch "\.pdf$">
Header set X-Robots-Tag "noindex, noai"
</FilesMatch>
# Nginx (nginx.conf) 설정 예시:
# /private/ 디렉토리 하위 모든 파일에 대해 AI 학습 및 색인 거부
location /private/ {
add_header X-Robots-Tag "noindex, noai";
}
