robots.txt 생성기
검색엔진·AI 크롤러 접근 규칙을 담은 robots.txt를 클릭 몇 번으로 만듭니다. AI 학습 크롤러 일괄 차단 프리셋 포함.
규칙 문법 요약
| 지시어 | 뜻 | 예시 |
|---|---|---|
| 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 |
robots.txt 생성기란?
robots.txt는 사이트 최상위(https://example.com/robots.txt)에 두는 한 장짜리 텍스트 파일로, 어떤 크롤러가 어디까지 들어와도 되는지 알려 주는 안내판입니다. 관리자 페이지나 장바구니처럼 검색 결과에 뜨면 곤란한 경로를 크롤링 대상에서 빼고, 사이트맵 위치를 알려 색인을 돕는 것이 주 용도입니다. 최근에는 GPTBot·ClaudeBot·CCBot 같은 AI 학습 크롤러를 막으려는 수요가 부쩍 늘었는데, 이 도구는 그런 봇들을 한 번에 차단하는 프리셋을 제공합니다. 문법을 한 글자만 틀려도 규칙이 통째로 무시되거나 반대로 사이트 전체가 검색에서 사라질 수 있어, 흔한 사고(Disallow: / 전체 차단)는 경고로 잡아 줍니다.
사용 방법
- 기본 정책을 고릅니다 — 전체 허용, AI 크롤러만 차단, 전체 차단 중 하나로 시작하면 편합니다.
- 막고 싶은 봇을 목록에서 체크합니다. 구글봇·네이버 예티는 켜 두고 AI 봇만 끄는 조합이 가장 많이 쓰입니다.
- /admin/ 처럼 크롤링에서 빼고 싶은 경로를 표에 한 줄씩 추가합니다.
- sitemap.xml 주소를 절대 주소로 넣습니다.
- 미리보기를 확인하고 내려받아 사이트 루트에 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도 못 읽습니다 |
AI 크롤러 차단 — 무엇을 막고 무엇을 열어 둘지
AI 봇을 전부 막는 게 항상 정답은 아닙니다. 같은 회사 봇이라도 역할이 다르기 때문입니다. 학습용 수집만 막고 검색·인용용은 열어 두는 조합이 실제로 가장 많이 쓰입니다.
| 봇 | 하는 일 | 막으면 |
|---|---|---|
| GPTBot | OpenAI 모델 학습용 수집 | 학습에서 빠짐. 유입 손실은 거의 없음 |
| OAI-SearchBot | ChatGPT 검색 결과 색인 | ChatGPT 검색 노출·인용에서 빠짐 |
| ChatGPT-User | 사용자가 링크를 줬을 때 열어보기 | 사용자가 내 링크를 물어봐도 못 읽음 |
| Google-Extended | 제미나이 학습용 사용 여부 | 학습에서만 빠짐. 구글 검색 순위·색인과 무관 |
| CCBot | 커먼크롤 — 여러 AI가 이 데이터를 씁니다 | 광범위한 학습 데이터셋에서 빠짐 |
| PerplexityBot | Perplexity 답변용 수집·인용 | 인용 유입이 사라짐 |
robots.txt는 강제력이 없습니다
robots.txt는 신사협정입니다. 지킬지 말지는 봇이 정합니다. 주요 업체(OpenAI·Anthropic·구글·네이버)는 자사 크롤러가 규칙을 지킨다고 공개했지만, 파일을 아예 안 읽는 봇, User-Agent를 위장하는 봇, 이름을 수시로 바꾸는 봇은 막히지 않습니다. 접속 로그에 특정 봇이 계속 찍힌다면 서버 단에서 막아야 실제로 차단됩니다.
# 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
올리는 위치와 확인 방법
문법이 맞아도 위치가 틀리면 아무 의미가 없습니다. robots.txt는 반드시 도메인 최상위에 있어야 하고, 서브도메인은 각각 자기 파일을 가집니다.
- 내려받은 파일을 사이트 루트에 올린 뒤, 브라우저로 https://내도메인/robots.txt 를 직접 열어 봅니다. 404나 HTML 페이지가 나오면 위치가 틀린 것입니다.
- 구글 서치 콘솔의 robots.txt 보고서에서 구글이 읽은 최신 내용과 오류를 확인합니다.
- 네이버 서치어드바이저의 robots.txt 검증 도구로 예티 기준도 확인합니다.
- https://example.com/blog/robots.txt → 무시됩니다. 하위 폴더에 두면 아무 효과가 없습니다.
- https://blog.example.com/ → example.com의 robots.txt가 적용되지 않습니다. 서브도메인마다 따로 올려야 합니다.
- 파일명은 소문자 robots.txt 그대로. http와 https도 별개로 취급되니 둘 다 서비스 중이면 양쪽 다 응답해야 합니다.
자주 묻는 질문
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를 무시하며 서치 콘솔에서 크롤링 속도를 조절합니다. 빙봇과 네이버 예티 등 일부 크롤러는 참고합니다.
입력한 내용이 서버로 전송되나요?
아니요. 규칙 조합과 파일 생성 모두 브라우저 안에서만 이뤄지며 어떤 내용도 서버로 전송되거나 저장되지 않습니다.