홈페이지를 새로 만들었는데 구글 검색에 관리자 페이지나 테스트 페이지까지 노출된 경험, 없으신가요? robots.txt 파일 하나로 검색 엔진 크롤러에게 "여긴 보지 마세요"라고 알려줄 수 있습니다.

안녕하세요, 코딩하는 안다형입니다. 이 글에서는 robots.txt가 뭐고 어떻게 작성하는지 기본 문법을 정리했습니다.

3줄 요약

  1. robots.txt는 사이트 루트(예: example.com/robots.txt)에 두는 텍스트 파일입니다.
  2. 어떤 크롤러가 어떤 경로를 방문해도 되는지/안 되는지를 지정합니다.
  3. 민감한 페이지를 완전히 숨기는 보안 수단은 아니라는 점을 기억하세요.

기본 문법

robots.txt는 간단한 규칙으로 구성됩니다.

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

Sitemap: https://example.com/sitemap.xml

User-agent: *는 모든 크롤러에 적용한다는 뜻이고, Disallow는 접근을 막을 경로, Allow는 허용할 경로입니다. 특정 크롤러(예: 구글봇)만 대상으로 규칙을 다르게 주고 싶다면 User-agent 값을 해당 크롤러 이름으로 바꾸면 됩니다.

자주 막는 경로들

  • 관리자 페이지: /admin/, /wp-admin/ 등
  • 검색 결과 페이지: 중복 콘텐츠로 취급될 수 있는 내부 검색 결과
  • 임시/테스트 페이지: 완성되지 않은 페이지
  • 장바구니, 결제 페이지: 검색에 노출될 필요가 없는 개인화 페이지

사이트맵 위치도 함께 알려주기

robots.txt 안에 사이트맵 주소를 함께 적어두면 크롤러가 사이트 구조를 더 빠르게 파악하는 데 도움이 됩니다. 검색 엔진 최적화(SEO) 관점에서도 함께 관리하는 것이 좋습니다.

완전한 차단 수단이 아니라는 점

robots.txt는 크롤러에게 "권장 사항"을 알려주는 파일일 뿐, 강제로 접근을 막는 보안 장치가 아닙니다. 일부 크롤러는 이 규칙을 무시할 수 있고, 사람이 직접 주소를 알고 접속하는 것도 막지 못합니다. 진짜 민감한 페이지는 로그인 인증이나 IP 제한 같은 실질적인 보호 수단을 따로 적용해야 합니다.

robots.txt와 실제 접근 차단 방법 비교표

robots.txt는 검색 엔진 노출만 제어하는 권고 사항인 반면, 로그인 인증이나 Cloudflare 차단 룰은 실제로 접근 자체를 막는 강제적인 수단입니다. 검색 노출을 막고 싶다면 robots.txt, 접근 자체를 막고 싶다면 인증이나 방화벽 규칙을 써야 합니다.

이건 하지 마세요

  • robots.txt로 민감한 정보를 숨기려 하기: 오히려 파일 안에 경로가 적혀 있어 위치가 드러날 수 있습니다.
  • 사이트 전체를 실수로 차단: Disallow: /를 잘못 넣으면 사이트 전체가 검색에서 빠질 수 있습니다.
  • 수정 후 확인 안 하기: 구글 서치 콘솔의 robots.txt 테스트 도구로 반드시 확인하세요.

자주 묻는 질문

robots.txt가 없으면 어떻게 되나요?

파일이 없으면 크롤러는 기본적으로 사이트의 모든 페이지를 자유롭게 방문할 수 있다고 판단합니다.

티스토리에도 robots.txt를 수정할 수 있나요?

티스토리 같은 플랫폼은 기본 robots.txt가 자동으로 제공되며, 세부 수정 권한은 플랫폼 정책에 따라 제한적일 수 있습니다.

수정 후 바로 적용되나요?

파일 자체는 즉시 반영되지만, 검색 엔진이 다시 크롤링해서 규칙을 인식하기까지는 시간이 걸릴 수 있습니다.

마무리

robots.txt는 간단한 문법이지만 검색 엔진 노출을 관리하는 데 꼭 필요한 파일입니다. 관리자 페이지나 테스트 페이지가 검색에 노출되고 있다면 지금 바로 확인해보세요.

함께 보면 좋은 글