블로그 목록

SEO, robots.txt, 기술SEO

robots.txt 확인·작성법 — 검색 로봇을 막고 있는지 3분 만에 점검하기

2026-10-01

robots.txt가 무엇인가

robots.txt는 사이트 최상위 경로에 두는 텍스트 파일 하나로, 검색 로봇에게 "어디는 긁어도 되고 어디는 긁지 말라"고 알려주는 역할을 합니다. 주소는 항상 아래 형태입니다.

code
https://example.com/robots.txt

이 파일은 사이트에서 가장 짧은데 잘못되면 피해가 가장 큰 파일입니다. 한 줄 때문에 사이트 전체가 검색 결과에서 사라질 수 있고, 그런데도 사이트는 멀쩡히 열리기 때문에 문제를 알아차리기까지 몇 달이 걸리는 경우가 흔합니다.

지금 내 robots.txt 확인하기 (3분)

브라우저 주소창에 내 사이트 주소 뒤에 /robots.txt를 붙여서 엽니다. 결과는 보통 세 가지 중 하나입니다.

결과의미조치
텍스트가 보인다파일이 있다아래 문법 설명으로 내용을 점검
404 오류파일이 없다없어도 전체 허용으로 해석되지만, 사이트맵 안내를 못 하므로 만드는 편이 낫다
홈페이지 화면이 보인다파일이 없는데 서버가 홈페이지를 대신 내려주고 있다서버 설정 문제. 로봇이 HTML을 robots.txt로 읽어 오작동할 수 있다

세 번째 경우를 놓치기 쉽습니다. 파일이 없을 때 404가 아니라 홈페이지를 200 응답으로 내려주는 서버 설정이 꽤 있고, 그러면 검색 로봇은 HTML 덩어리를 규칙으로 해석하려다 실패합니다.

문법 — 이것만 알면 됩니다

code
User-agent: *
Allow: /
Disallow: /admin/

Sitemap: https://example.com/sitemap.xml
  • User-agent — 어떤 로봇에게 하는 말인지. *는 모든 로봇.
  • Disallow — 긁지 말 경로. 비워두면(Disallow:) 제한 없음.
  • Allow — 차단된 상위 경로 안에서 예외로 허용할 경로.
  • Sitemap — 사이트맵 위치. 전체 주소로 적습니다.

규칙은 경로 앞부분 일치로 동작합니다. Disallow: /admin은 /admin, /admin/, /administrator까지 모두 막습니다. 폴더만 막으려면 끝에 슬래시를 붙여 Disallow: /admin/으로 적습니다.

가장 위험한 한 줄

code
User-agent: *
Disallow: /

이 두 줄은 사이트 전체 차단입니다. 개발 중에 검색 노출을 막으려고 넣었다가 오픈 후에 지우지 않는 일이 자주 생깁니다. 사이트는 정상이고 사람은 다 들어오는데 검색만 안 되는 상태라면 가장 먼저 이것을 확인해야 합니다.

네이버 Yeti를 빠뜨리지 마세요

구글만 신경 쓰다가 네이버를 막아두는 경우가 있습니다. 네이버 검색 로봇의 이름은 Yeti입니다. 국내 고객을 상대하는 사업자라면 반드시 확인해야 합니다.

code
User-agent: Yeti
Allow: /

다음은 Daumoa, 빙은 bingbot입니다. 특별히 막을 이유가 없다면 User-agent: *로 전체 허용해두는 것이 가장 단순하고 안전합니다. 네이버 쪽 설정 전반은 네이버 서치어드바이저 등록 방법에 정리해두었습니다.

AI 크롤러를 허용할지 결정하기

ChatGPT·Claude·Perplexity 같은 생성형 AI가 답변에 내 사이트를 인용하려면, 그 서비스의 크롤러가 사이트를 읽을 수 있어야 합니다. 이들은 일반 검색 로봇과 이름이 다르기 때문에 User-agent: *로 열어두지 않았다면 따로 허용해야 합니다.

크롤러 이름서비스
GPTBot, OAI-SearchBotOpenAI / ChatGPT
ClaudeBot, Claude-SearchBotAnthropic / Claude
PerplexityBotPerplexity
Google-Extended구글 생성형 AI 학습
ApplebotApple
code
User-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만 입력하면 됩니다.