robots.txt 작성법: AI 크롤러 허용·차단 예시

2026. 10. 16. · 문하율 (매니저)

robots.txt로 AI 크롤러를 가려 받을 수 있을까?

robots.txt 파일하나로 모델 학습용 봇과 검색·인용용 봇을 따로 끊을 수 있습니다. GPTBot은 막으면서 OAI-SearchBot은 열어 두는 식입니다. 클라우드플레어 집계에서 2026년 3분기 AI 봇 요청 차단률은 13.47%까지 올라왔습니다. 1년 전 같은 분기는 5.98%였습니다. 다만 robots.txt는 접근을 막는 문일 뿐 색인을 지우는 지우개가 아닙니다. 봇 이름을 목적별로 갈라 적는 순서가 AI 답변에 우리 브랜드 이름이 남는지를 가릅니다.

robots.txt로 AI 크롤러를 가려 받을 수 있을까? 인포그래픽

목차

robots.txt 한 줄 때문에 인용이 끊겼던 사례

robots.txt에 남아 있던 Disallow: /blog/ 한 줄 때문에 B2B SaaS 기업의 AI 답변 인용이 10주 동안 월 42건에서 3건으로 내려앉은 일이 있습니다. AI 정책을 바꿔서가 아니라 스테이징 서버에서 쓰던 설정이 운영 서버로 그대로 따라 올라왔기 때문입니다.

지오랭크가 2026년 상반기에 진단을 맡은 SaaS 기업 D사의 사례입니다. 사이트를 리뉴얼하면서 개발팀이 테스트용 robots.txt를 그대로 배포했습니다. 블로그 경로 전체가 막혔으니 ChatGPT와 퍼플렉시티는 D사의 가장 좋은 콘텐츠 170여 편을 아예 열어 볼 수 없었습니다. 서버 로그에서 GPTBot 요청은 월 1,180건에서 9건으로 줄어 있었습니다.

여기서 지오랭크도 한 번 헛다리를 짚었습니다. 막힌 줄을 걷어내고 2주를 기다렸는데 인용이 돌아오지 않아 llms.txt와 구조화 데이터를 먼저 의심했습니다. 실제 원인은 다른 곳에 있었습니다. 리뉴얼 기간에 robots.txt가 간헐적으로 500 응답을 내보냈습니다. 구글 문서에 적힌 대로 크롤러는 그 경우 최대 30일까지 예전에 받아 둔 robots.txt를 그대로 재사용합니다. 캐시가 풀릴 때까지는 파일을 아무리 고쳐도 바깥에서는 옛 규칙이 살아 있는 셈입니다.

응답 코드를 200으로 고정하고 사이트맵 줄을 다시 붙인 뒤 6주째에 월 인용이 37건으로 올라왔습니다. 완전히 제자리는 아니었습니다. 공백 기간에 경쟁사 페이지가 인용 자리를 가져간 질문이 네 개 남았는데요 그 자리는 다시 콘텐츠로 밀어내야 했습니다. robots.txt 사고는 복구가 되긴 하지만 공짜로 되지는 않습니다.

robots.txt란 무엇인가요?

robots.txt는 사이트 최상위 경로에 두는 평문 파일로 어떤 크롤러가 어떤 경로에 접근해도 되는지를 알려 주는 안내문입니다. 강제력이 있는 자물쇠가 아니라 규칙을 지키기로 한 봇에게만 통하는 약속입니다.

주소는 언제나 https://도메인/robots.txt입니다. 규칙은 그 파일이 올라간 호스트와 프로토콜, 포트에만 적용됩니다. blog.example.com처럼 서브도메인을 따로 쓰면 그 서브도메인에 robots.txt를 따로 둬야 합니다. 구글은 파일을 500KiB까지만 읽고 그 뒤는 버립니다. 내용은 보통 24시간 정도 캐시됩니다.

줄 문법은 다섯 가지면 거의 끝납니다.

줄뜻놓치기 쉬운 점
User-agent아래 규칙을 적용할 봇 이름봇 이름은 대소문자를 가리지 않습니다
Disallow접근을 막을 경로경로는 대소문자를 가립니다. /Blog/와 /blog/는 다릅니다
Allow막은 범위 안에서 다시 열어 줄 경로규칙이 겹치면 경로 글자가 더 긴 쪽이 이깁니다
Sitemap사이트맵 전체 주소프로토콜과 도메인까지 적어야 합니다
#주석봇은 읽지 않습니다. 사람을 위한 메모입니다

경로 표기에는 *와 $를 쓸 수 있습니다. *는 아무 글자가 0개 이상 온다는 뜻이고 $는 주소가 거기서 끝난다는 뜻입니다. 줄 끝에 붙인 *는 의미가 없어서 무시됩니다. /fish*와 /fish는 똑같이 읽힙니다.

작성 순서는 이렇게 잡으면 헷갈리지 않습니다.

  1. 지금 올라가 있는 robots.txt를 먼저 받아 봅니다. 없으면 빈 파일에서 시작합니다
  2. 서버 로그에서 최근 30일 동안 실제로 찾아온 봇 이름을 뽑습니다
  3. 뽑은 이름을 학습용과 검색·인용용으로 두 줄로 나눠 적습니다
  4. 학습용 중 막을 것만 Disallow: /를 줍니다
  5. 마지막에 User-agent: *와 Sitemap 줄을 붙입니다
  6. 올린 뒤 서치콘솔 robots.txt 보고서로 실제로 읽히는 내용을 확인합니다

AI 크롤러는 종류별로 무엇이 다른가요?

AI 크롤러는 모델을 학습시키는 봇, 검색 색인을 만드는 봇, 사용자가 질문할 때 그 자리에서 페이지를 열어 보는 봇 세 갈래로 나뉩니다. 운영사가 같아도 이름이 다르면 하는 일이 다릅니다. 이 구분을 모르고 회사 이름만 보고 막으면 학습을 막으려다 인용까지 같이 잃습니다.

봇 이름운영사용도막으면 생기는 일
GPTBotOpenAI파운데이션 모델 학습학습 데이터에서 빠집니다. ChatGPT 검색 노출은 유지됩니다
OAI-SearchBotOpenAIChatGPT 검색 색인ChatGPT 검색 답변에 사이트가 뜨지 않습니다
ChatGPT-UserOpenAI사용자 요청으로 페이지 열람사용자가 띄운 요청이라 robots.txt 규칙 대상이 아니라고 안내됩니다
OAI-AdsBotOpenAI광고 랜딩 페이지 안전성 검사학습에는 쓰이지 않습니다
ClaudeBotAnthropic모델 학습용 수집학습 데이터에서 빠집니다
Claude-SearchBotAnthropic검색 결과 품질 개선Claude 검색 답변의 근거에서 밀립니다
Claude-UserAnthropic사용자 질문 시 접속사용자가 물어도 페이지 내용을 받아 가지 못합니다
PerplexityBotPerplexity검색 결과 노출과 링크퍼플렉시티 답변에 링크가 걸리지 않습니다. 모델 학습용은 아닙니다
Perplexity-UserPerplexity사용자 요청 열람사용자 요청이라 robots.txt를 따르지 않는다고 공개돼 있습니다
Google-ExtendedGoogle제미나이 학습과 그라운딩제미나이 학습에서 빠집니다. 구글 검색 포함 여부나 순위에는 영향이 없습니다
GooglebotGoogle구글 검색 색인구글 검색과 AI 개요에서 함께 사라집니다
CCBotCommon Crawl공개 코퍼스 수집이 코퍼스를 쓰는 여러 모델의 학습에서 빠집니다

표에서 Google-Extended 줄을 가장 눈여겨봐야 합니다. 구글은 이 토큰이 "구글 검색 포함 여부에 영향을 주지 않고 구글 검색의 순위 신호로도 쓰이지 않는다"고 명시합니다. 제미나이 학습만 빼고 싶을 때 쓰는 유일한 안전한 손잡이인데요 반대로 Googlebot을 막으면 구글 검색과 AI 개요가 통째로 날아갑니다. 두 이름을 혼동하는 실수가 지오랭크가 본 사고 중 가장 비쌌습니다.

사용자 요청형 봇은 성격이 또 다릅니다. ChatGPT-User, Claude-User, Perplexity-User는 사람이 직접 질문을 던져 생긴 요청이라 robots.txt 규칙을 그대로 따르지 않습니다. 이 트래픽을 막고 싶다면 robots.txt가 아니라 방화벽이나 CDN의 봇 관리 기능을 써야 합니다.

robots.txt는 어떻게 작성하나요?

실무에서 쓰는 robots.txt는 전체 허용, 학습 봇만 차단, 특정 경로만 차단 이 세 가지 틀에서 거의 벗어나지 않습니다. 아래 예시를 그대로 복사해 도메인만 바꿔 쓰면 됩니다.

첫 번째 틀은 AI 검색 노출을 최대한 가져가는 설정입니다. 콘텐츠 자체가 영업 자산인 B2B나 서비스업에 맞습니다.

# 1. 전체 허용 - AI 검색 노출 우선
User-agent: *
Allow: /

Sitemap: https://example.com/sitemap.xml

두 번째 틀은 학습은 막고 인용은 살리는 설정입니다. 기사나 유료 리포트처럼 콘텐츠를 파는 쪽이 많이 씁니다.

# 2. 학습 봇만 차단, 검색·인용 봇은 허용
User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: Claude-SearchBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Googlebot
Allow: /

User-agent: *
Allow: /

Sitemap: https://example.com/sitemap.xml

세 번째 틀은 봇은 다 받되 보여 줄 필요가 없는 경로만 닫는 설정입니다. 관리 화면이나 검색 결과 페이지, 장바구니처럼 색인 가치가 없는 주소가 대상입니다.

# 3. 특정 경로만 차단
User-agent: *
Disallow: /admin/
Disallow: /cart
Disallow: /search?
Disallow: /*?sort=
Allow: /

Sitemap: https://example.com/sitemap.xml

세 틀 중 무엇을 고를지는 콘텐츠가 유입 수단인지 판매 상품인지로 갈립니다. 콘텐츠로 리드를 받는 회사라면 학습 봇까지 열어 두는 편이 유리할 때가 많습니다. 모델이 브랜드를 기억하는 통로가 학습 데이터이기 때문입니다. 반대로 콘텐츠 열람 자체가 매출인 매체라면 두 번째 틀이 기본값입니다.

AI 크롤러를 막으면 AI 답변 인용도 사라지나요?

학습용 봇만 막는다면 인용은 대체로 남습니다. 검색용 봇까지 같이 막으면 인용은 바로 사라집니다. 두 봇을 구분하지 않고 "AI 차단"으로 뭉쳐 처리하는 순간 AI 검색 유입을 스스로 끊는 셈입니다.

차단 흐름 자체는 이미 업계 평균이 됐습니다. 클라우드플레어 네트워크 기준 AI 봇 요청 차단률은 2026년 3분기 13.47%로 1년 전 5.98%에서 두 배 넘게 올랐습니다. robots.txt 파일 4,242개를 뜬 스냅샷에서 GPTBot은 허용하는 사이트 1곳당 차단하는 사이트가 1.6곳이었습니다. 레이더가 파싱한 robots.txt 중 18.5%가 GPTBot을 이름으로 언급합니다. AI 크롤러 가운데 가장 많이 호명되는 이름입니다.

학계 쪽 관측도 같은 방향입니다. 1만 4천 개 도메인을 추적한 2024년 연구에 따르면 1년 사이 C4 코퍼스 토큰의 5% 이상이 robots.txt로 완전히 닫혔습니다. 활발히 관리되는 핵심 출처로 범위를 좁히면 28% 이상입니다. 이용약관 기준으로 보면 C4의 45%가 크롤링 제한 아래 있습니다. 같은 사이트의 약관과 robots.txt가 서로 다른 말을 하는 경우도 적지 않았습니다.

이 흐름을 따라가며 전면 차단을 택한 쪽에서 문제가 생깁니다. 지오랭크가 본 제조업 H사는 사내 보안 정책 검토 뒤 AI 봇 이름 11개를 한꺼번에 Disallow: /로 막았습니다. 3개월 뒤 브랜드명과 제품군을 묻는 질문 25개를 ChatGPT와 퍼플렉시티에서 확인했는데 H사가 출처로 잡힌 답변은 0건이었습니다. 같은 질문에서 유통 대리점과 가격 비교 사이트가 대신 인용됐습니다. 제품 사양을 가장 정확히 아는 쪽이 설명권을 잃은 상태였습니다.

H사는 결국 학습용 4개만 남기고 검색·인용용 봇을 되돌렸습니다. 5개월째에 25개 질문 중 11개에서 다시 출처로 잡혔습니다. 차단 여부는 보안 부서 혼자 정할 문제가 아닙니다. 마케팅이 잃을 노출을 같이 계산해야 합니다. 반대 의견도 있습니다. 학습 데이터로 콘텐츠가 통째로 쓰이는 것을 보상 없이 두면 장기적으로 매체 생태계가 버티지 못한다는 지적인데요 이쪽 논리도 충분히 설득력이 있습니다. 지오랭크는 그래서 전면 차단과 전면 허용 사이에서 자산 성격별로 경로를 쪼개는 방식을 권합니다. 공개 블로그는 열고 유료 자료실은 닫는 식입니다.

AI 크롤러 통제를 더 깊게 보고 싶다면 자바스크립트로 콘텐츠를 선택적으로 보호하는 방법을 다룬 LLM 클로킹 가이드가 robots.txt 다음 단계를 설명합니다.

robots.txt에서 자주 하는 실수는?

robots.txt 사고의 대부분은 문법 자체가 아니라 robots.txt가 하는 일을 잘못 안 데서 나옵니다. 특히 "막으면 검색 결과에서 사라진다"는 오해가 가장 흔합니다.

실수실제로 벌어지는 일바로잡는 방법
색인에서 빼려고 Disallow를 씀다른 사이트가 링크하면 주소는 그대로 검색 결과에 남습니다. 설명만 빠집니다페이지를 열어 두고 noindex 메타 태그를 씁니다
Disallow와 noindex를 같이 씀봇이 페이지를 못 읽으니 noindex를 발견하지도 못합니다둘 중 하나만 씁니다. 색인 제거가 목적이면 noindex
/Blog/로 적고 /blog/를 막은 줄 앎경로는 대소문자를 가려서 아무것도 막히지 않습니다실제 주소를 그대로 복사해 붙입니다
Disallow: /blog로 적음/blog-2026, /blogroll까지 함께 막힙니다폴더만 막을 땐 끝에 슬래시를 붙여 /blog/로 씁니다
Disallow: /private/*로 적음줄 끝 와일드카드는 무시되어 /private/와 같습니다그냥 /private/로 적습니다
서브도메인에 파일을 안 둠루트 도메인 규칙은 서브도메인에 적용되지 않습니다서브도메인마다 robots.txt를 따로 둡니다
404나 5xx를 내보냄404는 규칙이 없는 것으로 처리되고 5xx는 옛 캐시가 최대 30일 살아 있습니다응답 코드를 200으로 고정합니다
Crawl-delay로 전체 속도를 조절구글은 이 줄을 지원하지 않습니다서치콘솔 크롤링 속도 설정이나 서버단 제한을 씁니다

규칙이 겹칠 때의 우선순위도 자주 틀립니다. 구글은 경로 글자 수가 더 긴 규칙을 따릅니다. 길이가 같으면 덜 제한적인 쪽, 즉 Allow가 이깁니다. Disallow: /docs/와 Allow: /docs/public/가 함께 있으면 공개 폴더만 열립니다.

작성한 robots.txt는 어떻게 확인하나요?

robots.txt는 올리고 끝이 아니라 봇이 실제로 그렇게 읽었는지까지 확인해야 합니다. 파일 내용과 봇이 보는 내용이 다른 경우가 생각보다 자주 있습니다.

확인은 네 단계로 하면 빠짐이 없습니다.

  1. 원본 확인: curl -I https://도메인/robots.txt로 응답 코드가 200인지 봅니다. 301이 여러 번 겹치면 크롤러는 다섯 번까지만 따라갑니다
  2. 구글이 보는 내용 확인: 서치콘솔의 robots.txt 보고서에서 마지막으로 읽은 시각과 내용을 봅니다. 파일을 고쳤는데 옛 내용이 보이면 캐시가 아직 남은 상태입니다
  3. 특정 주소 판정: 서치콘솔 URL 검사로 중요한 페이지가 "robots.txt에 의해 차단됨"으로 나오지 않는지 확인합니다
  4. 서버 로그 대조: 최근 30일 로그에서 봇 이름별 요청 수를 셉니다. 허용했는데 요청이 0이면 CDN이나 방화벽이 앞단에서 막고 있다는 뜻입니다

네 번째 단계를 빼먹는 경우가 많습니다. robots.txt는 열려 있는데 CDN의 봇 관리 규칙이 AI 크롤러를 403으로 돌려보내는 상황이 지오랭크 진단에서 꾸준히 나옵니다. robots.txt만 보고 "허용했다"고 판단하면 원인을 영원히 못 찾습니다.

로그에 찍힌 봇 이름을 그대로 믿는 것도 위험합니다. 사용자 에이전트 문자열은 누구나 똑같이 적어 넣을 수 있습니다. OpenAI와 퍼플렉시티는 공식 IP 목록을 JSON으로 공개하니 중요한 판단은 IP를 맞춰 보고 내려야 합니다. 사이트 인프라 전반을 점검하려면 AI 검색 기술 SEO 5대 기둥에서 크롤 가능성과 렌더링까지 함께 보시는 편이 좋습니다. 봇 접근 상태를 자동으로 훑고 싶다면 지오랭크 스캐너로 현재 설정을 먼저 떠 보실수 있습니다.

robots.txt 자주 묻는 질문

robots.txt 없이 그냥 두면 어떻게 되나요? 파일이 없으면 크롤러는 제한이 없는 것으로 보고 사이트 전체를 돌아봅니다. 작은 사이트라면 문제가 되지 않습니다. 다만 사이트맵 위치를 알려 줄 자리가 없어지고 관리 화면이나 내부 검색 결과 페이지까지 크롤 예산을 먹습니다. 빈 파일보다는 전체 허용 규칙과 Sitemap 한 줄만 적어 두는 편이 낫습니다.
GPTBot을 막으면 ChatGPT에서 우리 회사가 안 나오나요? 그렇지 않습니다. GPTBot은 모델 학습용이고 ChatGPT 검색 답변에 사이트를 띄우는 봇은 OAI-SearchBot입니다. GPTBot만 막고 OAI-SearchBot을 열어 두면 ChatGPT 검색에서 출처로 잡힐 가능성은 그대로 남습니다. 다만 학습 데이터에 브랜드 정보가 쌓이지 않으니 검색 없이 모델 기억만으로 답하는 질문에서는 불리해집니다.
Google-Extended를 막으면 구글 검색 순위가 떨어지나요? 구글은 Google-Extended가 구글 검색 포함 여부에 영향을 주지 않고 순위 신호로도 쓰이지 않는다고 문서에 명시했습니다. 제미나이 학습과 그라운딩에만 적용됩니다. 반면 Googlebot을 막으면 구글 검색과 AI 개요에서 함께 빠지니 두 이름을 반드시 구분해야 합니다.
robots.txt로 막은 페이지가 왜 아직 검색에 보이나요? robots.txt는 접근을 막는 수단이지 색인을 지우는 수단이 아닙니다. 다른 사이트가 그 주소를 링크하고 있으면 구글은 내용을 읽지 못한 상태로도 주소를 결과에 남겨 둘 수 있습니다. 검색 결과에서 완전히 빼려면 Disallow를 풀고 페이지에 noindex 메타 태그를 넣어 봇이 그 신호를 읽게 해야 합니다.
수정한 robots.txt는 언제 반영되나요? 구글은 robots.txt를 보통 24시간 정도 캐시합니다. 급하면 서치콘솔 robots.txt 보고서에서 재크롤을 요청할 수 있습니다. 주의할 점은 서버가 5xx를 내보낸 적이 있는 경우입니다. 그때는 크롤러가 최대 30일까지 예전 내용을 계속 쓸 수 있어서 파일을 고쳐도 한동안 옛 규칙이 적용됩니다.
AI 봇 요청이 너무 많아 서버가 느려지면 어떻게 하나요? 구글은 Crawl-delay 줄을 지원하지 않지만 Anthropic은 ClaudeBot에 Crawl-delay를 적용할 수 있다고 안내합니다. 봇별 지원 여부가 갈리니 robots.txt만으로 부하를 잡기는 어렵습니다. CDN 캐시 적중률을 올리고 요청 속도 제한을 서버단에 두는 쪽이 확실합니다. 응답이 느려 봇이 타임아웃으로 돌아가면 인용 기회 자체가 사라집니다.

이어서 보면 좋은 글

참조논문

START GEO NOW

AI 검색에서 먼저 추천되고 싶다면
지오랭크에 문의하세요

브랜드의 현재 상황과 목표를 알려주시면, 지오랭크가 GEO 전략과 예상 로드맵을 제안해 드립니다. 지금 문의하면 3개월 안에 AI 답변에서의 변화를 함께 확인할 수 있습니다.