메뉴 닫기

웹서버 검색엔진 봇 접근 제한하기 (Robot.txt)


robot.jpg 

 

 

검색엔진을 제어해야 하는 이유는 불필요한 검색 트래픽 낭비를 줄여 불필요한 네트워크 사용을 제한

 

노출을 원하지 않는 검색엔진에 자신의 홈페이지 정보를 제어할수 있다.

 

 

robot.txt

 

로봇이 임의의 SITE/ 에 방문하면 먼저 SITE/robots.txt 파일 호출함 (정상적인 정보 수집 BOT일때)
로봇의 접근 권한 및 접근가능한 경로에 대한 정보를 분석하여 자신이 수집해도 되는 콘텐트만을 수집한다

웹 사이트의 최상위 루트에 robots.txt 파일이 있어야함
robots.txt 화일에는 최소한 한개의 “disallow” 필드(field)가 존재해야 함

robot.txt 파일이름은 소문자로 작성 (공백 허용되지 않음) 

 

ex) 예제들

홈페이지 전체가 모든 검색엔진에 노출되기를 원치 않음
User-agent: *

Disallow: /

 

홈페이지 전체가 모든 검색엔진에 노출되기를 원함
User-agent: *

Disallow:

 

홈페이지 디렉토리중 일부만 검색엔진에 노출하고 싶음

User-agent: *
Disallow: /my_photo/
Disallow: /my_diary/

 

홈페이지 전체를 노출시키지만 특정 검색엔진 (EvilRobot)만 거부
User-agent: EvilRobot
Disallow: /

 

홈페이지 전체가 노출되지만 특정검색엔진에서만 노출되기를 원함
User-agent: NaverBot
Disallow:
User-agent: *
Disallow: /

 

/help.html과 /help/index.html 둘 다 허용 안함
disallow: /help

/help/index.html는 허용 안하나, /help.html은 허용 됨. 
disallow: /help/ 

루트 하위에 있는 xml 확장자를 가진 모든 파일의 색인을 거부
Disallow: /*.xml$ 

루트에 test.html 과 ?가 포함된 파일의 색인을 거부한다
Disallow: /test.html? 

 

구글의 이미지를 검색하는 로봇에게 gif와 jpg로 된 이미지를 모두 검색하지 않도록 함

User-agent: Googlebot-Image
Disallow: /*.gif$
Disallow: /*.jpg$ 

 

 

예외적인 상황들

 

HTML (HEAD) 와 (/HEAD) 사이에 (META NAME=”ROBOTS” CONTENT=”NOINDEX, NOFOLLOW”)
라는 메타태크그를 추가함으로써 문서 하나하나에 대해 정확하게 명시를 해주므로 가장 확실하게 로봇 접근을 차단할수 있음

검색엔진에 Robot를 차단하더라도 자신의 페이지중 일부가 나타날수 있음
기타 문서나 사이트들이 자신의 웹 문서를 링크할 경우 자동적으로 생성되어 나타날수 있음
이 경우 Robot 과 무관함 (robots.txt 를 무시하는 로봇들도 있을수 있음)
Robot 들의 IP들을 알 경우 IP를 통해 정책수립해도 상관없음

주석문을 작성하기 위해서는 앞에 #를 적어주시면 됩니다. 

로봇의 이름은 개별 검색사이트를 방문해야함 

 

 

 

로봇들 Agent 이름명

 

구글: Googlebot
구글 이미지 : googlebot-image
네이버 : cowbot

 

네이버 : User-Agent: Yeti/1.0 (NHN Corp.; http://help.naver.com/robots/)
야후 : Slurp
야후 이미지 : Yahoo-MMCrawler
엠파스봇 : empas
MSN : MSNBot
첫눈: 1Noonbot 1.0

다음 : daumoa 

 

실제 Apache Log (구글봇 접근)

61.xx.xx.84 – – [22/Aug/2010:06:10:03 +0900] “GET /robots.txt HTTP/1.1” 404 –
61.xx.xx.84 – – [22/Aug/2010:06:10:03 +0900] “GET /152 HTTP/1.1” 200 54216

 

61.xx.xx.84 로봇이 접근해서 robot.txt 파일을 읽었는데 404에러 robot.txt 파일이 없다.???
없으니깐 /152번 글을 GET 해가지고 갔다? 200 정상 메세지니깐??

 

 

봇 아이피를 이용한 제어

 

IP 기반으로 차단하기 위해서는 해당 봇들에 대한 아이피 정보들을 가지고 있어야 함

 

아래 사이트에서는 각 검색엔진들의 아이피 정보를 제공한다.

 

http://iplists.com

사이트 접근하면 각종 봇들에 대한 아이피 대역 리스트를 받아 볼수 있음.

해당 사이트의 정보들을 가지고 방화벽 운영해본 결과 그럭저럭 맞는거 같음 

 [polldaddy rating=”7739789″]

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다