2012-05-20 3 views
4

브라우저에서 자바 스크립트를 사용하도록 설정하지 않은 사용자 수를 계산하지 않기 때문에 정확한 숫자를 알아내는 가장 좋은 방법은 Google 웹 로그 분석이 아니라고 결정했습니다. 그래서 나는 내 자신의 Anylytics를 만들고 싶습니다.나만의 웹 사이트 분석하기

사용자의 IP 주소, 페이지 URL 및 날짜/시간을 기록하는 테이블이 있습니다.

그런 다음 데이터베이스의 데이터를 제출하기 위해 SQL 쿼리를 실행하는 사이트의 모든 페이지 하단에 스크립트가 있습니다.

다음은 스크립트입니다.

$page_viewed = mysql_real_escape_string($_SERVER['REQUEST_URI']); 
if (!empty($_SERVER['HTTP_CLIENT_IP'])) { 
    $ip=$_SERVER['HTTP_CLIENT_IP']; 
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { 
    $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; 
} else { 
    $ip=$_SERVER['REMOTE_ADDR']; 
} 
$ip = mysql_real_escape_string($ip); 
mysql_query("And then do the sql query.... "); 

여러분 중 대부분이 경험 개발자이며, 필자가 스크립트를 개선했는지 또는 수정해야 할 것이 있는지 알고 싶습니다.

+0

일반적인 피드백을 요청하는 경우 http://codereview.stackexchange.com/이 더 적절할 것입니다. –

+3

정확도가 가장 중요한 요건 인 경우 Google 애널리틱스 또는 GoSquared 또는 Mint와 같은 유료 서비스를 계속 사용하는 것이 좋습니다. 서버를 죽이지 않는 신뢰할 수있는 분석 솔루션을 구현하는 것이 생각보다 훨씬 어렵습니다. 시작을 위해 위의 솔루션은 모든 단일 페이지로드에 대해 SQL 삽입 쿼리를 요구합니다. 초당 100 건의 요청을 처리하면 서버 속도가 느려질 수 있습니다. 이러한 종류의로드가 발생하지 않는다면 자바 스크립트를 사용하지 않는 소수의 사용자에 대해 걱정할 필요가 있습니까? –

+2

전달하지 않는 사람도 올바르게 계산되지 않습니다. 100 % 신뢰성있는 웹 분석을하는 것은 본질적으로 불가능합니다. –

답변

2

이것은 나쁜 생각처럼 보입니다 ... 일반적으로 분석은 사용자가 자바 스크립트를 지원하지 않고 브라우저가 HTML 태그에 포함 된 내용을 분석 할 때 발생합니다. 일반적으로 이것들에서 단일 픽셀 이미지 나 비슷한 것을 포함 할 수 있습니다 (이미지의 목적은 위에 주어진 코드를 호출하는 것입니다). 모든 사용자를 동일한 보트에 집어 넣는 대신 자바 스크립트 기능이없는 클라이언트에 대한 정보를 얻으려면이 요청을 사용하십시오.

1

Apache를 사용하는 경우이 파일은 모두 로그 파일에 기록됩니다. http://awstats.sourceforge.net/과 같은 것을 사용하여 분석 할 수 있습니다.

분석 할 가치가있는 JS 기반 트래픽이없는 경우 MySQL과 PHP를 사용하여 로깅하면 서버가 종료됩니다.

0

@Blowski가 위에서 언급 한 것처럼 더 나은 옵션이 있습니다. 나는 과거에 Mint을 사용했으며 엄청난 서비스입니다. 그것은 PHP로 작성되었으며 공부하기 쉽고 이해하기도 쉽습니다.

feature highlightsscreencasts and screenshots을 보면서 시간을 보내고 휠 재발견에 더 많은 시간을 할애 해 보시기 바랍니다. 귀하의 시간은 소중합니다.

0

브라우저 캐시와 자바 스크립트 때문에 로그 파일 분석이 100 % 정확하지 않기 때문입니다. 로그 분석과 페이지 태깅을 결합하는 것이 대부분의 웹 사이트에 가장 적합한 선택입니다. 나는 지난 몇 년 동안 Nihuo과 Google Analytics를 사용 했었지만, 저에게는 큰 도움이되었습니다.