검색로봇을 막는 방법 robots.txt

트래픽초과에 이제는 지쳤다. 결국 검색사이트의 로봇을 차단하기로 결정. 그 방법을 검색해서 가장 마음에 들게 정리한 부분을 발췌.

아래 내용을 읽고 내가 사용하고자 하는 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파일에 대한 검색을 차단했습니다.
[이 게시물은 라이노님에 의해 2008-04-15 18:58:04 홈페이지관리에서 이동 됨]

Loading

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다