robots.txt란 무엇인가

robots.txt는 웹사이트 최상위 경로에 두는 텍스트 파일로, 검색엔진 크롤러에게 사이트의 어느 경로를 수집해도 되는지 알리는 규칙을 담는다. 로봇 배제 표준을 구현한 파일이다.

파일 이름과 위치가 고정돼 있다. https://example.com/robots.txt처럼 도메인 바로 뒤에 와야 하고, 하위 폴더에 두면 크롤러가 읽지 않는다.

1994년 마르테인 코스터가 제안한 방식이 오래 관행으로만 쓰이다가, IETF가 2022년 9월 RFC 9309로 표준화했다 (IETF, RFC 9309 Robots Exclusion Protocol). 네이버도 같은 시점을 표준화 문서 발행 시기로 안내한다.

robots.txt는 크롤링을 막는 파일이지 검색결과 노출을 막는 파일이 아니다. 이 둘을 같은 것으로 알고 쓰다가 생기는 문제가 가장 많다.

robots.txt는 왜 필요한가?

크롤러가 사이트의 어디를 돌아다닐지 정하기 위해서다. 구글은 robots.txt를 주로 사이트의 크롤러 트래픽을 관리하는 용도로 설명한다 (구글 검색 센터, robots.txt 소개 및 가이드).

검색에 나올 이유가 없는 경로가 사이트마다 있다. 관리자 페이지, 장바구니, 로그인 후 화면, 내부 검색 결과 페이지 같은 것들이다.

이런 경로를 빼 두면 크롤러가 수집할 대상이 줄어든다. 페이지 수가 많은 사이트일수록 차이가 생긴다.

파일이 아예 없어도 사이트는 정상 작동한다. 네이버는 루트 디렉터리에 robots.txt가 없으면 모든 콘텐츠를 수집할 수 있도록 간주한다고 명시한다 (네이버 서치어드바이저, robots.txt 설정하기).

실제로 없는 사이트가 더 많다. Cloudflare가 2025년 6월 상위 1만 개 도메인을 조사했을 때 robots.txt를 찾을 수 있었던 곳은 3,816곳이었고, 그중 allow나 disallow 규칙을 실제로 쓴 곳은 546곳(약 14%)뿐이었다 (Cloudflare, From Googlebot to GPTBot: Who’s crawling your site in 2025).

robots.txt는 접근 권한을 통제하는 수단이 아니다. RFC 9309는 이 규칙이 접근 승인의 한 형태가 아니며(These rules are not a form of access authorization) 유효한 콘텐츠 보안 조치를 대신하지 못한다고 못 박는다.

robots.txt는 어떻게 작성하는가?

루트에 일반 텍스트 파일로 올리고, 크롤러를 지정한 뒤 허용과 차단 규칙을 적는다. 구글은 robots.txt 파일이 지원되는 프로토콜에서 사이트의 최상위 디렉터리에 있어야 한다고 규정한다 (구글 검색 센터, robots.txt 사양).

형식도 조건이다. 네이버는 텍스트 파일(text/plain)로 접근 가능해야 하며, robots.txt가 HTML 문서로 반환되면 유효한 규칙이 있더라도 파일이 없는 것으로 해석될 수 있다고 안내한다.

구글이 지원하는 필드는 네 가지다.

필드하는 일예시
User-agent아래 규칙을 적용할 크롤러를 지정한다User-agent: Googlebot
Disallow해당 경로의 수집을 허용하지 않는다Disallow: /admin/
Allow차단된 상위 경로 안에서 예외를 연다Allow: /admin/help/
Sitemap사이트맵 위치를 알린다Sitemap: https://example.com/sitemap.xml

crawl-delay 같은 다른 필드는 구글이 지원하지 않는다. 적어 두어도 무시된다.

가장 많이 쓰는 형태는 이렇다.

# 모든 크롤러에게 전체 허용
User-agent: *
Allow: /

# 관리자와 내부 검색 결과만 차단
User-agent: *
Disallow: /admin/
Disallow: /search

# 사이트맵 위치 알리기
Sitemap: https://example.com/sitemap.xml

크롤러별로 다르게 줄 수도 있다. 네이버는 다른 검색엔진 로봇에는 수집을 허용하지 않고 네이버 검색로봇만 허용하는 예제를 이렇게 제시한다.

User-agent: *
Disallow: /

User-agent: Yeti
Allow: /

적용 범위에 함정이 있다. 규칙은 같은 호스트와 프로토콜, 포트 하위에서만 유효해서 네이버 가이드의 예시처럼 http://www.example.com/robots.txt의 내용이 https://example.com/에는 적용되지 않는다.

크기 제한도 있다. 구글은 robots.txt 파일 크기를 500키비바이트(KiB)로 제한하고, RFC 9309도 파싱 한도가 최소 500키비바이트여야 한다고 규정한다.

수정한 규칙이 바로 반영되지는 않는다. 구글은 robots.txt 내용을 일반적으로 최대 24시간 동안 캐시한다.

robots.txt로 차단하면 검색결과에서 사라지는가?

아니다. 차단은 크롤링을 막을 뿐이고, 색인은 별개로 생길 수 있다.

구글의 설명은 명확하다. robots.txt로 차단된 콘텐츠를 크롤링하거나 색인을 생성하지는 않지만, 허용되지 않은 URL이 웹상의 다른 곳에 연결된 경우 관련 정보를 찾아 색인을 생성할 수는 있다고 적혀 있다.

다른 사이트가 그 주소로 링크를 걸면, 구글은 내용을 못 읽은 채로 주소만 검색결과에 올릴 수 있다는 뜻이다.

검색결과에서 확실히 빼려면 다른 수단을 써야 한다.

방법크롤링검색결과 노출쓸 상황
robots.txt Disallow막힌다막지 못한다크롤러 트래픽을 줄이고 싶을 때
noindex 메타 태그허용해야 한다막는다검색에 안 나오게 하고 싶을 때
로그인, 비밀번호막힌다막는다외부에 보이면 안 되는 콘텐츠

두 방법을 겹쳐 쓰면 오히려 망가진다. 구글은 robots.txt로 페이지가 차단되면 크롤러가 noindex 규칙을 절대 확인하지 못하며 페이지가 검색결과에 계속 표시될 수 있다고 경고한다 (구글 검색 센터, noindex로 색인 생성 차단).

noindex를 쓰려면 그 페이지의 크롤링은 열어 둬야 한다는 얘기다.

민감한 콘텐츠라면 애초에 다른 층에서 막아야 한다. 네이버도 개인정보처럼 외부에 노출되면 안 되는 콘텐츠는 robots.txt 설정 외에 로그인 기능 등 다른 방법으로 보호하라고 안내한다.

구글과 네이버는 robots.txt를 똑같이 해석하는가?

아니다. 특히 서버 오류가 났을 때 정반대로 움직인다.

응답 코드구글네이버
2xx규칙을 해석해 적용규칙을 해석해 적용 (HTML로 반환되면 없음으로 볼 수 있음)
3xx리디렉션 5홉까지 따라간 뒤 중지하고 404로 처리5회까지 허용, 그 이상이면 중단 후 모두 허용으로 해석
4xx429를 제외한 모든 4xx를 유효한 robots.txt가 없는 것처럼 처리모두 허용으로 해석
5xx처음 12시간은 크롤링을 중단하고 파일을 계속 가져오려 시도모두 허용하지 않음으로 해석

차이가 드러나는 지점은 5xx다. 서버가 오류를 뱉는 동안 구글은 크롤링을 멈췄다가 이후 30일 동안 유효한 최종 버전을 쓰면서 새 버전을 계속 가져오려 하지만, 네이버 검색로봇은 그 상태를 모두 허용하지 않음으로 읽는다.

robots.txt만 잠깐 500을 내도 네이버 쪽 수집이 통째로 멈출 수 있다는 뜻이다. 배포 중 이 파일이 502나 503을 내지 않는지 확인해야 하는 이유다.

2026년 8월 26일 기준으로 구글 한국어 robots.txt 검색 1페이지 9건을 전부 열어 본 결과, HTTP 응답코드 처리를 다룬 문서는 네이버 서치어드바이저 가이드 1건뿐이었고 구글과 네이버의 처리를 나란히 비교한 문서는 없었다.

AI 크롤러도 robots.txt를 따르는가?

주요 AI 크롤러는 각자 사용자 에이전트 토큰을 공개해 두었고, robots.txt로 같은 방식으로 제어할 수 있다.

토큰운영사용도
GPTBotOpenAI생성형 AI 파운데이션 모델 학습에 쓰일 수 있는 콘텐츠 수집
OAI-SearchBotOpenAIChatGPT 검색 기능의 검색 결과에 사이트를 노출
ChatGPT-UserOpenAIChatGPT와 커스텀 GPT에서 사용자의 특정 동작 처리
Google-ExtendedGoogleGemini 앱과 Vertex AI Gemini 모델의 학습 및 그라운딩
ClaudeBotAnthropic학습에 기여할 수 있는 웹 콘텐츠 수집
Claude-UserAnthropic사용자가 Claude에 질문할 때의 사이트 접근
Claude-SearchBotAnthropic검색 결과 품질 개선

각 토큰의 용도는 운영사 공식 문서에 적혀 있다 (OpenAI, Bots, Anthropic, Does Anthropic crawl data from the web?, 구글 검색 센터, Google 크롤러 개요).

차단 문법은 일반 크롤러와 같다. Anthropic이 안내하는 형태는 이렇다.

User-agent: ClaudeBot
Disallow: /

학습과 검색을 갈라서 정할 수 있다는 점이 중요하다. 구글은 Google-Extended가 구글 검색에 사이트가 포함될지 여부에 영향을 미치지 않으며 검색에서 순위 결정 신호로 사용되지도 않는다고 명시한다.

즉 AI 학습에는 콘텐츠를 주지 않으면서 검색 노출은 그대로 유지하는 설정이 가능하다.

가장 많이 차단당하는 쪽은 OpenAI다. 앞의 Cloudflare 조사에서 GPTBot이 312개 도메인에서 차단돼(전체 차단 250곳, 부분 차단 62곳) 가장 많이 막힌 봇으로 나타났다.

다만 robots.txt는 강제력이 없다. 구글도 크롤러가 지침을 준수할지를 스스로 판단하며 준수하지 않는 크롤러도 있다고 인정한다.

규칙을 무시하는 수집기를 실제로 막으려면 서버나 AI 크롤러 차단 기능 같은 다른 층이 필요하다.

AI 쪽 노출을 다루는 별도 파일로 llms.txt가 제안돼 있지만, robots.txt와 달리 검색엔진이 공식 지원하는 표준은 아니다.

robots.txt는 어떻게 확인하고 검증하는가?

가장 빠른 방법은 주소창에 도메인 뒤 /robots.txt를 붙여 여는 것이다. 공개 파일이라 누구나 볼 수 있다.

구글 쪽 검증은 서치 콘솔의 robots.txt 보고서를 쓴다. 이 보고서는 구글이 사이트의 상위 20개 호스트에서 발견한 robots.txt 파일과 마지막으로 크롤링된 시간, 발생한 경고나 오류를 보여준다 (Search Console 고객센터, robots.txt 보고서).

같은 보고서에서 긴급 상황일 때 robots.txt 재크롤링을 요청할 수 있다. 잘못 막아 둔 경로를 푼 직후가 그런 경우다.

네이버는 네이버 서치어드바이저 웹마스터도구에 robots.txt 도구가 있다. 수집 및 검증 기능으로 특정 페이지의 수집 가능 여부를 테스트할 수 있고, 간단 생성 기능으로 파일을 만들어 내려받을 수도 있다.

배포 후에는 중요한 페이지가 실수로 막히지 않았는지부터 본다. Disallow: / 한 줄이 사이트 전체를 크롤링 대상에서 빼는 사고가 드물지 않다.

자주 묻는 질문

robots.txt가 없으면 어떻게 되나요? 전체 허용으로 간주됩니다. 네이버는 루트에 파일이 없으면 모든 콘텐츠를 수집할 수 있도록 보고, 구글도 429를 제외한 4xx 응답을 유효한 robots.txt가 없는 것처럼 처리합니다.

robots.txt에 경로를 적으면 오히려 보안에 취약해지나요? 민감한 경로를 적으면 그렇습니다. robots.txt는 누구나 열어 볼 수 있는 공개 파일이라 Disallow에 적힌 관리자 주소가 그대로 노출되므로, 숨겨야 할 경로는 적는 대신 인증으로 막습니다.

robots.txt로 막은 페이지가 왜 검색에 나오나요? 크롤링 차단과 색인 차단이 다르기 때문입니다. 구글은 차단된 URL이라도 다른 곳에서 링크된 경우 관련 정보를 찾아 색인을 생성할 수 있다고 밝히고 있습니다.

robots.txt는 어떻게 확인하나요? 브라우저 주소창에 도메인 뒤 /robots.txt를 붙이면 바로 보입니다. 규칙이 의도대로 동작하는지는 서치 콘솔의 robots.txt 보고서나 네이버 웹마스터도구의 robots.txt 도구로 검증합니다.

참고 자료

우리 브랜드는 AI 답변에 나오고 있을까?

서치폴라리스가 AI 검색 가시성을 진단하고 GEO 실행까지 대행합니다.

GEO 최적화 서비스 보기