robots.txt 설정 방법 완벽 가이드: 검색엔진 크롤링 제어하기

컴퓨터 화면에 코드 편집기가 흐릿하게 보이고 커피잔이 놓인 작업 공간

robots.txt 파일을 편집하는 개발자의 작업 공간을 형상화한 이미지입니다.

블로그나 웹사이트를 운영하다 보면 “왜 내 글이 검색에 안 나오지?”라는 고민을 한 번쯤 해보셨을 거예요. 검색엔진이 사이트를 제대로 수집하지 못하거나, 반대로 너무 많은 페이지를 긁어가서 서버에 부담을 주는 경우도 있어요. 이럴 때 필요한 파일이 바로 robots.txt입니다.

robots.txt는 검색엔진 크롤러에게 “이 페이지는 봐도 좋고, 저 페이지는 보지 마세요”라고 알려주는 간단한 텍스트 파일이에요. 사이트 루트 디렉터리에 딱 하나만 올려두면 구글, 네이버, 빙 같은 검색엔진이 이 파일을 먼저 읽고 크롤링 규칙을 따르게 됩니다.

하지만 막상 만들려면 문법이 헷갈리고, 업로드 위치를 몰라서 실수하는 분들이 많아요. 그래서 오늘은 robots.txt 파일을 처음부터 끝까지 직접 설정하는 방법을 단계별로 정리해드릴게요. 기본 문법부터 AI 크롤러 차단, 검증 도구 활용법까지 초보자도 쉽게 따라 할 수 있도록 구성했으니 천천히 따라와 주세요.

핵심 요약

  • robots.txt는 사이트 루트에 위치한 텍스트 파일로, 검색엔진 크롤러의 접근을 제어합니다.
  • 파일이 없으면 모든 크롤러가 사이트 전체를 수집할 수 있다고 간주합니다.
  • 기본 문법은 User-agent, Disallow, Allow, Sitemap으로 구성됩니다.
  • 작성 후 반드시 구글 서치 콘솔이나 네이버 서치어드바이저의 robots.txt 검증 도구로 테스트하세요.
  • AI 크롤러(GPTBot, ClaudeBot 등)를 차단하려면 별도의 User-agent 규칙을 추가해야 합니다.
  • 직접 설정은 무료이며, 유료 SEO 도구를 사용하면 자동 검증과 모니터링이 가능합니다.

robots.txt란 무엇인가요?

robots.txt는 ‘로봇 배제 표준(Robots Exclusion Protocol)’이라고도 불러요. 웹사이트 소유자가 검색엔진 로봇(크롤러)에게 사이트 내 특정 페이지나 디렉터리에 대한 접근을 허용하거나 제한하기 위해 만드는 텍스트 파일입니다. 예를 들어 관리자 페이지(/admin/)나 내부 검색 결과 페이지처럼 굳이 검색 결과에 노출될 필요가 없는 영역을 차단할 때 사용해요.

이 파일은 사이트의 최상위 디렉터리, 즉 루트에 위치해야 해요. 예를 들어 https://example.com/robots.txt처럼 도메인 바로 뒤에 붙는 형태죠. 하위 디렉터리에 robots.txt를 두면 인식되지 않으니 주의해야 합니다.

robots.txt는 강제력이 있는 보안 장치가 아니에요. 선의의 검색엔진 크롤러들은 이 규칙을 자발적으로 따르지만, 악성 봇이나 스크래퍼는 무시할 수 있어요. 따라서 민감한 정보는 robots.txt만으로 보호할 수 없고, 반드시 로그인 인증이나 noindex 메타 태그 같은 추가 조치를 병행해야 합니다.

robots.txt 파일의 기본 구조와 문법

robots.txt 파일은 아주 단순한 텍스트 형식이에요. 메모장이나 VS Code 같은 편집기로 열어서 아래와 같은 규칙을 한 줄씩 적으면 됩니다. UTF-8 인코딩을 사용해야 하며, HTML 태그나 다른 마크업 언어를 넣으면 안 됩니다.

가장 기본적인 형식은 다음과 같아요.

User-agent: *
Disallow: /비공개폴더/
Allow: /공개폴더/
Sitemap: https://example.com/sitemap.xml

각 줄의 의미를 살펴볼게요.

  • User-agent: 규칙을 적용할 크롤러의 이름을 지정합니다. 별표(*)는 모든 크롤러를 의미해요. 특정 봇만 지정하려면 User-agent: Googlebot처럼 쓰면 됩니다.
  • Disallow: 크롤링을 차단할 경로를 적습니다. 예를 들어 Disallow: /admin/이라고 하면 /admin/으로 시작하는 모든 URL을 수집하지 않아요. 경로 앞에 슬래시(/)를 꼭 붙여야 합니다.
  • Allow: 특정 경로만 허용할 때 사용해요. 보통 Disallow로 넓게 막은 뒤 일부만 풀어줄 때 씁니다. 예: Allow: /공개폴더/특별페이지
  • Sitemap: 사이트맵 파일의 전체 URL을 알려줘서 크롤러가 사이트 구조를 더 효율적으로 파악하도록 도와줍니다. 이 줄은 선택 사항이지만 SEO에 도움이 되므로 넣는 게 좋아요.

여러 개의 User-agent 블록을 연속해서 작성할 수 있어요. 각 블록은 빈 줄로 구분하는 것이 일반적입니다. 예를 들어 구글봇과 네이버 예티에게 다른 규칙을 적용하려면 다음과 같이 씁니다.

User-agent: Googlebot
Disallow: /구글전용비공개/

User-agent: Yeti
Disallow: /네이버전용비공개/

또한 Crawl-delay라는 지시어를 사용해 크롤러가 페이지를 수집하는 간격을 초 단위로 지정할 수 있어요. 하지만 구글은 이 값을 무시하므로, 주로 네이버나 빙 같은 검색엔진에 적용할 때 유용합니다.

robots.txt 파일을 만드는 단계별 방법

직접 파일을 만들어 서버에 올리는 과정은 생각보다 어렵지 않아요. 아래 순서대로 따라 하면 누구나 10분 안에 설정을 마칠 수 있습니다.

  1. 텍스트 편집기 열기: 윈도우 메모장, macOS 텍스트 편집, 또는 VS Code 같은 코드 편집기를 실행합니다. 워드프로세서(한글, MS Word)는 사용하지 마세요. 서식이 섞이면 안 됩니다.
  2. 규칙 작성: 위에서 설명한 문법에 맞춰 User-agent, Disallow, Allow, Sitemap을 한 줄씩 입력합니다. 모든 크롤러에게 전체 공개하고 싶다면 User-agent: *Disallow: (빈 값)만 적어도 됩니다. 반대로 전체 차단은 Disallow: /로 설정하세요.
  3. 파일 저장: 파일 이름을 반드시 robots.txt로 저장합니다. 확장자가 .txt인지 확인하고, 인코딩은 UTF-8로 선택하세요. 다른 이름이나 대문자가 섞이면 인식되지 않아요.
  4. 서버 업로드: FTP 프로그램(FileZilla 등)이나 웹호스팅 파일 관리자, 또는 깃(Git) 배포를 통해 사이트 루트 디렉터리에 업로드합니다. 루트는 보통 public_html, www, htdocs 같은 폴더를 의미해요. 티스토리나 네이버 블로그처럼 호스팅 환경이 제한된 플랫폼은 자체 설정 메뉴에서 robots.txt를 등록할 수 있습니다.
  5. 접근 확인: 웹브라우저 주소창에 https://내도메인/robots.txt를 입력해 파일 내용이 정상적으로 보이는지 확인합니다. HTTP 상태 코드 200이 반환되어야 해요. 만약 404 오류가 뜨면 파일 위치나 이름을 다시 점검하세요.

이렇게 업로드만 하면 검색엔진이 주기적으로 파일을 읽어가지만, 변경 사항을 빠르게 반영하려면 검색엔진 웹마스터 도구에서 ‘재수집 요청’을 해주는 것이 좋습니다.

주요 검색엔진별 User-agent와 설정 예시

검색엔진마다 사용하는 크롤러 이름이 달라요. 특정 검색엔진만 차단하거나 허용하려면 정확한 User-agent 값을 알아야 합니다. 아래 표는 자주 사용되는 크롤러 식별자입니다.

검색엔진User-agent 이름비고
구글 일반Googlebot웹 검색용 메인 크롤러
구글 이미지Googlebot-Image이미지 검색 전용
구글 광고AdsBot-Google광고 품질 평가용
네이버Yeti네이버 검색 로봇
빙(Bing)Bingbot마이크로소프트 검색
다음Daumoa다음 검색 로봇
야후Slurp야후 검색 (현재는 빙 기반)

예를 들어 구글 이미지 검색에는 노출되고 싶지 않다면 아래처럼 설정할 수 있어요.

User-agent: Googlebot-Image
Disallow: /

반대로 특정 폴더만 네이버 크롤러에게 차단하려면 이렇게 하면 됩니다.

User-agent: Yeti
Disallow: /비공개자료/

모든 검색엔진에 동일한 규칙을 적용할 때는 별표(*)를 사용하는 것이 가장 간편하지만, AI 크롤러처럼 특수한 봇을 따로 관리해야 한다면 개별 User-agent 블록을 추가하는 것이 좋습니다.

robots.txt 업로드 및 검증 방법

파일을 서버에 올린 뒤에는 반드시 제대로 작동하는지 확인해야 해요. 단순히 브라우저에서 열어보는 것만으로는 문법 오류나 적용 대상을 완벽히 검증하기 어렵기 때문에, 검색엔진이 제공하는 공식 도구를 활용하는 것이 가장 확실합니다.

구글 서치 콘솔의 robots.txt 테스터는 현재 구글에서 사용 중인 robots.txt 파일을 보여주고, 특정 URL이 차단되는지 시뮬레이션할 수 있어요. 또한 수정된 파일을 제출하면 구글이 즉시 다시 가져가도록 요청할 수도 있습니다. 사용 방법은 서치 콘솔에 사이트를 등록한 뒤, 왼쪽 메뉴의 ‘크롤링’ > ‘robots.txt 테스터’로 들어가면 됩니다.

네이버 서치어드바이저도 비슷한 기능을 제공해요. ‘웹마스터 도구’ > ‘robots.txt’ 메뉴에서 현재 파일을 수집하고 검증할 수 있으며, ‘수집 요청’ 버튼을 누르면 네이버 크롤러가 변경된 규칙을 빠르게 반영합니다.

검증 시 주의할 점은 HTTP 응답 코드입니다. 200 OK가 반환되어야 정상이며, 만약 301/302 리다이렉트가 걸려 있다면 최대 5회까지 따라가지만 그 이상이면 실패로 간주해요. 404 오류는 파일이 없다는 뜻이므로 모든 크롤링을 허용하는 것과 동일하게 동작하고, 500번대 서버 오류는 “모두 허용하지 않음”으로 해석될 수 있어 위험합니다. 따라서 업로드 직후 반드시 응답 코드를 확인하세요.

robots.txt 설정 시 주의사항과 흔한 실수

⚠️ 꼭 기억해야 할 주의사항

  • 파일 이름은 반드시 robots.txt (모두 소문자)여야 합니다. Robots.txt, ROBOTS.TXT 등은 인식되지 않아요.
  • 경로 앞에 슬래시(/)를 빼먹으면 규칙이 무효화됩니다. Disallow: admin이 아니라 Disallow: /admin/처럼 써야 해요.
  • Disallow: /는 사이트 전체를 차단하는 강력한 설정이므로, 실수로 넣지 않도록 주의하세요.
  • robots.txt는 보안 도구가 아닙니다. 차단한 페이지라도 누군가 직접 URL을 알면 접근할 수 있어요. 민감한 정보는 반드시 로그인 보호나 IP 차단 같은 추가 조치를 취해야 합니다.
  • 하위 도메인마다 별도의 robots.txt 파일이 필요합니다. blog.example.comshop.example.com은 각각 루트에 파일을 둬야 해요.
  • 파일 크기는 구글 기준 500KB 이하로 유지하는 것이 좋습니다. 너무 크면 크롤러가 일부만 읽을 수 있어요.

흔히 하는 실수 중 하나는 중요한 페이지를 의도치 않게 차단하는 거예요. 예를 들어 Disallow: /를 넣어 전체 차단해 놓고 왜 검색이 안 되냐고 묻는 경우가 많습니다. 또한 AllowDisallow의 순서를 잘못 이해해 원하는 대로 동작하지 않기도 해요. 구글은 가장 구체적인 경로 규칙을 우선 적용하므로, 넓은 범위를 Disallow한 뒤 특정 페이지만 Allow하는 패턴이 일반적입니다.

AI 크롤러 차단 설정하기

최근 ChatGPT, Claude 같은 생성형 AI 서비스들이 웹사이트를 대량으로 수집하면서 서버 부하나 콘텐츠 무단 사용에 대한 우려가 커지고 있어요. 다행히 이런 AI 크롤러들도 robots.txt 규칙을 준수하는 편이기 때문에, 별도의 User-agent 블록을 추가하면 손쉽게 차단할 수 있습니다.

대표적인 AI 크롤러의 User-agent는 다음과 같아요.

  • GPTBot: OpenAI의 ChatGPT 학습용 크롤러
  • CCBot: Common Crawl 기반 크롤러 (여러 AI 모델이 사용)
  • ClaudeBot: Anthropic의 Claude 관련 크롤러
  • Google-Extended: 구글의 Bard/Vertex AI 학습용 크롤러 (별도 제어 가능)

이들을 모두 차단하려면 robots.txt 파일에 아래와 같은 블록을 추가하면 됩니다.

User-agent: GPTBot
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Google-Extended
Disallow: /

하지만 AI 크롤러를 무조건 차단하는 것이 능사는 아니에요. 생성형 검색 환경에서 인용될 기회를 놓칠 수도 있기 때문에, 트래픽과 비즈니스 목표를 고려해 전략적으로 결정하는 것이 중요합니다. 만약 일부 콘텐츠만 AI에 제공하고 싶다면, 해당 경로만 Allow로 풀어주는 세밀한 설정도 가능해요.

무료 직접 설정 vs 유료 SEO 도구 비교

robots.txt 관리는 직접 파일을 만들어 업로드하는 것만으로도 충분히 가능하지만, 사이트 규모가 크거나 AI 크롤러 정책이 자주 바뀌는 상황이라면 유료 SEO 도구의 도움을 받는 것도 방법이에요. 아래 표를 참고해 본인에게 맞는 방식을 선택해 보세요.

구분무료 직접 설정유료 SEO 도구 (예: SEMrush, Ahrefs, Moz)
비용무료 (서버 업로드만 필요)월 $99~$199, 연간 약 $1,000~$2,000
기능기본 문법 작성, 수동 업로드UI 기반 생성, 자동 검증, 크롤 버짓 분석
오류 검증수동으로 브라우저·웹마스터 도구 확인실시간 오류 알림, 구문 강조, 시뮬레이션
AI 봇 관리수동으로 User-agent 추가최신 AI 크롤러 목록 자동 업데이트, 템플릿 제공
적합한 대상소규모 블로그, 개인 사이트, 초보자대형 커머스, 엔터프라이즈, 지속적 모니터링이 필요한 사이트

비용 부담 없이 시작하고 싶다면 직접 설정으로도 충분히 효과를 볼 수 있어요. 다만 사이트가 복잡해지고 크롤 버짓 최적화가 중요해진다면 유료 도구를 고려해 보는 것도 좋습니다. 어느 쪽을 선택하든 정기적으로 robots.txt 파일을 점검하는 습관이 가장 중요해요.

robots.txt 설정 후 체크리스트

파일을 업로드한 뒤 아래 항목을 하나씩 확인해 보세요. 이 체크리스트만 꼼꼼히 따라도 대부분의 문제를 예방할 수 있어요.

  • 파일명이 정확히 robots.txt인가요? (대소문자, 확장자 확인)
  • 사이트 루트 디렉터리에 위치해 있나요? (https://내도메인/robots.txt로 접근 가능한지)
  • User-agent와 경로에 오타나 슬래시 누락은 없나요?
  • 중요한 페이지가 실수로 차단되지 않았나요? (구글 서치 콘솔에서 URL 테스트)
  • Sitemap URL이 정확한가요? (전체 주소가 맞는지)
  • AI 크롤러나 특정 봇에 대한 정책이 반영되어 있나요?
  • HTTP 응답 코드가 200 OK인가요? (리다이렉트나 서버 오류가 없는지)
  • 크롤 버짓 낭비를 막기 위해 불필요한 파라미터 페이지를 차단했나요?

자주 묻는 질문 (FAQ)

robots.txt 파일이 없으면 어떻게 되나요?

파일이 없으면 검색엔진은 사이트의 모든 페이지를 크롤링해도 괜찮다고 판단해요. 즉, 전체 허용 상태와 같습니다. 따라서 특별히 차단할 페이지가 없다면 없어도 무방하지만, 사이트맵 안내나 크롤 버짓 최적화를 위해 만들어 두는 것이 좋습니다.

robots.txt로 개인정보 페이지를 완전히 숨길 수 있나요?

아니요. robots.txt는 크롤러에게 “수집하지 마세요”라고 요청하는 것일 뿐, 접근 자체를 막지는 못해요. 누군가 URL을 직접 입력하면 페이지를 볼 수 있습니다. 따라서 회원 정보나 결제 페이지처럼 민감한 내용은 반드시 로그인 인증이나 noindex 메타 태그, 서버 측 접근 제어를 함께 사용해야 합니다.

구글과 네이버에 서로 다른 규칙을 적용할 수 있나요?

네, 가능합니다. User-agent를 각각 Googlebot과 Yeti로 지정한 블록을 따로 만들면 됩니다. 각 블록은 빈 줄로 구분하면 인식이 잘 됩니다.

robots.txt를 수정했는데 언제 반영되나요?

검색엔진은 보통 하루에 한 번 정도 robots.txt를 다시 가져오지만, 구글 서치 콘솔이나 네이버 서치어드바이저에서 ‘제출’ 또는 ‘재수집 요청’을 하면 즉시 반영할 수 있어요. 급한 변경 사항이 있다면 이 기능을 활용하세요.

파일을 실수로 전체 차단(Disallow: /)으로 설정했어요. 어떻게 복구하나요?

즉시 파일을 수정해 Disallow:를 빈 값으로 바꾸거나 필요한 경로만 허용하도록 고친 뒤, 서버에 다시 업로드하세요. 그리고 구글 서치 콘솔에서 robots.txt 테스터로 제출해 빠르게 복구할 수 있습니다. 이미 검색 결과에서 사라진 페이지는 시간이 지나면 다시 색인될 거예요.

모바일 전용 페이지나 별도 하위 도메인에도 robots.txt가 필요한가요?

하위 도메인(예: m.example.com)은 별개의 호스트로 간주되므로, 각각 루트에 robots.txt 파일을 둬야 합니다. 상위 도메인의 파일이 하위 도메인에 영향을 주지 않아요.

robots.txt에 한글 경로를 써도 되나요?

UTF-8 인코딩을 사용하면 한글 경로도 문제없이 인식됩니다. 하지만 일부 오래된 크롤러나 서버 설정에 따라 인코딩 문제가 생길 수 있으니, 가능하면 영문 경로를 권장해요.

유료 SEO 도구를 꼭 써야 하나요?

꼭 그렇지는 않아요. 소규모 사이트라면 무료로 직접 설정하고 주기적으로 점검하는 것으로 충분합니다. 유료 도구는 대규모 사이트나 여러 클라이언트를 관리하는 SEO 전문가에게 시간을 절약해 주는 장점이 있어요.

본 가이드는 2025년 7월 기준으로 작성되었으며, 검색엔진의 정책이나 도구 인터페이스는 추후 변경될 수 있습니다. robots.txt 설정으로 인해 발생하는 검색 노출 변동이나 트래픽 손실에 대한 책임은 사이트 운영자 본인에게 있습니다. 중요한 결정을 내리기 전에 공식 문서를 다시 한번 확인하시길 권장합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다