GEO · 실무

robots.txt를 어떻게 읽습니까

한 줄씩 뜯어보면 어렵지 않습니다

robots.txt는 사이트가 로봇에게 주는 안내문입니다. 두 줄이 한 쌍으로 움직이고, 그 쌍만 읽을 줄 알면 됩니다.

두 줄이 한 쌍입니다

User-agent: GPTBot
Disallow: /

첫 줄은 누구에게, 둘째 줄은 무엇을 금지하는지입니다. 위 두 줄은 "GPTBot이라는 로봇에게, 사이트 전체(/) 접근을 금지한다"는 뜻입니다.

Disallow: 뒤가 비어 있으면 금지하는 게 없다는 뜻이고, Allow: /는 명시적으로 허용한다는 뜻입니다.

이 두 줄 짝만 읽을 줄 알면 나머지는 응용입니다.

자주 보이는 형태 네 가지

이렇게 적혀 있으면
User-agent: *
Disallow:
모든 로봇에게 전부 허용
User-agent: *
Disallow: /
모든 로봇에게 전부 금지 (전면 차단)
User-agent: GPTBot
Disallow: /
GPTBot만 차단, 나머지는 별도 규칙 적용
Disallow: /admin/관리자 폴더만 금지, 나머지는 허용

둘째 줄 형태가 가장 위험합니다. 개발 중에 막아두고 그대로 공개된 경우가 종종 있습니다.

이 상태면 AI뿐 아니라 일반 검색에서도 사라집니다. 그래서 이건 발견되면 우선순위가 가장 높습니다.

알아둘 이름 몇 개

GPTBotOAI-SearchBot은 ChatGPT 쪽입니다. ClaudeBot Claude-SearchBot은 Claude 쪽이고요. Google-Extended는 구글이 AI 생성·학습 용도로 쓰는 것을 따로 뺀 이름입니다. 이걸 막아도 일반 구글 검색 노출에는 영향이 없습니다. 이 둘을 헷갈려서 막아두는 경우가 있습니다. PerplexityBot CCBot도 자주 보입니다. 특히 CCBot은 여러 곳이 공용으로 쓰는 자료를 모으는 쪽이라, 여기가 막히면 이름을 직접 나열하지 않은 서비스에서도 빠질 수 있습니다. User-agent: *는 위에 따로 언급되지 않은 나머지 전부라는 뜻입니다.

순서에 따라 뜻이 달라집니다

같은 로봇에 대한 규칙이 여러 개면 더 구체적인 규칙이 우선합니다.

그래서 위에서 전체 허용을 해두고 아래에서 특정 봇만 막는 구성이 흔합니다. 이때 아래쪽만 보고 "다 막혔네"라고 판단하면 틀립니다.

반대로 User-agent: *Disallow: /가 걸려 있는데 위쪽에 아무 예외가 없으면 사실상 전부 차단입니다.

읽으실 때는 내가 찾는 봇 이름이 따로 나와 있는지 먼저 보고, 없으면 * 규칙을 보시면 됩니다.

robots.txt가 전부는 아닙니다

이건 안내문이지 잠금장치가 아닙니다. 규칙을 지키는 것은 각 로봇의 정책이고, 법적 강제는 아닙니다.

그리고 열려 있다고 반드시 읽어가는 것도 아닙니다. 문을 여는 건 필요조건이지 충분조건이 아닙니다.

다만 닫혀 있으면 나머지가 전부 무의미해집니다. 그래서 맨 앞에서 봅니다.

robots.txt 외에 페이지마다 걸리는 noindex 설정도 있습니다. 이건 소스를 봐야 확인되는데, 관리 도구에서 실수로 켜두는 경우가 있습니다.

고칠 때 주의할 것

수정 전 확인
  • 지금 파일을 그대로 복사해 어딘가에 저장해둔다 (되돌릴 수 있게)
  • 왜 막혀 있었는지 먼저 확인한다 — 이유가 있어서 막은 것일 수 있다
  • 관리자·결제 같은 페이지는 계속 막아둔다
  • 고친 뒤 주소를 다시 열어 반영됐는지 눈으로 본다
  • 호스팅이 자동 생성하는 경우, 파일이 아니라 설정에서 꺼야 할 수 있다

마지막 항목이 헷갈리는 지점입니다. 파일을 고쳐도 호스팅이 덮어쓰면 그대로 돌아옵니다.

저희 사이트가 그런 경우였습니다. 파일이 아니라 서비스 설정에서 켜져 있었습니다.

실제로 자주 보는 상태 세 가지

파일이 아예 없는 경우 — 주소를 치면 404가 뜹니다. 대개 막혀 있지 않다는 뜻이라 급하지 않습니다. 다만 나중에 특정 페이지만 막고 싶어질 때를 위해 만들어두는 편이 낫습니다. AI 봇만 골라 막아둔 경우 — 호스팅이나 보안 서비스가 켜둔 것일 가능성이 큽니다. 설정에서 끄면 됩니다. 파일만 고치면 다시 덮어써질 수 있습니다. 전면 차단이 남아 있는 경우 — 개발 중 설정이 그대로 공개된 상태입니다. 이건 AI만이 아니라 일반 검색에서도 사라집니다. 발견 즉시 고쳐야 합니다.

sitemap도 같이 봅니다

robots.txt 안에 Sitemap: 줄이 있는 경우가 많습니다. 사이트의 페이지 목록이 어디 있는지 알려주는 줄입니다.

이 줄이 있으면 로봇이 우리 페이지를 찾기가 쉬워집니다. 없다고 못 찾는 건 아니지만 있는 편이 낫습니다.

그리고 sitemap에 적힌 주소가 실제로 열리는지도 확인해보십시오. 사이트를 개편하면서 옛 주소가 그대로 남아 있는 경우가 흔합니다.

정리하면

이 글의 요점
  • User-agentDisallow 두 줄이 한 쌍이다
  • Disallow: /는 전체 금지, 뒤가 비면 금지 없음
  • Google-Extended를 막아도 일반 구글 검색에는 영향이 없다
  • 더 구체적인 규칙이 우선한다. 내 봇 이름이 따로 있는지 먼저 본다
  • 파일을 고쳐도 호스팅 설정이 덮어쓸 수 있다

닫혀 있으면 나머지가 전부 무의미해집니다. 그래서 맨 앞에서 봅니다.

지금 파일이 어떤 상태인지 읽어드리고, 고칠 부분이 있으면 그것도 알려드리겠습니다.

무료로 상태 확인하기

다른 글

같은 주제로 정리해둔 것들

막혔는지부터 보시죠

재보는 데는 돈이 들지 않습니다.

무료로 상태 확인하기