SEO, robots.txt, 기술SEO
robots.txt 확인·작성법 — 검색 로봇을 막고 있는지 3분 만에 점검하기
2026-10-01
robots.txt가 무엇인가
robots.txt는 사이트 최상위 경로에 두는 텍스트 파일 하나로, 검색 로봇에게 "어디는 긁어도 되고 어디는 긁지 말라"고 알려주는 역할을 합니다. 주소는 항상 아래 형태입니다.
codehttps://example.com/robots.txt
이 파일은 사이트에서 가장 짧은데 잘못되면 피해가 가장 큰 파일입니다. 한 줄 때문에 사이트 전체가 검색 결과에서 사라질 수 있고, 그런데도 사이트는 멀쩡히 열리기 때문에 문제를 알아차리기까지 몇 달이 걸리는 경우가 흔합니다.
지금 내 robots.txt 확인하기 (3분)
브라우저 주소창에 내 사이트 주소 뒤에 /robots.txt를 붙여서 엽니다. 결과는 보통 세 가지 중 하나입니다.
| 결과 | 의미 | 조치 |
|---|---|---|
| 텍스트가 보인다 | 파일이 있다 | 아래 문법 설명으로 내용을 점검 |
| 404 오류 | 파일이 없다 | 없어도 전체 허용으로 해석되지만, 사이트맵 안내를 못 하므로 만드는 편이 낫다 |
| 홈페이지 화면이 보인다 | 파일이 없는데 서버가 홈페이지를 대신 내려주고 있다 | 서버 설정 문제. 로봇이 HTML을 robots.txt로 읽어 오작동할 수 있다 |
세 번째 경우를 놓치기 쉽습니다. 파일이 없을 때 404가 아니라 홈페이지를 200 응답으로 내려주는 서버 설정이 꽤 있고, 그러면 검색 로봇은 HTML 덩어리를 규칙으로 해석하려다 실패합니다.
문법 — 이것만 알면 됩니다
codeUser-agent: * Allow: / Disallow: /admin/ Sitemap: https://example.com/sitemap.xml
User-agent— 어떤 로봇에게 하는 말인지.*는 모든 로봇.Disallow— 긁지 말 경로. 비워두면(Disallow:) 제한 없음.Allow— 차단된 상위 경로 안에서 예외로 허용할 경로.Sitemap— 사이트맵 위치. 전체 주소로 적습니다.
규칙은 경로 앞부분 일치로 동작합니다. Disallow: /admin은 /admin, /admin/, /administrator까지 모두 막습니다. 폴더만 막으려면 끝에 슬래시를 붙여 Disallow: /admin/으로 적습니다.
가장 위험한 한 줄
codeUser-agent: * Disallow: /
이 두 줄은 사이트 전체 차단입니다. 개발 중에 검색 노출을 막으려고 넣었다가 오픈 후에 지우지 않는 일이 자주 생깁니다. 사이트는 정상이고 사람은 다 들어오는데 검색만 안 되는 상태라면 가장 먼저 이것을 확인해야 합니다.
네이버 Yeti를 빠뜨리지 마세요
구글만 신경 쓰다가 네이버를 막아두는 경우가 있습니다. 네이버 검색 로봇의 이름은 Yeti입니다. 국내 고객을 상대하는 사업자라면 반드시 확인해야 합니다.
codeUser-agent: Yeti Allow: /
다음은 Daumoa, 빙은 bingbot입니다. 특별히 막을 이유가 없다면 User-agent: *로 전체 허용해두는 것이 가장 단순하고 안전합니다. 네이버 쪽 설정 전반은 네이버 서치어드바이저 등록 방법에 정리해두었습니다.
AI 크롤러를 허용할지 결정하기
ChatGPT·Claude·Perplexity 같은 생성형 AI가 답변에 내 사이트를 인용하려면, 그 서비스의 크롤러가 사이트를 읽을 수 있어야 합니다. 이들은 일반 검색 로봇과 이름이 다르기 때문에 User-agent: *로 열어두지 않았다면 따로 허용해야 합니다.
| 크롤러 이름 | 서비스 |
|---|---|
GPTBot, OAI-SearchBot | OpenAI / ChatGPT |
ClaudeBot, Claude-SearchBot | Anthropic / Claude |
PerplexityBot | Perplexity |
Google-Extended | 구글 생성형 AI 학습 |
Applebot | Apple |
codeUser-agent: GPTBot Allow: / User-agent: ClaudeBot Allow: / User-agent: PerplexityBot Allow: /
이건 취향 문제가 아니라 사업 판단입니다. 막으면 AI 검색 결과에서 인용될 가능성이 사라지고, 열면 콘텐츠가 학습·인용에 쓰입니다. 유입을 늘리는 것이 목적이라면 허용하는 쪽이 유리합니다. 배경은 GEO 가이드와 클릭 없는 검색의 시대에서 더 자세히 다뤘습니다.
robots.txt로 할 수 없는 일
여기서 오해가 자주 생깁니다. robots.txt는 "긁지 말라"는 요청이고, "검색 결과에 띄우지 말라"는 명령이 아닙니다.
Disallow로 막힌 페이지도 외부에 링크가 있으면 주소만으로 검색 결과에 나타날 수 있습니다. 내용 없이 주소만 뜨는 형태입니다. 특정 페이지를 검색 결과에서 확실히 빼려면 robots.txt가 아니라 해당 페이지의 <head>에 아래를 넣어야 합니다.
html<meta name="robots" content="noindex, follow" />
여기서 주의할 점이 있습니다. robots.txt로 막은 페이지에 noindex를 넣으면 효과가 없습니다. 로봇이 페이지를 읽지 못하므로 noindex를 발견할 수 없기 때문입니다. 색인에서 빼려면 접근은 허용하고 noindex를 읽게 해야 합니다.
또한 robots.txt는 보안 수단이 아닙니다. 누구나 열어볼 수 있는 공개 파일이라, 민감한 경로를 적어두면 오히려 그 위치를 알려주는 셈이 됩니다. 관리자 페이지는 robots.txt가 아니라 인증으로 막아야 합니다.
자주 나는 실수 정리
| 실수 | 결과 |
|---|---|
오픈 후에도 Disallow: /가 남아 있다 | 사이트 전체가 검색에서 사라짐 |
하위 폴더에 파일을 뒀다 (/blog/robots.txt) | 인식되지 않음. 반드시 최상위 경로 |
| CSS·JS 폴더를 막았다 | 로봇이 화면을 제대로 렌더링하지 못해 평가에 불리 |
Sitemap을 상대 경로로 적었다 | 무시됨. https://부터 전체 주소로 |
www 주소와 non-www 주소의 내용이 다르다 | 각각 별도 파일로 취급되므로 양쪽 모두 점검 필요 |
자주 묻는 질문
Q. robots.txt가 없어도 괜찮나요? 없으면 전체 허용으로 해석되므로 당장 문제가 되지는 않습니다. 다만 사이트맵 위치를 알려줄 수 없고, 나중에 특정 경로를 막을 때 기준 파일이 없으므로 만들어두는 편이 낫습니다.
Q. 수정하면 언제 반영되나요?
검색 로봇이 robots.txt를 다시 읽을 때 반영되며 보통 하루 안쪽입니다. 구글은 서치콘솔의 robots.txt 보고서에서, 네이버는 서치어드바이저의 검증 메뉴에서 실제로 어떻게 읽혔는지 확인할 수 있습니다.
Q. 내 robots.txt가 맞게 써진 건지 모르겠습니다.
무료 진단에서 URL만 넣으면 robots.txt 존재 여부와 전체 차단 여부, 사이트맵 선언, AI 크롤러 허용 상태를 자동으로 점검해드립니다. 문제가 있으면 수정할 내용을 그대로 복사할 수 있는 형태로 제시합니다.
내 사이트가 검색 로봇을 막고 있는지 지금 확인하려면 무료 진단 시작하기에서 URL만 입력하면 됩니다.