DoS 공격(?) 수준의 검색 로봇 방문
제 웹 사이트는 거의 '페이지' 단위로 정확하게 정보를 제공해주는 유형이기 때문에 '페이지 뷰'가 어느 정도는 의미가 있습니다. 그런데, 이러한 통계 결과를 산정하는 데 심각한 방해꾼(?)이 있는데 바로 '검색 로봇'입니다.
일례로, 하루 정도 검색 로봇의 제 웹 사이트 요청 수를 보면 다음과 같이 어마어마합니다.
[표 1: 상위 6개의 검색 로봇]
위의 목록을 포함해서 거의 60개 가까운 검색 로봇이 약 3만 3천 건의 요청들을 발생시키고 있었습니다.
반면, (평범한 user-agent를 가장한 것은 판단할 수 없으므로) 로봇이 아닌 듯한 User-Agent 문자열을 포함한 요청은 총 1,175 건이 들어왔습니다. 바로 이 수치가, 제 웹 사이트에 '정상적인 의지'를 가지고 들어온 사용자들의 요청일 테지요. ^^ 그런데, 재미있는 점이 하나 더 있는데, User-Agent 를 기준으로 서로 다른 문자열이 무려 244건이나 있었습니다. 중복된 User-Agent를 가진 사용자가 없다고 가정했을 때 제 사이트에 최소한 240명/1일 정도의 사용자 접속이 있다고 가정할 수 있습니다.
검색 로봇 중에서, 단연코 구글 검색 로봇의 방문 횟수가 눈에 띕니다. 어쩌면... '악성 로봇'이라고 불려도 손색이 없을 정도인데요. 그렇다고 구글로부터 검색해서 들어오는 사용자들을 위해서 막을 수도 없고... 반면 저렇게 방치하자니, 쓸데없는 CPU 소비와 그로 인한 전기의 소비가 걱정스러운 수준입니다. (
지구를 위해서도 좋지 않지요. ^^)
그러다가, 제 웹 페이지에 과도하게 많은 '링크'가 있다는 것이 눈에 띄었습니다. 검색 로봇은 그 특성상, 해당 웹 페이지에 포함되어 있는 링크들까지도 방문하기 때문에 제가 구성한 '게시판'의 '읽기' 화면에서 '게시물 목록'을 제공하는 것이 검색 로봇의 과도한 방문을 유도하고 있는 것이 아닌가 하는 생각이 들었습니다.
음... 역시나 그것 때문에 편리한 '게시물 목록' 뷰를 제거하는 것도 적절한 선택은 아닐 수 있는데요. ^^ 다행히 좋은 방법이 있습니다. 바로, 해당 aspx 웹 페이지에 다음과 같은 메타 태그를 포함하는 것입니다.
<meta name="robots" content="nofollow" />
이것을 지정함으로써, 웹 페이지에 포함되어 있는 링크들에 대한 추적을 멈추게 할 수 있습니다. 이렇게 작업을 하고 나서, 하루 동안 다시 구글의 검색 로봇 방문을 검사해 보니, 접속 횟수가 1만 6천번 정도로 뚝(?) 떨어졌습니다.
다행이긴 하지만, 여전히 구글 단독으로 하루에 16,000 번 가량의 제 웹 사이트 페이지를 방문하다니... 심각한 수준입니다.
요즘(대략 10월 13일 이후) 제 웹 사이트의 게시물에 대한 조회 수가 이전과 비교해서 뚝 떨어진 것을 확인할 수 있습니다. Robot 조회 수를 제외하니 그렇게 된 것인데... 그래도 어쩔 수 없지요. 정확한 통계가 더 중요하니. ^^
(sysnet 같은 소규모 웹 사이트에서도 이 정도의 검색 로봇이 방문할 정도인데, 일부 웹 사이트들이 제시하는 페이지 뷰 통계가 과연 정확한 것일까... 하는 의문이 들더군요.)