제로보드 XE – 통합검색 크롤링 봇(웹봇) 막기

익스프레스 엔진의 통합검색은 서버부하가 지릴뿐더러 별로 효율적이지 않아 구글링으로 사이트내 자료를 찾기도 합니다.

부하를 유발하는 통합검색에 크롤링 봇(이하 ‘웹봇’)이 접속한다면 서버가 터질듯한 부하를 유발하겠죠.

 

호스팅 이용자는 과도한 서버부하를 유발하면 쫓겨나기도 합니다.

그래서 통합검색 모듈을 수정해서 구글 맞춤검색으로 커버하기도 하지만 굳이 XE 내 통합검색 모듈을 사용해야할 때 크롤링 봇이 검색결과를 긁어가는 것을 방지하는 방법을 지금부터 소개드리도록 하겠습니다.

 

 

테스트 환경

  • XE 1.7.4.1 순정 / IIS 8.5 / PHP 5.4.x
  • 짧은주소 사용, DB 세션 사용안함
  • Sublime Editer 으로 코드 수정

 

가능한 방법

  • (추천) XE 내 addHtmlHeader 함수 이용, 통합검색 모듈 스킨에 크롤링 봇 배제 Meta Tag 추가로 검색결과 크롤링 방지
  • Robots.txt 를 통한 검색결과 크롤링 방지

 

크롤링 봇 배제 메타태그 사용

XE 내 addHtmlHeader 함수는 함수이름과 같이 HTML 에서 <hade> … </head> 사이에 내용을 추가하는 것으로 http://www.robotstxt.org/meta.html 페이지를 참고하여 <META NAME=”ROBOTS” CONTENT=”NOINDEX, NOFOLLOW”> 메타태그를 head 영역에 삽입할 수 있습니다.

 

1358.PNG

 

{Context::addHtmlHeader(‘<META NAME=”ROBOTS” CONTENT=”NOINDEX, NOFOLLOW”>’)} 이런씩으로 통합검색 스킨에 코드를 추가하면 통합검색 결과 페이지에

<META NAME=”ROBOTS” CONTENT=”NOINDEX, NOFOLLOW”> 태그가 삽입되어 출력됩니다.

 

통합검색 모듈의 기본스킨 기준으로 ./modules/integration_search/skins/default/header.html 오픈 후 아래 코드를 최상단에 추가합니다.

 

{Context::addHtmlHeader('<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">')}

 

 

그러면 통합검색 결과 소스를 보면 head 사이에 <META NAME=”ROBOTS” CONTENT=”NOINDEX, NOFOLLOW”> 라는 코드가 추가되어 있을것이며 크롤링 봇이 검색결과에 접근했을때 배제코드를 인식하고 페이지를 더 이상 긁어가지 않게 됩니다.

 

 

 

 

 

 

robots.txt 를 이용

루트 폴더에 robots 이름을 가진 txt 파일을 하나 만들어주고 아래 코드를 찰지게 넣은 후 저장하면 됩니다.

User-agent: *
Disallow: /*?
Disallow: /*&
Allow: /

 

참쉽죠.jpg

 

이 방법은 짧은주소 사용이 활성화된 사이트에만 권장하며 그렇지 않은 사이트에서 사용할 경우 정상적인 게시글까지 배제될 수 있습니다.

팁 적용전 백업은 필수입니다.

 

 

 

 

6 comments

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.