웹 기본

robots.txt

robots.txt는 사이트 운영자가 크롤러에게 수집을 피할 경로 등을 알려 주는 텍스트 파일입니다.

쉬운 설명

사이트를 공개한 뒤 AI가 “robots.txt가 막고 있는지 확인해 보세요”라고 안내할 수 있어요. 이 파일에는 어떤 크롤러에게 어떤 경로를 수집하지 말라고 요청하는지 적어요. 검색 엔진의 크롤링 범위를 조절할 때 사용하지만, 사람이 페이지를 여는 것을 막는 접근 제어 장치는 아니에요. 검색 결과에서 페이지를 제외하는 noindex와도 역할이 달라요.

이런 상황에서 만나요

정식 글은 수집하게 두고, 같은 내용을 여러 조건으로 보여 주는 검색 경로는 수집을 피하게 하려는 상황이라고 해 볼게요. 아래는 /search/ 아래 경로에 대한 규칙과 사이트맵 위치를 적은 예시예요.

수집 규칙과 사이트맵 주소를 나눠 읽어요

설명용 화면
1규칙 대상
User-agent: *
2피할 경로
Disallow: /search/
3사이트맵 위치
Sitemap: https://study.example.com/sitemap.xml
  1. 1모든 크롤러를 대상으로 하는 규칙 그룹이에요.
  2. 2/search/ 아래 경로를 수집하지 말라고 안내해요.
  3. 3발견할 URL 목록이 있는 파일의 주소를 알려 줘요.
https://study.example.com/robots.txt에 놓는 가상 설정 예시입니다. 실제 사이트의 공개·비공개 정책을 대신 정하는 설정이 아닙니다.

먼저 내 사이트의 루트 주소에서 robots.txt가 실제로 열리는지 확인해요. 그다음 적용할 크롤러와 경로를 읽어요. 사이트가 /study/ 아래에 있어도 파일 위치는 보통 같은 호스트의 /robots.txt이며, 적어 둔 경로는 실제 URL 구조에 맞아야 해요.

헷갈리기 쉬운 점

Disallow에 적으면 검색에서도 사라지나요?

그렇지 않을 수 있어요. Google은 수집을 막은 URL도 다른 링크를 통해 알아내 검색 결과에 표시할 수 있어요. 검색 제외에는 noindex 같은 별도 수단을 검토하고, 비공개 정보는 로그인과 권한으로 보호해야 해요. noindex를 읽어야 하는 페이지를 robots.txt로 막으면 그 규칙을 확인하지 못할 수 있어요.

이 파일은 외부에서 읽을 수 있고 모든 봇이 규칙을 지키는 것도 아니에요. 비밀 경로나 비밀번호를 숨기는 용도로 사용하지 않아요.

왜 알아야 할까요?

페이지가 안 보이는 이유를 조사할 때 크롤링 차단과 검색 제외, 실제 접근 권한을 구분할 수 있어요. 개발 중 사용한 전체 차단 규칙이 공개 사이트에 남았는지도 확인할 수 있어요.

조금 더 자세히

User-agent는 규칙을 적용할 크롤러를 지정하고, Disallow는 수집을 피할 경로를 적습니다. 별표(*)는 모든 크롤러를 대상으로 하는 그룹에 사용합니다. 여러 그룹이 있으면 각 크롤러가 적용하는 선택 규칙까지 확인해야 합니다.

robots.txt의 범위는 프로토콜·호스트·포트에 따라 달라집니다. Sitemap 항목은 사이트맵 위치를 안내하는 별도 정보입니다. 아래 예시는 전체 규칙을 설명하는 것이 아니므로 실제 설정은 사용하는 크롤러의 문서와 대조합니다.

직접 사용할 때 확인해 보세요

  • 실제 공개 호스트의 robots.txt를 확인한다
  • 적용 대상과 차단 경로를 확인한다
  • 검색 제외와 접근 권한은 따로 설정한다

관계 지도

robots.txt 중심으로 관련 개념의 정의와 관계를 한눈에 정리했습니다.
robots.txt의 정의와 관련 개념 간 관계를 설명한 계층형 그래프