MYMONDAY.ai
서비스스튜디오도구데이터·포맷73CSS 생성기19색상·이미지10인코딩·보안10웹·SEO11개발·데브옵스10파일·내보내기18계산기6가이드

robots.txt 테스터

robots.txt를 붙여 넣고 봇 이름과 경로를 입력하면 어떤 규칙이 결과를 결정했는지 보여 줍니다.

  • 브라우저에서 처리
  • 가입 없음
  • 무료

도구 작업 공간

예제

/robots.txt로 제공되는 파일을 그대로 붙여 넣으세요(512 KiB까지).

테스트할 user-agent
GooglebotBingbotGPTBotClaudeBot

Googlebot 같은 제품 토큰이나 전체 user-agent 문자열입니다. Enter로 추가합니다.

한 줄에 하나씩 입력합니다. 경로는 /로 시작하거나 전체 URL을 붙여 넣으세요. 쿼리 문자열도 반영됩니다.

판정 결과

차단된 검사: 28개 중 18개
URLGooglebotBingbotGPTBotClaudeBot
/
/admin/help/faq
/admin/users
/tmp/public/report.html
/tmp/draft.html
/files/guide.pdf
/blog?sessionid=42

결과를 선택하면 파일에서 판정한 규칙을 보여 줍니다.

판정 규칙을 강조한 robots.txt

적용된 그룹판정 규칙
  1. 1# Production robots.txt
  2. 2User-agent: *
  3. 3Disallow: /admin/
  4. 4Disallow: /search
  5. 5Disallow: /*?sessionid=
  6. 6Allow: /admin/help/
  7. 7
  8. 8User-agent: Googlebot
  9. 9Disallow: /tmp
  10. 10Allow: /tmp/public/
  11. 11
  12. 12# A second Googlebot block is merged with the first (RFC 9309)
  13. 13User-agent: Googlebot
  14. 14Disallow: /*.pdf$
  15. 15
  16. 16User-agent: GPTBot
  17. 17User-agent: ClaudeBot
  18. 18Disallow: /
  19. 19
  20. 20Sitemap: https://example.com/sitemap.xml

이 결과가 나온 이유

허용 Googlebot · /tmp/public/report.html

“googlebot” 그룹이 적용됩니다 (2, 3 그룹을 하나로 합침).

판정 규칙: Allow: /tmp/public/ (10번째 줄) · 가장 긴 패턴이 이깁니다.

  • Allow/tmp/public/10번째 줄 · 12자
  • Disallow/tmp9번째 줄 · 4자
그룹4
규칙8
사이트맵1
  • https://example.com/sitemap.xml
  • “googlebot”가 여러 그룹에 나옵니다. 크롤러는 이를 하나로 합쳐 해석하며, 이 도구도 그렇게 합니다.

robots.txt 테스터는 하나의 질문에 답합니다. 이 크롤러가 이 경로를 가져가도 되는지, 그리고 파일의 어느 줄이 그렇게 정했는지입니다. 파일을 붙여 넣고 Googlebot 같은 user-agent와 /tmp/public/report.html 같은 경로를 입력하면 허용 여부, 결정한 규칙과 줄 번호, 파싱된 규칙 수, 선언된 Sitemap: 주소를 보여 줍니다.

규칙을 고친 뒤 배포하기 전에 쓰는 도구입니다. 실수로 들어간 Disallow: / 한 줄이나 범위가 한 글자 넓은 패턴만으로도 사이트의 한 영역 전체가 크롤러에서 사라질 수 있습니다. 대표 경로 몇 개를 새 파일로 미리 확인하는 편이 크롤링 감소를 뒤늦게 발견하는 것보다 훨씬 쌉니다.

붙여 넣은 파일은 브라우저 안에서만 평가되며 서버로 전송되지 않습니다. 다만 도구가 보는 것은 붙여 넣은 사본뿐이라 실제 배포된 robots.txt를 가져오지는 않고, 배포본과 다른지도 알려 주지 못합니다.

사용 방법

  1. 파일 붙여 넣기

    robots.txt 전체 내용을 큰 입력창에 붙여 넣거나 예제로 시작합니다. 처음 500 KiB만 분석하고 나머지 바이트는 경고와 함께 무시합니다. 줄마다 번호가 붙어 판정이 가리키는 줄을 바로 찾을 수 있습니다.

  2. user-agent 고르기

    확인할 크롤러를 Googlebot, Bingbot, GPTBot처럼 칩으로 추가합니다. 대소문자는 구분하지 않고 제품 토큰으로 비교하며, 전체 user-agent 문자열도 받습니다.

  3. URL 목록 입력

    한 줄에 경로나 전체 URL 하나씩 입력합니다. 예: /search?q=shoes, https://example.com/blog/post. Disallow: /*?sessionid= 같은 규칙이 쿼리 문자열과 비교되므로 쿼리도 반영됩니다.

  4. 판정 표 읽기

    모든 URL을 모든 user-agent에 대해 한 번에 검사합니다. 각 칸에 허용·차단, 판정한 규칙과 줄 번호가 나옵니다. 칸을 선택하면 파일에서 판정 규칙과 적용된 그룹이 강조됩니다.

  5. 경고 확인

    경고는 파서가 쓰지 못한 줄을 알려 줍니다. 알 수 없는 지시어, User-agent 앞에 놓인 규칙, 잘못된 Sitemap 주소, /나 *로 시작하지 않는 패턴, /를 막는 와일드카드 그룹, 여러 그룹에 나오는 크롤러 등입니다.

작동 원리

그룹은 어떻게 고르는가

RFC 9309(로봇 배제 표준)는 규칙을 하나 이상의 User-agent 줄 아래에 묶습니다. 크롤러는 자기 이름을 가장 구체적으로 지정한 그룹을 따르고, 이름이 맞는 그룹이 없을 때만 * 그룹으로 돌아갑니다.

이 도구는 RFC 9309를 따릅니다. 크롤러는 자기 제품 토큰을 이름으로 지정한 그룹을 쓰며, 비교는 대소문자를 구분하지 않고 정확히 일치해야 합니다. Googlebot은 User-agent: Googlebot 그룹과 맞지만 User-agent: bot 그룹과는 맞지 않습니다. Googlebot-Image 같은 구글 전용 크롤러는 자기 그룹이 없으면 Googlebot 그룹으로 넘어갑니다. 이름이 맞는 그룹이 없으면 * 그룹이 적용되지만 AdsBot-Google은 와일드카드 그룹을 무시합니다. User-agent 값 Googlebot/2.1과 googlebot*는 googlebot으로 처리합니다.

같은 단계에서 적용되는 그룹이 여럿이면 규칙을 비교하기 전에 하나로 합쳐집니다. 따라서 User-agent: Googlebot 블록이 둘이어도 두 규칙 목록을 가진 블록 하나처럼 동작합니다. * 그룹의 규칙은 이름이 지정된 그룹 위에 더해지지 않으므로, Disallow가 한 줄뿐인 Googlebot 그룹은 공통 규칙을 물려받지 않습니다.

규칙 매칭: 접두사, *, $

패턴은 경로의 처음부터 비교하는 접두사 매칭입니다. Disallow: /tmp는 /tmp, /tmp/a, /tmpfile을 모두 막습니다. 패턴 안의 *는 임의의 문자열이고, 맨 끝의 $는 경로의 끝에 고정합니다. 그래서 /*.pdf$는 /a/b.pdf와 맞지만 /a/b.pdf?x=1과는 맞지 않습니다. 대소문자는 구분하므로 /Private/는 /private/와 맞지 않습니다.

검사 대상 경로에는 쿼리 문자열이 포함됩니다. Disallow: /*?sessionid= 같은 규칙이 동작하는 이유입니다. 퍼센트 인코딩은 양쪽 모두 먼저 정규화하므로 /caf%c3%a9와 /café는 같은 경로입니다. 값이 비어 있는 Disallow:는 어떤 경로와도 맞지 않으며, 표준에서 "모두 허용"을 표현하는 방식입니다.

어느 규칙이 이기는가: 가장 긴 매치, 동률이면 Allow

선택된 그룹에서 여러 규칙이 맞으면 RFC 9309는 가장 구체적인 규칙, 곧 패턴이 가장 긴 규칙을 따르라고 합니다. 이 도구는 * 하나를 한 글자로 세고 끝의 $도 길이에 넣습니다. Allow와 Disallow의 길이가 같으면 Allow가 이기고, 맞는 규칙이 없으면 허용입니다.

경로와 맞는 규칙결과이유
Disallow: /tmp, Allow: /tmp/public/Allow패턴이 더 김 (12자 대 4자)
Disallow: /search, Allow: /searchAllow길이가 같아 Allow 우선
Disallow: /*.pdf$, Allow: /docs/*.pdf$/docs/a.pdf는 Allow패턴이 더 김 (12자 대 7자)
맞는 규칙 없음허용기본값은 허용

robots.txt가 하지 않는 일

robots.txt가 제어하는 것은 크롤링이지 색인이 아닙니다. 차단한 URL도 다른 페이지에서 링크되면 설명 없이 검색 결과에 나올 수 있습니다. 색인에서 빼려면 크롤링은 허용한 채 noindex 메타 태그나 X-Robots-Tag 헤더를 쓰세요. 구글은 robots.txt 안의 noindex를 지원하지 않고 Crawl-delay도 무시합니다(일부 다른 크롤러는 따릅니다). 이 도구는 Crawl-delay를 경고 없이 받아들이지만 평가하지는 않습니다.

실제 예시

넓은 Disallow를 Allow가 뒤집는 경우
입력
User-agent: *
Disallow: /private/
Disallow: /tmp
Allow: /tmp/public/
Sitemap: https://example.com/sitemap.xml

테스트할 user-agent: Googlebot
테스트할 URL 또는 경로: /tmp/public/report.html
출력
허용
판정 규칙: allow /tmp/public/ (4번째 줄)
규칙 3개, 사이트맵 1개

같은 파일에서 /tmp/other는 Disallow: /tmp(3번째 줄)에 걸려 차단되고, 접두사 매칭이라 /tmpfile도 차단됩니다.

길이가 같은 Allow와 Disallow
입력
User-agent: *
Disallow: /search
Allow: /search

테스트할 user-agent: Googlebot
테스트할 URL 또는 경로: /search
출력
허용
판정 규칙: allow /search (3번째 줄)

두 패턴 모두 7자라서 파일 안의 순서와 상관없이 동률은 Allow가 가져갑니다.

와일드카드와 끝 고정
입력
User-agent: *
Disallow: /*.pdf$
Allow: /docs/*.pdf$

테스트할 user-agent: Googlebot
테스트할 URL 또는 경로: /a/b.pdf
출력
차단
판정 규칙: disallow /*.pdf$ (2번째 줄)

/a/b.pdf?x=1은 쿼리 때문에 $가 맞지 않아 허용되고, /docs/a.pdf는 더 긴 Allow 패턴이 이겨 허용됩니다.

이름이 지정된 그룹이 와일드카드 그룹을 대체
입력
User-agent: *
Disallow: /

User-agent: Googlebot
Allow: /

테스트할 URL 또는 경로: /x
출력
Googlebot: 허용 (allow /, 5번째 줄)
Bingbot: 차단 (disallow /, 2번째 줄)
Googlebot-Image: 허용 (이 크롤러를 지정한 그룹이 없어 상위 그룹 “Googlebot”이 적용됩니다.)

도구는 와일드카드 그룹이 /를 막는다는 경고도 띄웁니다. 이 경고는 그룹에 대한 것이지 입력한 user-agent에 대한 것이 아닙니다.

자주 하는 실수

  • URL의 어느 부분이 비교되는가

    비교되는 것은 경로와 쿼리 문자열뿐이고 도메인은 보지 않습니다. https://example.com/blog/post?id=3과 /blog/post?id=3은 같은 판정이 나오지만, https://example.com/blog/를 적은 규칙은 아무 효과가 없으므로 Disallow: /blog/로 쓰세요. 프래그먼트(#top)는 버립니다.

  • 전용 그룹이 있으면 * 그룹이 무시된다는 점

    크롤러에 자기 그룹이 생기는 순간 * 규칙은 그 크롤러에 적용되지 않습니다. User-agent: Googlebot에 규칙 한 줄을 추가했다면 계속 적용하고 싶은 공통 규칙을 그 그룹에 다시 적어야 합니다.

  • 경로의 대소문자 차이

    규칙은 대소문자를 구분합니다. Disallow: /Admin/은 /admin/을 막지 못합니다. 서버가 대소문자를 어떻게 다루는지 확인한 뒤 쓰세요.

  • Disallow하면 검색에서 사라진다는 오해

    차단된 URL도 설명 없이 목록에 남을 수 있습니다. 크롤러가 페이지를 가져가지 못하면 noindex 태그도 읽지 못하므로, 같은 URL을 차단하면서 noindex를 거는 것은 서로 상충합니다.

  • 같은 크롤러의 그룹을 둘로 나눈 경우

    RFC 9309와 구글은 같은 user-agent를 지정한 모든 그룹을 합쳐서 해석하며, 이 도구도 마찬가지입니다. User-agent: Googlebot 블록이 둘이면 하나처럼 동작하고, 두 번째 블록의 규칙이 첫 번째 규칙을 이길 수 있습니다. 올바른 동작이지만 마지막 블록이 이길 것이라 기대하면 놀랄 수 있으니 중복 그룹은 하나로 합쳐 두세요.

  • 퍼센트 인코딩

    비교 전에 경로와 규칙을 모두 정규화합니다. 16진수는 대문자로 바꾸고 %7E 같은 비예약 문자는 디코딩하며 ASCII가 아닌 문자는 UTF-8로 인코딩합니다. 그래서 /café와 /caf%C3%A9는 서로 맞지만 %2F(인코딩된 슬래시)는 /와 구분됩니다.

자주 묻는 질문

Allow와 Disallow가 둘 다 맞으면 어느 쪽이 이기나요?

패턴이 더 긴 쪽이 이깁니다. 길이가 같으면 Allow가 이깁니다. 가장 구체적인 매치를 따르라는 RFC 9309의 규칙입니다.

그룹 안에서 규칙 순서가 중요한가요?

결과에는 영향이 없습니다. 맞는 규칙을 모두 비교해 가장 긴 패턴을 고르기 때문에 같은 그룹 안에서 줄 순서를 바꿔도 결과는 같습니다.

값이 빈 Disallow:는 무언가를 막나요?

아니요. 빈 Disallow는 어떤 경로와도 맞지 않으므로 그 그룹에는 모든 경로가 허용된다는 뜻입니다.

robots.txt에서 정규식을 쓸 수 있나요?

쓸 수 없습니다. 특수 문자는 임의 문자열을 뜻하는 *와 경로 끝을 뜻하는 $ 두 가지뿐이고, 나머지는 글자 그대로의 접두사입니다.

Disallow했는데 왜 아직 색인되어 있나요?

robots.txt는 크롤링만 막습니다. 검색엔진은 링크만으로도 URL을 색인할 수 있습니다. 페이지를 빼려면 크롤링을 허용한 채 noindex 메타 태그나 X-Robots-Tag 헤더를 내려 주거나 페이지를 삭제하세요.

붙여 넣은 파일이 서버로 전송되나요?

아니요. 텍스트는 브라우저 안에서만 평가되고 전송되지 않습니다.

robots.txt는 얼마나 커도 되나요?

이 도구는 처음 500 KiB(512,000바이트)만 분석하고 나머지를 무시하면 경고합니다. 구글도 500 KiB 이후의 내용은 무시하므로 실제 파일은 그보다 훨씬 작게 유지하세요.

내 사이트의 실제 파일을 직접 가져와 검사하나요?

아니요. 붙여 넣은 텍스트만 검사합니다. 확인하려는 정확한 주소(예: https://example.com/robots.txt)에서 내용을 복사해 오세요.

더 깊이 읽기

마지막 업데이트: