robots.txt 생성기

검색엔진·AI 크롤러 접근 규칙을 담은 robots.txt를 클릭 몇 번으로 만듭니다. AI 학습 크롤러 일괄 차단 프리셋 포함.

💡 기본 정책을 먼저 고르고, 아래에서 세부 규칙을 다듬으세요. 오른쪽 미리보기는 입력하는 대로 바로 갱신됩니다.
차단할 봇 선택 체크 = 차단
🔍 검색엔진 (보통 허용해야 검색에 노출됩니다)
🧠 AI 학습·수집 크롤러
📊 SEO 분석·기타 봇 (트래픽만 먹는 경우가 많습니다)
한 줄에 하나 · / 로 시작
차단한 폴더 안에서 일부만 열 때
절대 주소 · 한 줄에 하나
robots.txt 미리보기

규칙 문법 요약

지시어예시
User-agent아래 규칙을 적용할 봇 이름. * 는 그 외 전부User-agent: Googlebot
Disallow크롤링 금지 경로. 값이 비면 "금지 없음"Disallow: /admin/
Allow차단된 범위 안에서 예외로 허용Allow: /admin/help.html
*임의의 문자열과 매칭되는 와일드카드Disallow: /*.pdf
$주소 끝을 고정Disallow: /*.pdf$
Sitemap사이트맵 절대 주소. 어느 봇에나 공통Sitemap: https://example.com/sitemap.xml
Crawl-delay요청 간격(초). 구글은 무시, 빙·예티는 참고Crawl-delay: 10
Disallow는 색인 금지가 아닙니다. 크롤링만 막을 뿐이라 외부 링크가 있으면 주소가 검색에 뜰 수 있습니다. 확실히 빼려면 그 페이지에 noindex 메타 태그를 넣어야 하는데, 그러려면 크롤러가 페이지를 읽어야 하므로 robots.txt로 막으면 안 됩니다.

robots.txt 생성기란?

robots.txt는 사이트 최상위(https://example.com/robots.txt)에 두는 한 장짜리 텍스트 파일로, 어떤 크롤러가 어디까지 들어와도 되는지 알려 주는 안내판입니다. 관리자 페이지나 장바구니처럼 검색 결과에 뜨면 곤란한 경로를 크롤링 대상에서 빼고, 사이트맵 위치를 알려 색인을 돕는 것이 주 용도입니다. 최근에는 GPTBot·ClaudeBot·CCBot 같은 AI 학습 크롤러를 막으려는 수요가 부쩍 늘었는데, 이 도구는 그런 봇들을 한 번에 차단하는 프리셋을 제공합니다. 문법을 한 글자만 틀려도 규칙이 통째로 무시되거나 반대로 사이트 전체가 검색에서 사라질 수 있어, 흔한 사고(Disallow: / 전체 차단)는 경고로 잡아 줍니다.

사용 방법

  1. 기본 정책을 고릅니다 — 전체 허용, AI 크롤러만 차단, 전체 차단 중 하나로 시작하면 편합니다.
  2. 막고 싶은 봇을 목록에서 체크합니다. 구글봇·네이버 예티는 켜 두고 AI 봇만 끄는 조합이 가장 많이 쓰입니다.
  3. /admin/ 처럼 크롤링에서 빼고 싶은 경로를 표에 한 줄씩 추가합니다.
  4. sitemap.xml 주소를 절대 주소로 넣습니다.
  5. 미리보기를 확인하고 내려받아 사이트 루트에 robots.txt 라는 이름 그대로 올립니다.

robots.txt 생성기 사용 가이드

실제 작업에서 이 도구를 어떻게 쓰는지, 무엇을 조심해야 하는지 정리했습니다.

Disallow는 "차단"이 아니라 "요청"입니다

robots.txt를 오해해서 생기는 사고가 가장 많습니다. 두 가지를 분리해서 기억해야 합니다.

첫째, Disallow는 "이 경로를 크롤링하지 말아 달라"는 요청이지 "검색결과에서 빼 달라"가 아닙니다. 크롤러가 페이지를 읽지 않을 뿐, 다른 사이트가 그 주소로 링크를 걸어 두면 구글은 내용 없이 주소만으로 검색결과에 노출할 수 있습니다. 서치 콘솔에 "robots.txt에 의해 차단되었지만 색인이 생성됨"이라고 뜨는 상태가 바로 이것입니다.

둘째, 여기서 진짜 사고가 납니다. 검색에서 빼고 싶어서 그 페이지에 noindex 메타 태그를 넣고, 동시에 robots.txt로도 막습니다. 그러면 크롤러가 페이지를 못 읽으니 noindex 태그도 못 읽습니다. 결과적으로 페이지는 영영 색인에서 안 빠집니다. noindex와 Disallow는 같이 쓰면 안 됩니다.

하고 싶은 것써야 할 것robots.txt Disallow
검색결과에서 완전히 빼기noindex 메타 태그(또는 X-Robots-Tag 헤더)쓰면 안 됨 — 태그를 못 읽습니다
크롤링 부담·중복 URL 줄이기Disallow이게 본래 용도
비공개 자료 보호로그인·인증(401/403)의미 없음 — 경로만 알려주는 꼴
삭제된 페이지 정리410 Gone 응답막으면 삭제 신호도 못 받습니다
중복 페이지 정리canonical 태그막으면 canonical도 못 읽습니다
robots.txt에 Disallow: / 를 남긴 채 개발 서버를 그대로 운영으로 올리는 사고가 실제로 자주 납니다. 이 도구는 "전체 차단" 프리셋이나 차단 경로에 / 하나만 있을 때 경고를 띄웁니다. 경고가 뜨면 내려받기 전에 의도한 것이 맞는지 반드시 다시 보세요.

AI 크롤러 차단 — 무엇을 막고 무엇을 열어 둘지

AI 봇을 전부 막는 게 항상 정답은 아닙니다. 같은 회사 봇이라도 역할이 다르기 때문입니다. 학습용 수집만 막고 검색·인용용은 열어 두는 조합이 실제로 가장 많이 쓰입니다.

하는 일막으면
GPTBotOpenAI 모델 학습용 수집학습에서 빠짐. 유입 손실은 거의 없음
OAI-SearchBotChatGPT 검색 결과 색인ChatGPT 검색 노출·인용에서 빠짐
ChatGPT-User사용자가 링크를 줬을 때 열어보기사용자가 내 링크를 물어봐도 못 읽음
Google-Extended제미나이 학습용 사용 여부학습에서만 빠짐. 구글 검색 순위·색인과 무관
CCBot커먼크롤 — 여러 AI가 이 데이터를 씁니다광범위한 학습 데이터셋에서 빠짐
PerplexityBotPerplexity 답변용 수집·인용인용 유입이 사라짐
Google-Extended는 구글 검색 색인과 분리된 제어입니다. 이걸 막아도 구글 검색 순위에는 영향이 없다고 구글이 명시하고 있어, "AI 학습은 싫지만 검색 노출은 유지"라면 가장 먼저 넣을 항목입니다.
검색엔진 칸의 예티(Yeti)·구글봇을 실수로 켜면(=차단하면) 그 검색엔진에서 사이트가 통째로 사라집니다. 국내 사이트에서 예티 차단은 사실상 트래픽 자살입니다. kakaotalk-scrap·facebookexternalhit·Twitterbot은 검색봇이 아니라 링크 공유 미리보기용이라, 막으면 카톡·SNS에 링크를 붙였을 때 썸네일과 제목이 안 뜹니다.

robots.txt는 강제력이 없습니다

robots.txt는 신사협정입니다. 지킬지 말지는 봇이 정합니다. 주요 업체(OpenAI·Anthropic·구글·네이버)는 자사 크롤러가 규칙을 지킨다고 공개했지만, 파일을 아예 안 읽는 봇, User-Agent를 위장하는 봇, 이름을 수시로 바꾸는 봇은 막히지 않습니다. 접속 로그에 특정 봇이 계속 찍힌다면 서버 단에서 막아야 실제로 차단됩니다.

nginx
# nginx — robots.txt를 무시하는 봇을 실제로 막는 방법
# 응답 없이 연결을 끊는 444 를 쓰면 대역폭도 아낍니다.
map $http_user_agent $bad_bot {
    default 0;
    ~*(GPTBot|CCBot|Bytespider|AhrefsBot|SemrushBot) 1;
}

server {
    # ... 생략 ...
    if ($bad_bot) { return 444; }
}

# 적용 전 문법 검사 → 무중단 반영
#   nginx -t && systemctl reload nginx
User-Agent 문자열은 얼마든지 위조할 수 있습니다. 위 방식은 정직하게 자기 이름을 밝히는 봇에만 통합니다. 또 정규식에 Googlebot 같은 문자열을 실수로 넣으면 검색 노출이 사라지니, 적용 후 서치 콘솔의 URL 검사로 구글봇이 정상 접근하는지 확인하세요.

올리는 위치와 확인 방법

문법이 맞아도 위치가 틀리면 아무 의미가 없습니다. robots.txt는 반드시 도메인 최상위에 있어야 하고, 서브도메인은 각각 자기 파일을 가집니다.

  1. 내려받은 파일을 사이트 루트에 올린 뒤, 브라우저로 https://내도메인/robots.txt 를 직접 열어 봅니다. 404나 HTML 페이지가 나오면 위치가 틀린 것입니다.
  2. 구글 서치 콘솔의 robots.txt 보고서에서 구글이 읽은 최신 내용과 오류를 확인합니다.
  3. 네이버 서치어드바이저의 robots.txt 검증 도구로 예티 기준도 확인합니다.
  • https://example.com/blog/robots.txt → 무시됩니다. 하위 폴더에 두면 아무 효과가 없습니다.
  • https://blog.example.com/ → example.com의 robots.txt가 적용되지 않습니다. 서브도메인마다 따로 올려야 합니다.
  • 파일명은 소문자 robots.txt 그대로. http와 https도 별개로 취급되니 둘 다 서비스 중이면 양쪽 다 응답해야 합니다.
규칙을 바꿔도 즉시 반영되지 않습니다 — 크롤러가 robots.txt를 캐시하기 때문입니다. 참고로 Crawl-delay는 구글봇이 무시하며(빙봇·예티 등만 참고), Host 지시어도 사실상 옛 얀덱스용이라 지금은 대표 도메인 통일에 301 리다이렉트를 씁니다.

자주 묻는 질문

robots.txt로 막으면 검색 결과에서 사라지나요?

반드시 그렇진 않습니다. Disallow는 "크롤링하지 말라"는 뜻이지 "색인하지 말라"는 뜻이 아닙니다. 다른 사이트가 링크를 걸고 있으면 내용 없이 주소만 검색에 노출될 수 있습니다. 확실히 빼려면 해당 페이지에 noindex 메타 태그를 넣어야 하는데, 이때는 크롤러가 그 태그를 읽어야 하므로 robots.txt로 막으면 안 됩니다.

AI 크롤러 차단이 법적 효력이 있나요?

robots.txt는 강제력이 없는 신사협정입니다. OpenAI·Anthropic·구글 등 주요 업체는 자사 크롤러가 이를 지킨다고 공개했지만, 규칙을 무시하는 봇은 서버(nginx 등) 단에서 차단해야 실제로 막힙니다.

어디에 올려야 하나요?

반드시 도메인 최상위입니다. https://example.com/robots.txt 는 인식되지만 https://example.com/blog/robots.txt 는 무시됩니다. 서브도메인은 각각 별도의 robots.txt가 필요합니다.

Crawl-delay는 구글에도 통하나요?

아니요. 구글봇은 Crawl-delay를 무시하며 서치 콘솔에서 크롤링 속도를 조절합니다. 빙봇과 네이버 예티 등 일부 크롤러는 참고합니다.

입력한 내용이 서버로 전송되나요?

아니요. 규칙 조합과 파일 생성 모두 브라우저 안에서만 이뤄지며 어떤 내용도 서버로 전송되거나 저장되지 않습니다.