브라우저에서 자바 스크립트를 사용하도록 설정하지 않은 사용자 수를 계산하지 않기 때문에 정확한 숫자를 알아내는 가장 좋은 방법은 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.... ");
여러분 중 대부분이 경험 개발자이며, 필자가 스크립트를 개선했는지 또는 수정해야 할 것이 있는지 알고 싶습니다.
일반적인 피드백을 요청하는 경우 http://codereview.stackexchange.com/이 더 적절할 것입니다. –
정확도가 가장 중요한 요건 인 경우 Google 애널리틱스 또는 GoSquared 또는 Mint와 같은 유료 서비스를 계속 사용하는 것이 좋습니다. 서버를 죽이지 않는 신뢰할 수있는 분석 솔루션을 구현하는 것이 생각보다 훨씬 어렵습니다. 시작을 위해 위의 솔루션은 모든 단일 페이지로드에 대해 SQL 삽입 쿼리를 요구합니다. 초당 100 건의 요청을 처리하면 서버 속도가 느려질 수 있습니다. 이러한 종류의로드가 발생하지 않는다면 자바 스크립트를 사용하지 않는 소수의 사용자에 대해 걱정할 필요가 있습니까? –
전달하지 않는 사람도 올바르게 계산되지 않습니다. 100 % 신뢰성있는 웹 분석을하는 것은 본질적으로 불가능합니다. –