AI 크롤러와 robots.txt, 판정을 읽기 전에
이 점검기는 한 가지 질문에만 답합니다. 내 사이트의 robots.txt가 이름이 알려진 AI 수집기들에게 실제로 무엇을 허용하고 있는가. 아래는 그 판정을 제대로 읽는 데 필요한 배경입니다.
AI 크롤러는 한 종류가 아니다
“AI 봇을 막았다”고 말할 때 실제로는 성격이 다른 세 부류를 한꺼번에 가리키는 경우가 많습니다. 이 점검기는 셋을 나눠서 보여 줍니다.
- 학습용 수집 — 모델 학습 데이터를 모읍니다. OpenAI의
GPTBot, Anthropic의ClaudeBot, ByteDance의Bytespider, Meta의meta-externalagent, 그리고 공개 말뭉치를 만들어 여러 모델의 원재료가 되는 Common Crawl의CCBot이 여기에 듭니다. - 검색·답변 색인 — 챗봇이 답변에 출처로 붙일 페이지를 색인합니다.
OAI-SearchBot,Claude-SearchBot,PerplexityBot,Amazonbot이 이쪽입니다. 이 부류를 막으면 학습에서 빠지는 대신 AI 답변의 인용 출처에서도 사라집니다. - 사용자 요청 시 즉시 방문 — 사람이 링크를 붙여 넣거나 질문했을 때 그 자리에서
해당 페이지 하나를 가져옵니다.
ChatGPT-User,Claude-User,Perplexity-User가 그렇습니다. 대량 수집이 아니라 1회성 열람에 가깝습니다.
이름이 이렇게 분리돼 있다는 점이 중요합니다. 구글의 Google-Extended는
Gemini 계열 생성형 AI의 학습·활용 여부만 제어하고 구글 검색 색인이나 순위에는 관여하지 않습니다.
애플의 Applebot-Extended도 같은 구조여서, 이 토큰을 막아도 Siri·Spotlight를 위한
Applebot의 수집 자체는 계속됩니다. 학습만 빼고 검색 노출은 유지하는 선택이
가능하다는 뜻이고, 실제로 대부분의 사이트가 원하는 지점도 그쪽입니다.
판정은 어떤 규칙으로 나오나
판정 근거는 RFC 9309, 2022년에 IETF 문서로 정리된 로봇 배제 프로토콜입니다. 적용 순서는 이렇습니다.
- 봇 이름과 맞는
User-agent그룹을 먼저 찾습니다. 이름 비교는 대소문자를 구분하지 않습니다. - 전용 그룹이 있으면 그것만 적용합니다. 없을 때만 공통 그룹(
User-agent: *)으로 내려갑니다. 전용 그룹이 한 줄이라도 있으면 공통 그룹은 그 봇에게 무시됩니다. 의도와 결과가 어긋나는 설정이 가장 자주 나오는 자리입니다. - 같은 경로에
Allow와Disallow가 함께 걸리면 더 긴 규칙이 이깁니다. 길이가 같으면Allow가 이깁니다.
파일을 가져오지 못한 경우에도 규칙이 있습니다. robots.txt가 404 등으로 없으면 제한이 없는 것으로 봅니다.
반대로 서버가 5xx를 돌려주면 일시적으로 전체 차단에 가깝게 다뤄야 합니다.
또 robots.txt는 호스트 단위여서 example.com에 둔 파일이
blog.example.com에는 적용되지 않습니다. 서브도메인을 쓰고 있다면 각각 따로 점검하십시오.
결과 표의 네 가지 표기는 그래서 이런 뜻이 됩니다. 허용은 적용되는 차단 규칙이 없음,
부분 차단은 첫 페이지는 열려 있고 일부 경로만 막힘,
루트 경로 차단은 / 경로가 막힘,
규칙 없음은 그 봇에 적용될 그룹 자체가 없어 사실상 허용입니다.
루트 경로 차단이어도 더 구체적인 Allow 규칙에 해당하는 경로는 허용될 수 있습니다.
예를 들어 Disallow: /와 Allow: /public/가 함께 적용되면
/는 차단되지만 /public/와 그 하위 경로는 허용됩니다.
robots.txt로 되는 일과 안 되는 일
robots.txt는 요청이지 강제가 아닙니다. 규칙을 지키겠다고 공표한 운영사의 봇에게만 효력이 있고,
이름을 숨기거나 규칙을 무시하는 수집기에는 아무 영향이 없습니다. 그 몫은 서버나 방화벽 단에서 따로 처리해야 합니다.
이미 학습에 쓰인 과거 수집분을 되돌리는 기능도 없어서, 차단은 앞으로의 수집에만 적용됩니다.
GPTBot과 ClaudeBot을 실제로 막고 그 차단이 먹혔는지 확인하는 절차는
별도 안내 글에
단계별로 적어 두었습니다(영문).
llms.txt는 무엇이고 robots.txt와 어떻게 다른가
/llms.txt는 2024년에 제안된 형식으로, 사이트 루트에 두는 마크다운 파일입니다.
목적이 정반대입니다. robots.txt가 “들어오지 마라”를 적는 파일이라면
llms.txt는 “읽을 거면 이 문서부터 읽어라”에 가깝습니다.
사이트의 핵심 문서 링크를 정돈된 목록으로 제시해, 모델이 내비게이션과 광고가 섞인 HTML 대신
요점을 먼저 보게 하려는 시도입니다.
다만 현재 상태를 과장하지 않는 편이 정확합니다. llms.txt는 표준으로 채택된 바 없고, 주요 모델 운영사가 이 파일을 읽어 동작을 바꾼다는 공식 확인도 없습니다. 접근 제어 기능은 아예 없어서 llms.txt를 둔다고 무엇이 차단되거나 허용되지도 않습니다. 비용이 거의 들지 않는 안내문 정도로 보는 것이 맞습니다. 형식이 맞는지 검사하거나 새로 만들려면 llms.txt 점검기·생성기를 쓰면 됩니다.
점검 뒤에 보통 하는 일
결과를 보고 방침을 정했다면 위의 차단 설정 스니펫을 그대로 robots.txt에 붙이면 됩니다. 막을 봇 이름을 여러 문서에서 모아 정리하는 중이라면 Text List Cleaner로 중복 줄을 지우고 정렬해 두면 편합니다. 이 주제로 쓴 글은 notes에 모아 두었습니다. 적용한 뒤에는 배포된 실제 파일을 대상으로 이 점검기를 한 번 더 돌려, 의도한 판정이 나오는지 눈으로 확인하는 편이 좋습니다.