2016년 3월 3일 목요일

구글봇 및 검색봇 차단하여 트래픽 줄이기

구글봇 및 여러 검색봇들이 은근히 트래픽을 발생시키기도 한다. 이러한 검색엔진봇들을 차단하면 트래픽을 줄이는데 도움이 된다.

이러한 검색봇들에 의한 트래픽을 막는 방법중에 robots.txt 파일을 이용하는 방법이다.
물론 메타태그를 이용하는 방법도 있다.
robots.txt 파일은 도메인 루트 디렉토리에 위치하여야 한다. (index.html이 위치하는 곳)

robots.txt 파일을 아래의 방법으로 작성하여 웹서버에 ftp로 업로드하면 된다.

▶ 모든 검색봇 차단
User-agent: *
Disallow: /

▶ 모든 봇 허용
User-agent: *
Allow: /

▶ 구글봇 차단 (구글봇, 구글봇이미지, 구글봇모바일)
User-agent: Googlebot
Disallow: /

User-agent: Googlebot-Image
Disallow: /

User-agent: Googlebot-Mobile
Disallow: /

▶ 빙봇 차단
User-agent: bingbot
Disallow: /

▶ 네이버봇 차단
User-agent: Yeti
Disallow: /

▶ 특정 디렉토리만 차단
User-agent: *
Disallow: /특정디렉토리명

이 외에 다양한 검색봇들이 있다.
Baiduspider
meanpathbot
MJ12bot
MSIE
YandexBot
등등

robots.txt 로 차단을 했지만 무시하고 들어오는 봇들이 있다면 아파치 설정에서 차단해주면 된다.

.htaccess 파일에 아래 내용을 추가
SetEnvIfNoCase User-Agent "baidu" ban_bot
SetEnvIfNoCase remote_addr 차단IP ban_bot
Oder Allow,Deny
Allow from all
Deny from env=ban_bot
차단IP 에는 해당봇의 IP를 알아내어 적어주면 된다.

SetEnvIfNoCase remote_addr 192.168.123. ban_bot
Oder Allow,Deny
Allow from all
Deny from env=ban_bot
IP가 c class 대역이라면 aaa.bbb.ccc. 으로 적어주면 된다.

▶ 메타태그로 검색봇 차단
<meta name="robots" content="noindex,nofollow">
noindex,nofollow 대신에 none을 사용하여도 된다.
메타 태그에 위와 같이 적어줘도 무시하는 검색봇이 있다면 위의 아파치단에서 차단해주는게 제일 확실하다.