검색엔진을 제어해야 하는 이유는 불필요한 검색 트래픽 낭비를 줄여 불필요한 네트워크 사용을 제한
노출을 원하지 않는 검색엔진에 자신의 홈페이지 정보를 제어할수 있다.
robot.txt
로봇이 임의의 SITE/ 에 방문하면 먼저 SITE/robots.txt 파일 호출함 (정상적인 정보 수집 BOT일때) 웹 사이트의 최상위 루트에 robots.txt 파일이 있어야함 robot.txt 파일이름은 소문자로 작성 (공백 허용되지 않음) |
ex) 예제들
홈페이지 전체가 모든 검색엔진에 노출되기를 원치 않음 User-agent: * Disallow: /
홈페이지 전체가 모든 검색엔진에 노출되기를 원함 Disallow:
홈페이지 디렉토리중 일부만 검색엔진에 노출하고 싶음 User-agent: *
홈페이지 전체를 노출시키지만 특정 검색엔진 (EvilRobot)만 거부
홈페이지 전체가 노출되지만 특정검색엔진에서만 노출되기를 원함
/help.html과 /help/index.html 둘 다 허용 안함 /help/index.html는 허용 안하나, /help.html은 허용 됨. 루트 하위에 있는 xml 확장자를 가진 모든 파일의 색인을 거부 루트에 test.html 과 ?가 포함된 파일의 색인을 거부한다
구글의 이미지를 검색하는 로봇에게 gif와 jpg로 된 이미지를 모두 검색하지 않도록 함 User-agent: Googlebot-Image |
예외적인 상황들
HTML (HEAD) 와 (/HEAD) 사이에 (META NAME=”ROBOTS” CONTENT=”NOINDEX, NOFOLLOW”) 라는 메타태크그를 추가함으로써 문서 하나하나에 대해 정확하게 명시를 해주므로 가장 확실하게 로봇 접근을 차단할수 있음 검색엔진에 Robot를 차단하더라도 자신의 페이지중 일부가 나타날수 있음 주석문을 작성하기 위해서는 앞에 #를 적어주시면 됩니다. 로봇의 이름은 개별 검색사이트를 방문해야함 |
로봇들 Agent 이름명
구글: Googlebot
네이버 : User-Agent: Yeti/1.0 (NHN Corp.; http://help.naver.com/robots/) 다음 : daumoa |
실제 Apache Log (구글봇 접근)
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 기반으로 차단하기 위해서는 해당 봇들에 대한 아이피 정보들을 가지고 있어야 함
아래 사이트에서는 각 검색엔진들의 아이피 정보를 제공한다.
사이트 접근하면 각종 봇들에 대한 아이피 대역 리스트를 받아 볼수 있음. 해당 사이트의 정보들을 가지고 방화벽 운영해본 결과 그럭저럭 맞는거 같음 |
[polldaddy rating=”7739789″]