티스토리 뷰

개발/개념공부

robots.txt

애쿠 2023. 3. 7. 01:19

robots.txt ?

web 서버를 뒤적이다가 robots.txt란 파일을 발견했다.

 

파일을 열어보니 별 내용이 없었는데

User-agent: *
Disallow: /

이런식으로 단 두줄만 작성되어 있었다.

 

대체 무슨 의미일까?

로봇 배제 표준(robots exclusion standard), 로봇 배제 프로토콜(robots exclusion protocol)은 웹 사이트에 로봇이 접근하는 것을 방지하기 위한 규약으로, 일반적으로 접근 제한에 대한 설명을 robots.txt에 기술한다.
이 규약은 1994년 6월에 처음 만들어졌고, 아직 이 규약에 대한 RFC는 없다.
이 규약은 권고안이며, 로봇이 robots.txt 파일을 읽고 접근을 중지하는 것을 목적으로 한다. 따라서, 접근 방지 설정을 하였다고 해도, 다른 사람들이 그 파일에 접근할 수 있다. robots.txt 파일은 항상 사이트의 루트 디렉토리에 위치해야 한다.

 

위키백과에는 위와 같이 설명되어 있다.

 

정리하면, 포털 사이트에서는 검색 엔진을 위한 bot들이 존재한다.

 

이 bot들을 검색 엔진 크롤러라고 부르는데, robots.txt 파일은 검색 엔진 크롤러에게 웹 사이트에서 크롤링하거나 색인을 생성해서는 안 되는 페이지를 알려주는 역할을 한다.

 

작성법

작성법은 단순하다. User-agent / Disallow / Allow 세가지로 구성된다.

User-agent: *
Disallow: /

우리 서버의 robots.txt를 분석해보면,

 

와일드카드(*)는 일반적으로 모든 대상이다. 모든 대상에 대해 루트 디렉토리(/)의 접근을 막는다.

= 우리 웹사이트는 모든 검색엔진 크롤러의 접근을 막는다.를 의미한다.

 

모든 크롤러를 허용하려면 간단하게 변경할 수 있다.

User-agent: *
Allow: /

이렇게 작성하면, 내가 작성한 웹사이트에 모든 웹 크롤러들이 들어올 수 있다.

 

User-agent는 특정 크롤러를 차단하는 역할을 하고,

 

Allow/Disallow 명령어로 특정 페이지만 허용/차단 할 수 있다.

User-agent: Googlebot
Disallow: /
Allow: /$

위와 같이 작성하면, Googlebot이 모든 페이지에 대한 크롤링을 차단하지만, 첫 페이지에 대해서는 허가하는 명령어다.

 

주의할 점은 반드시 폴더명 맨 끝에 /를 붙여야 한다.

 

붙이지 않으면 확장자가 없는 파일로 인식하기 때문에 제대로 작동하지 않는다.

 

위와 같이 작성해 루트 디렉토리 아래에 놓아두면, 크롤러의 진입을 막아준다.

웹 크롤러의 종류

대표적인 검색 엔진을 기준 (출처 : 나무위키)

 

이름 User-Agent
Google Googlebot
Google image Googlebot-image
Msn MSNBot
Naver Yeti
Daum Daumoa
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함