2009-08-17 5 views
0

URL, 추천 코드, 세션, 시간 등을 로깅하여 페이지 뷰를 매우 기초적으로 추적하고 있지만 로봇 (Google, Yahoo 등)에 폭격을 가하고 있습니다. 나는 효과적인 방법이이 통계를 걸러 낼지 또는 기록하지 않는지 궁금합니다.모든 웹 사이트 활동을 추적하고 웹 로봇 데이터를 필터링하는 방법

나는 로봇 IP 목록 등을 실험했지만 이것이 절대 안전한 것은 아닙니다.

robots.txt, htaccess, PHP 서버 측 코드, 자바 스크립트 또는 로봇을 "속이거나"비인간적 인 상호 작용을 무시할 수있는 다른 방법이 있습니까?

답변

1

추가하기 만하면됩니다. 인터페이스에서 사용할 수있는 기술은 Javascript를 사용하여 특정 사용자 상호 작용보기/카운터 증분으로 이어지는 동작을 캡슐화하는 것입니다. 매우 기초적인 예제에서 로봇은 따르

<a href="javascript:viewItem(4)">Chicken Farms</a> 

function viewItem(id) 
{ 
    window.location.href = 'www.example.com/items?id=' + id + '&from=userclick'; 
} 

추적 쉽게 그 클릭을하려면 그들이 요청을 얻을 수있는 당신이 안정적으로 '클릭'횟수 것을 추적 할 수 있지만, 분명이 것

www.example.com/items?id=4&from=userclick 

같은

단점, 그리고 물론 그것은 실제로 w에 달려 있습니다. 당신이 성취하려고하는 모자.

+0

대부분/모든 로봇이 자바 스크립트를 따르지 않는다고 가정 했습니까? 이 기법을 사용하는 주된 단점은 자바 스크립트가 비활성화 된 사용자가 액세스 할 수없는 방해가되는 JavaScript 및 내용입니다.그러나 이것은 더 접근하기 쉬운 코드로 쉽게 해결할 수 있으며 두 가지 추적 시스템을 갖습니다 - JavaScript로 방문하고 WITHOUT없이 방문합니다. 로보트가 없으면 사용자 에이전트가 필터링하지 않고도 ... –

+0

@ 피터 - 아니요, 자바 스크립트를 따라갈 수 없으며 SEO에 방해가됩니다. 나는이 기술을 지적해야 할 필요성을 느꼈다. 개발자가 많은 링크를 숨겨서 구글이 그들의 페이지를 스팸 덱스 (spamdexes)로 표시하는 것을 막기 위해 그것을 사용했다는 것을 알고있다. – karim79

+0

@Peter - ... 그리고 나는하지 않는다. 나 자신 :) – karim79

0

로봇은 모두 특정 사용자 에이전트를 사용하므로 무시해도됩니다.

하지만 robots.txt를 사용하여 방문을 거부하는 경우에도 마찬가지입니다. 잘 작동합니다.

+0

대부분의 로봇은 로봇 텍스트를 따르지만 다른 로봇은이를 무시합니다. 또한 로봇이 페이지를 색인하지만 내 스크립트는 색인 싶지 않습니다. 또한 사용자 에이전트는 정확한 정보를 유지하기 위해 전체 목록 및 업데이트가 필요합니다. –

1

무엇을 달성해야 하는가에 달려 있습니다. 검색 봇이 특정 경로/페이지를 방문하는 것을 중지하려면 robots.txt에 검색 봇을 포함 할 수 있습니다. 잘 행동하는 로봇의 대다수는 그 (것)들을 명중 중지 할 것이다.

봇이 이러한 경로의 색인을 생성하지만 보고서에 표시하지 않으려면 필터링 논리를 구현해야합니다. 예 : 모든 주요 봇에는 매우 명확한 사용자 에이전트 문자열 (예 : Googlebot/2.1)이 있습니다. 이러한 문자열을 사용하여보고에서 이러한 조회를 필터링 할 수 있습니다.

+2

여기 좀보십시오 : http://www.useragentstring.com/pages/Crawlerlist/ 검색 봇에서 사용하는 사용자 에이전트 문자열 목록이 있습니다. – DmitryK

+0

나는 bot가 평상시처럼 모든 페이지를 방문하기를 원한다. 그래서 user-agents가 가장 간단한 필터링 방법이 될 수있다. http://www.user-agents.org/는 또 다른 정보원입니다. 이러한 정보는 정기적 인 업데이트와 간단한 필터링 방법이 필요합니다. –

0

Weel을 다시 조사하지 마십시오.

현재 통계 도구는 로봇이 요청하는 필터입니다. 공유 호스팅이 있더라도 AWSTATS (오픈 소스)를 설치할 수 있습니다. 서버에 소프트웨어를 설치하지 않으려는 경우 Google 애널리틱스를 사용하여 페이지 끝에 스크립트 만 추가 할 수 있습니다. 두 가지 솔루션 모두 매우 좋습니다. 이 방법으로 오류를 기록하면됩니다 (500, 404 및 403이면 충분합니다).

+0

이미 awstats와 Google 웹 로그 분석을 사용하고 있지만 웹 로그 분석에는 1 개의 대체 옵션이 필요합니다. 통계 표시에 하루 지연 + 다른 도구에서 제공하지 않은보다 구체적인 활동을 추적하고 싶습니다. –

관련 문제