728x90

robots.txt는 무엇인가?

내가 만든 웹을 보여주고 싶지 않아! 보호막! 반사!를 통해 로봇의 활동을 저지하는 역활을 합니다.
자세한 설명은 밑에서 할게요.


이러한 웹 크롤링을 하는 로봇은 두가지 부류가 있습니다.
착한 로봇과 나쁜 로봇
그 중에서 robots.txt를 통하여, 웹 크롤링을 하는 착한 로봇들을 관리하여, 원하는 웹을 노출이 되게 또는 노출이 안되게 할 수 있습니다.
나쁜 로봇은 robots.txt를 무시하기 일 수 이며, 금지된 페이지도 크롤링 하려고 합니다.
그래서 나쁜 로봇은 막을 수 없기 때문에, 원치 않는 노출은 최대한 피해야 합니다.

그럼 나쁜 로봇이 크롤링 하는 것은 어떻게 막을까?
그러기 위해서는 일단 로봇의 트레픽 탐지 방법을 알아야 하겠죠!

트레픽 탐지 방법으로는
1) 사람이 할 수 있는 속도보다 더 빠른 속도로 가져간다면
2) 사이트에 머무는 시간이 적고, 바로 바로 이탈이 발생
3) 페이지 로드 시간은 길지만 이탈이 많다면
4) 크로링을 동일한 방법 패턴으로 할 경우
5) 짧은 시간에 동일한 IP 주소에서 많은 요청이 이루어 진다면
로봇이 왔다 갔다는 걸 의심 해 볼 수 있습니다.


그럼 이제 나쁜 로봇이 크롤링하는 것을 막아봐야겠죠?
1) robots.txt 파일을 생성하여 사이트 루트에 위치 시키면 됩니다.
- 예를들면 www.abc.com 사이트일 경우, www.abc.com/robots.txt에 위치합니다.

- .txt 파일안에 작성되야 할 내용은 2줄 입니다. 
   User-agent: 대상 크롤러
   Disallow: 허용하지 않는 경로  또는  Allow: 허용이 필요한 특정 경로
   Crawl-delay: 크롤링을 지연 시킵니다. (매우 짦은 시간동안 사이트에 많은 요청 방지)

예제를 한번 보겠습니다.
   1번                                                      
   User-agent: Googlebot                       
   Disallow: /momo/  

   2번
   
User-agent: *
   Disallow: /

   1번의 경우 이름이 Googlebot라는 크롤러는 www.abc.com/momo/ 폴더와 하위 폴더를 크롤링 할 수 없습니다.
   2번의 경우 Ads bot을 제외한 모든 크롤러는 웹 전체를 크롤링 할 수 없습니다.,

- 확장자는 .txt로 로봇 배제 표준인 일반 텍스트 파일을 사용합니다.


2) User Agents 설정


3) 관리자가 인증한 IP만 보여지는 화면 생성

- 보여지는 화면만 가져가기 때문에, 관리자가 인증한 IP만 볼 수 있는 화면을 만들어, 나쁜 로봇이 들어 올 경우, 빈 화면이 보이게 할 수 있습니다.


4) Sleep을 이용한, 부하 줄이는 방법

- 많은 접속을 하고자 하여 활동하여, 사이트 부하를 받을 수 있습니다.
  그래서 각 서버 접속시 부하를 줄이기 위해 Sleep을 이용합니다.



등 여러가지 방법을 통해 나쁜 크롤러에게 보여지지 않도록 합니다.



▼▼▼도움 받을 사이트▼▼▼

robots.txt 참고 사이트 :  https://support.google.com/webmasters/answer/6062596?hl=ko

robots.txt Crawl-delay 참고 사이트 : https://www.siteground.com/blog/crawl-delay/

robots.txt 파일이 특정 사이트 특성 URL에서 차단 유/무 확인 : https://support.google.com/webmasters/answer/6062598

728x90

+ Recent posts