왜 크롤러를 하나로 뭉뚱그려 막거나 열면 안 되나

"AI 봇 전부 차단" 또는 "AI 봇 전부 허용" 중 하나로 단순하게 접근하는 사이트가 여전히 많습니다. 문제는 같은 회사가 운영하는 크롤러라도 목적이 완전히 다르다는 점입니다. OpenAI는 모델 학습용 GPTBot, 챗GPT 서치 노출용 OAI-SearchBot, 사용자 요청을 대신 수행하는 ChatGPT-User를 별도 user-agent로 분리해 운영하며, robots.txt에서 각각을 독립적으로 제어할 수 있게 설계했습니다(OpenAI 공식 개발자 문서). GPTBot을 통째로 차단하면 콘텐츠가 모델 학습에 쓰이지 않게 막을 수 있지만, 동시에 OAI-SearchBot까지 막아버리면 챗GPT 서치 결과에도 노출되지 않게 됩니다. 즉 "AI 봇 전체 차단"은 학습 데이터 보호와 검색 노출 기회를 동시에 포기하는 선택이라는 점을 알고 결정해야 합니다.

Perplexity 쪽도 마찬가지입니다. PerplexityBot은 색인·학습용 크롤러로 robots.txt를 준수하지만, Perplexity-User는 이용자를 대신해 실시간으로 페이지를 열어보는 에이전트에 가까워 robots.txt를 반드시 따르지는 않는다는 입장이 알려져 있습니다(Perplexity 공식 문서 기준 PerplexityBot 차단은 학습 활용만 막는다고 명시). 따라서 robots.txt에 PerplexityBot만 적어두고 안심하면, 실시간 답변 인용 자체를 막으려던 의도와 어긋날 수 있습니다.

실무적으로 어떤 기본값을 권장할 수 있나

브랜드 입장에서 균형 잡힌 기본값은 대체로 "학습용 크롤러는 선택적으로 차단하고, 검색·인용용 크롤러는 허용한다"는 원칙입니다. robots.txt 예시로는 다음과 같은 구조를 생각해볼 수 있습니다.

User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Perplexity-User
Allow: /

이렇게 설정하면 콘텐츠가 OpenAI 모델 학습 데이터로 그대로 흡수되는 것은 막으면서도, 챗GPT 서치와 퍼플렉시티 답변에는 계속 인용될 수 있는 상태를 유지할 수 있습니다. 다만 이는 하나의 예시 원칙일 뿐이며, 콘텐츠 라이선싱 정책이나 경쟁사 학습 데이터 유출 우려 수준에 따라 회사마다 GPTBot 허용 여부에 대한 판단은 달라질 수 있습니다.

robots.txt만으로 충분한가

robots.txt는 어디까지나 "신사협정"에 가까운 규약입니다. 구글봇·GPTBot·ClaudeBot 등 주요 크롤러는 대체로 이를 준수하지만, ByteSpider 같은 일부 크롤러는 robots.txt를 무시하는 것으로 알려져 있어 robots.txt 설정만으로 완전한 차단을 보장할 수는 없습니다. 정말로 특정 크롤러의 접근을 막아야 하는 상황이라면, 서버·CDN 단에서 user-agent나 IP 대역 기준으로 추가 차단 규칙을 두는 방식을 함께 검토해야 합니다.

설정을 바꾼 뒤에는 무엇을 확인해야 하나

robots.txt를 수정했다고 즉시 결과가 바뀌지는 않습니다. OpenAI 계열 크롤러는 robots.txt 변경 후 검색 결과 반영까지 대략 24시간 정도 지연이 있는 것으로 알려져 있어(정확한 수치가 공식 공개된 것은 아님), 설정을 바꾼 당일에는 예전 상태 그대로 보일 수 있습니다. 실무에서는 robots.txt 수정 직후 서버 로그에서 해당 user-agent의 실제 접속 기록이 새로 남는지부터 확인하고, 하루 이상 지난 뒤에도 원하는 결과가 안 나온다면 그때 재점검하는 순서가 안전합니다.