AEO WEB TOOL
robots.txt 생성기
검색 색인·AI 답변·실시간 조회·모델 학습은 목적이 서로 다릅니다. 네 가지를 구분해 허용할 봇만 고르면 바로 올릴 수 있는 robots.txt 가 만들어집니다. 그룹이 병합되지 않는 robots.txt 의 함정까지 자동으로 처리합니다.
무료 · 가입 불필요브라우저에서 처리봇 18종
1. 정책을 고르세요
Sitemap 줄을 자동으로 채웁니다.
아래 목록에 없는 크롤러에 적용됩니다.
관리자·장바구니·검색 결과처럼 색인될 필요가 없는 경로를 적습니다. 허용한 봇마다 이 경로가 자동으로 다시 들어갑니다.
2. 결과 - robots.txt
올리는 위치: 도메인 최상위입니다. https://example.com/robots.txt 로 접속했을 때 이 내용이 그대로 보여야 합니다.
왜 봇을 목적별로 나눠야 하나요?
"AI 크롤러를 허용할 것인가"라는 질문은 사실 하나의 질문이 아닙니다. 같은 회사의 크롤러라도 검색 색인에 쓰는 것, AI 답변에 출처로 달기 위해 읽는 것, 사용자가 주소를 물었을 때 그 자리에서 열어 보는 것, 모델을 학습시키려고 모아 가는 것이 전부 다른 이름을 씁니다. 전부 막거나 전부 여는 결정은 대개 의도와 다른 결과를 냅니다.
가장 흔한 사고는 학습이 싫어서 전부 막았는데 AI 답변에서도 사라지는 경우입니다. 반대로 노출을 늘리려고 전부 열었다가, 원치 않는 학습 수집까지 허용하게 되기도 합니다. 아래 표가 네 묶음의 차이입니다.
| 묶음 | 무엇을 위한 접근인가 | 차단하면 생기는 일 |
|---|---|---|
| 검색 색인 4종 |
검색 결과에 실리기 위한 기본 크롤러입니다. 막으면 AI 답변의 근거가 되는 색인 자체가 사라집니다. | 검색 결과에서 사라지고, 검색 색인을 근거로 삼는 AI 답변에서도 함께 사라집니다. |
| AI 검색·답변 노출 3종 |
AI 답변에 출처로 인용되기 위한 크롤러입니다. 학습과는 목적이 다릅니다. | AI 답변의 출처 목록에 오르지 않습니다. 검색 노출 자체는 유지됩니다. |
| 사용자 요청 실시간 조회 3종 |
사용자가 특정 주소를 물었을 때 그 자리에서 읽어 가는 접근입니다. | 사용자가 우리 주소를 직접 물어도 "내용을 열 수 없다"는 답을 받게 됩니다. |
| 모델 학습 8종 |
모델을 훈련하기 위한 수집입니다. 차단해도 검색·AI 답변 노출과는 직접 관계가 없습니다. | 검색·AI 답변 노출에는 직접적인 영향이 없습니다. 학습 데이터 수집만 줄어듭니다. |
어느 쪽이 옳다고 이 도구가 정해 주지는 않습니다. 콘텐츠를 널리 알리고 싶은 매체와, 유료 자료를 지켜야 하는 곳의 답은 다릅니다. 다만 모르고 막는 일만은 없도록 각 묶음이 무엇을 뜻하는지 화면에 함께 적어 두었습니다.
사용 방법
- 프리셋으로 시작네 가지 프리셋 중 의도에 가까운 것을 누릅니다. 대부분은 "AI 학습만 차단" 또는 "모두 허용"에서 출발합니다.
- 봇 개별 조정체크를 켜면 허용(Allow), 끄면 차단(Disallow)입니다. 봇 이름 아래 설명을 보고 필요한 것만 조정합니다.
- 제외 경로 입력/admin/ 처럼 색인될 필요가 없는 경로를 한 줄에 하나씩 적습니다. 허용한 모든 봇 그룹에 자동으로 반영됩니다.
- 복사해서 올리기결과를 내려받아 도메인 최상위에 robots.txt 라는 이름으로 올립니다.
- 테스터로 확인robots.txt 테스터에 올린 내용을 붙여넣어 의도대로 판정되는지 확인합니다.
robots.txt 에서 자주 나오는 실수
- 그룹이 합쳐질 거라고 생각하는 것 - 크롤러는 자기 이름과 일치하는 그룹 하나만 읽습니다. "*" 그룹의 규칙은 적용되지 않습니다.
- noindex 를 robots.txt 에 적는 것 - robots.txt 의 Noindex 지시문은 Google 이 2019년에 지원을 중단했습니다. 색인 제외는 페이지의 meta robots 로 해야 합니다.
- 차단해 놓고 noindex 가 적용되길 기대하는 것 - 크롤링이 막히면 페이지 안의 noindex 를 읽을 수 없습니다.
- Disallow 를 빈 값으로 두는 것 -
Disallow:는 "아무것도 막지 않음", 즉 전체 허용입니다. 전체를 막으려면Disallow: /로 적어야 합니다. - CSS·JS 를 막는 것 - 렌더링에 필요한 자원이 막히면 페이지를 제대로 해석하지 못합니다.
- 서브도메인을 잊는 것 - blog.example.com 은 별개의 사이트라 자체 robots.txt 가 필요합니다.
자주 묻는 질문
- robots.txt 로 AI 학습만 막고 검색 노출은 유지할 수 있나요?
- 가능합니다. 그것이 봇을 목적별로 나눠 둔 이유입니다. 예를 들어 GPTBot·ClaudeBot·Google-Extended 는 학습용 토큰이고, OAI-SearchBot·Claude-SearchBot 은 AI 답변에 인용될 때 쓰이는 토큰입니다. 위에서 "AI 학습만 차단" 프리셋을 누르면 학습 묶음만 Disallow 로 바뀝니다. 다만 각 회사가 토큰의 의미를 바꿀 수 있으므로 공식 문서를 주기적으로 확인하는 편이 안전합니다.
- 왜 봇마다 차단 경로를 다시 적나요?
- robots.txt 의 규칙 그룹은 서로 합쳐지지 않기 때문입니다. 크롤러는 자기 이름과 정확히 일치하는 User-agent 그룹이 있으면 그 그룹만 읽고 "*" 그룹은 무시합니다. 그래서 Googlebot 전용 그룹을 만들면서 "Disallow: /admin/" 을 빼먹으면, "*" 그룹에 그 줄이 있어도 Googlebot 은 /admin/ 을 크롤링합니다. 이 생성기는 허용한 봇마다 차단 경로를 다시 적어 이 함정을 피합니다.
- robots.txt 로 검색 결과에서 페이지를 숨길 수 있나요?
- 아닙니다. robots.txt 는 "크롤링하지 말라"는 요청이지 "색인하지 말라"가 아닙니다. 다른 사이트가 그 주소를 링크하면 내용을 읽지 않은 채로도 검색 결과에 주소가 나타날 수 있습니다. 결과에서 빼고 싶다면 그 페이지에 meta robots noindex 를 넣고, 그 페이지의 크롤링은 오히려 허용해야 합니다. 크롤링이 막히면 noindex 를 읽지 못해 지시가 전달되지 않습니다.
- 파일은 어디에 올려야 하나요?
- 도메인 최상위 한 곳뿐입니다. https://example.com/robots.txt 처럼 루트에 있어야 하고, https://example.com/blog/robots.txt 는 아무 효력이 없습니다. 서브도메인은 별개의 사이트로 취급하므로 blog.example.com 에는 그 도메인의 robots.txt 를 따로 올려야 합니다.
- Crawl-delay 는 왜 넣지 않나요?
- Google 이 지원하지 않는 비표준 지시문이기 때문입니다. Bing 과 네이버 등 일부 크롤러는 참고하지만, 넣었다고 모든 크롤러가 따르지는 않습니다. 수집 부하가 문제라면 Google Search Console 의 크롤링 속도 설정이나 서버 쪽 제한을 쓰는 편이 확실합니다.