01DEFINITION
한 줄로 말하면
GPTBot · ClaudeBot · PerplexityBot 같은 AI 크롤러를 robots.txt 에서 막아 두면, 그 서비스가 만드는 답변에 우리 사이트가 인용되지 않습니다. 보안을 이유로 사람 아닌 것은 일단 다 막아 둔 설정이 아직 많은데, 사람들이 검색창 대신 챗봇에 묻기 시작한 지금은 유입 경로 하나를 스스로 닫는 일입니다. 학습에 쓰이는 것과 답변에 인용되는 것은 크롤러별로 나눠 정할 수 있습니다.
02RISK
없으면 무슨 일이 생기나
사람들이 검색창 대신 챗봇에 묻기 시작했습니다. 어떤 업체가 이 일을 하느냐고 물었을 때 답변에 우리가 나오려면, 그 서비스의 크롤러가 우리 페이지를 읽을 수 있어야 합니다. robots.txt 에서 막혀 있으면 우리 사이트는 그 답변의 후보에 아예 들어가지 않습니다. 검색 순위가 아무리 높아도 상관없습니다.
문제는 대부분 의도한 차단이 아니라는 점입니다. 보안을 이유로 사람이 아닌 것은 일단 다 막아 두라는 지침이 몇 년 전 관행으로 남아 있고, 그 목록에 새로 생긴 이름들이 하나씩 추가돼 왔습니다. AI 학습에 쓰이기 싫어서 막은 경우도 많은데, 그때 같이 막힌 것 중에 답변용 크롤러가 섞여 있습니다.
반대로 학습에 쓰이는 것이 정말 곤란한 사업이라면 그것대로 명시해야 합니다. 아무것도 적지 않으면 대부분의 크롤러는 허용으로 간주합니다. 어느 쪽이든 지금 우리 파일에 무엇이 적혀 있는지를 아는 것이 먼저입니다.
03CHECK IT YOURSELF
직접 확인하는 방법
아래는 저희를 거치지 않고 지금 해 보실 수 있는 방법입니다. 결과를 저희에게 보내실 필요도 없습니다.
-
01
지금 무엇이 막혀 있는지 본다
robots.txt 에서 AI 크롤러 이름이 들어간 그룹을 찾습니다. 전체 차단만 있고 개별 이름이 없다면 그 전체 차단이 AI 크롤러에도 적용됩니다.
$ curl -s https://example.com/robots.txt \ | grep -iE "GPTBot|ClaudeBot|PerplexityBot|Google-Extended|CCBot|Bytespider"
-
02
전체 차단 그룹이 있는지 먼저 본다
개별 이름이 안 보인다고 허용된 것이 아닙니다. 별표 그룹에 전체 차단이 걸려 있으면 개별 크롤러도 그것을 따릅니다.
$ curl -s https://example.com/robots.txt | head -n 20
-
03
접속 로그에서 실제로 오는지 확인한다
허용해 두면 이 이름들이 로그에 남기 시작합니다. 설정을 바꾼 뒤 며칠 지나 확인하면 실제로 읽어 가고 있는지 알 수 있습니다.
$ grep -icE "GPTBot|ClaudeBot|PerplexityBot" /var/log/httpd/access_log
-
04
방화벽이나 보안 서비스에서 막고 있지 않은지 본다
robots.txt 는 허용인데 앞단의 보안 장비가 사용자 에이전트 기준으로 차단하는 경우가 있습니다. 이 경우 로그에 요청 자체가 안 남거나 403 으로 남습니다.
04HOW TO FIX
고치는 방법
서버 환경에 따라 적을 자리가 다릅니다. 아래는 가장 흔한 구성 기준이고, 적용 전에 현재 설정을 백업하십시오.
이 이름들은 사용자가 질문했을 때 페이지를 읽어 답변의 근거로 쓰는 쪽입니다. 학습용과는 별개로 운영됩니다.
User-agent: OAI-SearchBot User-agent: ChatGPT-User User-agent: Claude-User User-agent: ClaudeBot User-agent: PerplexityBot Allow: /
학습용 크롤러는 따로 이름이 있습니다. 이쪽만 막으면 답변 인용은 유지하면서 학습에서는 빠질 수 있습니다. 다만 이 구분을 각 사업자가 계속 지킬 것인지는 사업자 정책에 달려 있습니다.
User-agent: GPTBot User-agent: CCBot User-agent: Google-Extended Disallow: /
크롤러는 자기 이름이 있는 그룹 하나만 따릅니다. 별표 그룹에 전체 차단이 있어도 개별 그룹을 만들어 허용하면 그 크롤러는 개별 그룹을 따릅니다. 반대로 개별 그룹이 없으면 별표 그룹의 차단이 그대로 적용됩니다.
User-agent: * Disallow: /adm/ User-agent: ClaudeBot Allow: / Disallow: /adm/ ← 공통 규칙을 여기에도 다시 적어야 한다
허용만으로는 부족합니다. 인용되는 문장은 대개 짧고 명확한 정의문이고, 무엇에 대한 문장인지 기계가 확신할 수 있어야 합니다. 구조화 데이터와 문단 구성이 함께 가야 하는 이유입니다.
05FAQ
자주 묻는 질문
AI 크롤러를 허용하면 우리 콘텐츠가 학습에 쓰이나요
- 어떤 크롤러를 허용하느냐에 따라 다릅니다. 학습용으로 알려진 이름과 답변 생성용으로 알려진 이름이 따로 있고, robots.txt 에서 나눠 정할 수 있습니다. 다만 이 구분은 각 사업자가 스스로 밝힌 정책에 근거한 것이고, 강제력이 있는 규약은 아닙니다.
허용하면 AI 답변에 우리 사이트가 나오나요
- 나온다고 보장할 수 없습니다. 허용은 후보에 들어갈 조건이지 결과가 아닙니다. 실제로 인용될지는 그 질문에 우리 페이지가 얼마나 잘 맞는지, 내용이 얼마나 명확한지에 달려 있습니다. 저희도 특정 서비스에서의 인용 여부를 측정한다고 말씀드리지 않습니다.
트래픽 부담이 걱정됩니다
- AI 크롤러의 요청량이 검색 크롤러보다 많은 경우가 보고되고 있습니다. 부담이 실제로 크다면 전체 차단 대신 요청 간격을 지정하거나, 무거운 경로만 제외하는 방식이 낫습니다. 전부 막는 것은 부담과 함께 기회도 같이 없애는 선택입니다.
robots.txt 를 무시하는 크롤러는 어떻게 하나요
- robots.txt 는 규약이지 기술적 차단이 아닙니다. 지키지 않는 수집기를 실제로 막으려면 방화벽이나 앞단 보안 서비스에서 차단해야 합니다. 다만 주요 AI 사업자들은 자기 크롤러 이름을 공개하고 이 파일을 따른다고 밝히고 있습니다.
네이버나 국내 AI 서비스도 같은 방식인가요
- 국내 서비스도 각자 크롤러 이름을 두고 있지만 공개 정보의 정리 상태가 해외 서비스만큼 균일하지 않습니다. 접속 로그에서 실제로 오는 이름을 확인해 대응하는 편이 현실적입니다.
RELATED
같이 보시면 좋은 항목
GET STARTED
내 사이트는
이 항목을 통과할까요
주소만 넣으시면 이 항목을 포함해 25가지를 판정해 점수와 실패 개수를 보여 드립니다. 로그인도, 소유 확인도 필요 없습니다 — 전부 밖에서 관찰만 하는 항목이기 때문입니다.