회원가입아이디/비번찾기
실시간 TV
홈으로
사이트 트래픽의 주범 웹봇 차단하기 - robots.txt
13년 전
트래픽초과에 이제는 지쳤다. 결국 검색사이트의 로봇을 차단하기로 결정. 그 방법을 검색해서 가장 마음에 들게 정리한 부분을 발췌.

아래 내용을 읽고 내가 사용하고자 하는 robots.txt의 내용은 아래와 같이 했다.

User-agent: Googlebot
Disallow: /

User-agent: Googlebot-Image
Disallow: /

User-agent: Slurp
Disallow: /

User-agent: yahoo-blogs/v3.9
Disallow: /

User-agent: *
Crawl-delay: 1200
Disallow: /data/
Disallow: /blog/attach/

==================================================

robots.txt파일을 생성해야 하는 이유는 크게 두가지입니다. 트래픽을 조절할 수 있다는 것과 다른 사람에게 알리고 싶지 않는 정보를 보호하기 위해서 입니다. 이 파일의 역할을 당신의 블로그를 방문하는 로봇들에게 사이트를 검색하게 허용할 것인지, 허용한다면 어떤 로봇에게, 어떤 디렉토리를 허용할지를 담고 있는 파일입니다.

윈도우의 경우 메모장을 이용해서 생성하면 되는데요, 파일은 반드시 계정의 최상위(root) 디렉토리에 있어야 합니다. 이를테면 제 사이트 http://bklove.info/ 라면 http://bklove.info/robots.txt 에 위치해야 합니다. http://bklove.info/temp/robots.txt 라면 제대로 작동하지 않습니다.

파일의 내용은 크게 세 부분으로 나뉩니다.
주석(#), 로봇의 이름을 적는 부분(User-agent) , 방문을 허용하지 않을 디렉토리를 적는 부분(Disallow)으로 구분됩니다.

User-agent: *
Disallow: /
위처럼 적으면 모든 로봇에서 모든 디렉토리에 대한 검색을 불가능하게 하겠다는 뜻을 담고 있습니다. [*]는 User-agent에서만 사용가능한데 [모든 로봇]이라는 뜻을 지니고 있습니다. Disallow의 [/]는 디렉토리에 있는 모든 폴더를 나타내는 것이구요.

만약 특정 디렉토리를 차단하게 하려면 다음과 같이 적어주면 됩니다.

User-agent: *
Disallow: /blog
위는 모든 로봇[*]에게 [blog]디렉토리 아래에 있는 부분에 대해서는 접근을 차단한다는 내용을 담고 있습니다.

그렇다면 특정 로봇을 차단하는 방법은 어떤게 있을까요? 이를테면 사이트에서 네이버의 로봇이 활동하게 하지 못하는 방법은 다음과 같습니다.

User-agent: Cowbot
Disallow: /
Cowbot은 네이버 로봇의 이름입니다. 위처럼 작성해주시면 네이버 로봇의 경우 검색을 하지 못하게 됩니다.

조금 복잡하게 구글과 네이버는 허용하고, 그외에는 모두 차단하는 방법은 다음과 같습니다.

User-agent: Cowbot
Disallow:

User-agent: Googlebot
Disallow:

User-agent: *
Disallow: /


Disallow에 아무적도 적지 않으면 모두 허용한다는 의미가 되기 때문이죠.
/blog와 /blog/는 조금 다릅니다.
/blog의 경우는 /blog/a.htm와 /blog.htm에 대해서 불가능한 것이고
/blog/의 경우는 /blog/a.htm에 대해서만 불가능 합니다.
즉 /blog는 디렉토리와 파일까지도 포함하고, /blog/는 디렉토리만을 의미하거든요.


앞서 트래픽을 아끼기 위해서 이미지 로봇을 차단하는 방법은 다음과 같습니다. 참고로 원래는 Disallow항목에 *표시를 넣을 수 없습니다. 이 명령어는 구글과 MSN등에서만 통용되구요. 파일명 뒤에 반드시 $표시를 해주셔야 합니다. 즉 모든 검색엔진에서 통용되지는 않습니다.

User-agent: Googlebot-Image
Disallow: /*.gif$
Disallow: /*.jpg$
위 문장은 구글의 이미지를 검색하는 로봇에게 gif와 jpg로 된 이미지를 모두 검색하지 않도록 하는 명령어입니다.

참고로 주석문을 작성하기 위해서는 앞에 #를 적어주시면 됩니다. 로봇의 이름은 개별 검색사이트를 방문하셔서 아셔야 합니다. 주로 쓰는 로봇의 이름만 알려드리면...
구글: Googlebot
구글 이미지 : googlebot-image
네이버 : cowbot
야후 : Slurp
야후 이미지 : Yahoo-MMCrawler
엠파스봇 : empas
MSN : MSNBot
첫눈: 1Noonbot 1.0

차단했을 경우에, 즉시 삭제되는 것은 아니지만 시간이 지나면 검색포털에서의 검색 결과 역시 삭제된다는 사실을 염두에 두셔야 합니다.


* Crawl-Delay 항목을 지정하시면 검색엔진의 방문을 지연시킬 수 있습니다. 기본단위는 초단위입니다. 아래의 명령어 역시 위의 *.jpg$처럼 야후, MSN에서만 작동됩니다.

User-agent: Slurp
Crawl-delay: 20


이렇게 하시면, 모든 검색로봇의 방문을 허용하되 5초동안은 다시 방문을 하지 않도록 지정하게 됩니다.


** http://www.mcanerin.com/EN/search-engine/robots-txt.asp 이곳에 가시면.. 비록 외국 사이트긴 하지만.. robots.txt를 제작해줍니다. ^^!! 고르기만 하면 자동으로 파일을 생성해주죠. 가져와서 메모장에 붙여놓고 저장후 FTP로 올리면 됩니다.

*** http://tool.motoricerca.info/robots-checker.phtml 이곳은 만들어진 robots.txt파일이 잘 작성되었는지 검사해주는 사이트입니다.

**** 끝으로 제가 사용하고 있는 robots.txt는 http://bklove.info/robots.txt 여기서 확인이 가능합니다. 야후의 경우 시간을 지연시키는 명령어를 사용했고, 구글과 구글이미지, MSN의 경우 이미지와 PDF, ZIP, PPT파일에 대한 검색을 차단했습니다.
추천추천 : 327 추천 목록
번호 제목
2,885
 input 입력 필드 앞뒤 공백 실시간 제거
2,884
 Placeholder 포커스시 감추기
2,883
 MySQL 중복된 데이터를 삭제
2,882
 MySQL 중복 데이터 확인
2,881
 sessionStorage.getItem 와 sessionStorage.setItem
2,880
 제이쿼리 랜덤으로 배경색 변경
2,879
 preg match에 관한 정규식
2,878
 Stream an audio file with MediaPlayer 오디오 파일 스트리밍 하기
2,877
 Audio Streaming PHP Code
2,876
 PHP $ SERVER 환경 변수 정리
2,875
 Vimeo (비메오) API 를 사용하여 플레이어 컨트롤하기
2,874
 iframe 사용시 하단에 발생하는 공백 제거방법
2,873
 아이프레임(iframe) 전체화면 가능하게 하기
2,872
 부트스트랩(bootstrapk)에서 사용하는 class명 정리
2,871
 부트스트랩 CSS
2,870
 크롬에서 마진 조절
2,869
 PHP 현재 페이지의 도메인명이나 url등의 정보 알아오기
2,868
 PHP preg match all()
2,867
 PHP 로 웹페이지 긁어오기 모든 방법 총정리!
2,866
 [PHP] 원격지 파일 주소 노출 안하고 curl로 다운로드 받기
2,865
 PHP 함수 정리
2,864
 아이프레임(iframe) 비율 유지하면서 크기 조절하는 방법
2,863
 PHP 배열에서 무작위로 하나 뽑아주는 array rand() 함수
2,862
 PHP 정규식 정리
2,861
 PHP 정규식을 활용한 태그 및 특정 문자열 제거 및 추출 방법
2,860
 php 크롤링 또는 파싱 함수, 정규식 모음
2,859
 제이쿼리 기본 명령어
2,858
 웹페이지 가로 모드세로 모드 인식하기
2,857
 모바일 웹 화면 강제 회전(가로모드 고정)
2,856
 [HTML5]에서 frameset 대체 방법과 iframe 속성
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright ⓒ musictrot All rights reserved.