2010-07-12 5 views
4

(예 : 몇 번 새로 고침하는 것처럼) 중복을 세지 않고 페이지 방문수를 추적 할 수있는 방법을 찾고 있는데, 최선의 방법을 생각해보고 싶습니다. 모든 단일 IP 주소를 추적하지 않고도 페이지를 볼 수 있습니다. 아마도 쿠키일까요? 다른 제안?PHP를 사용하여 페이지 뷰 추적하기

+0

좋은 질문과 환영합니다 – Sarfraz

답변

4

어느 당신의 로그 파일을 분석하는 Webalizer를 사용하거나 또는 위해 그 통계를 추적하는 Google Analytics를 사용 - 당신은 확장과 자기 호스팅 솔루션을 찾고 있다면, Piwik 시도 :

Piwik은 오픈 소스 다운로드입니다 (GPL 라이센스) 실시간 웹 분석 소프트웨어 프로그램. 그것은 당신이 사용하는 검색 엔진 및 키워드, 그들이 말하는 언어, 인기있는 페이지 등 귀하의 웹 사이트 방문자에 대한 상세한 보고서를 제공합니다 ... 그리고 훨씬 더.

어쨌든 바퀴를 다시 발명 할 이유가 없습니다 여기에. 또한, 위에서 언급 한 소프트웨어는 web analysis tools의 작은 부분 일뿐입니다.

+0

그래, 난 내 트래픽을 분석 단지 Google Analytics를 사용하지만 실제로 내 트래픽을 계산하려고 해요, 그래서 그들에게 자신의 콘텐츠의 트래픽의 거친 계산을 보여줄 수 있습니다 . 그렇기 때문에 MySQL 데이터베이스에 숫자를 넣고 싶습니다 ... 각각 하나의 숫자 만 있으면 모든 IP를위한 자리를 마련하지 않아도됩니다. – RobHardgoo

+0

@RobHardgoo 좋습니다. 전체 분석 소프트웨어를 실행하는 데 신경 쓰지 마세요. Piwik에서. 그렇게하면 기초를 쌓을 수 있으므로 처음부터 다시 시작할 필요가 없습니다. – Gordon

0

쿠키는 이것을 달성하는 좋은 방법이지만 사용자가 쿠키를 비활성화했을 수 있음을 명심해야합니다. 사용자가 귀하의 페이지를 방문 할 때 쿠키가 이미 있는지 확인하십시오. 그렇지 않으면 count ++ :)

+0

쿠키를 비활성화했지만 여러 번 계산하려고하면 어떻게해야합니까? – RobHardgoo

+0

이 문제는 IP 주소 접근법을 사용해야 할 것 같아요 ... 그러나 클라이언트가 자신의 IP 주소도 변경할 수 있습니다 ... – Tapdingo

0

쿠키가 적합합니다. 각 페이지보기에서 설정되어 있는지 확인합니다. 그렇다면 계산하지 마십시오. 그렇지 않으면 쿠키를 세고 쿠키를 설정하십시오.

쿠키를 사용하지 않거나 방문 할 때마다 쿠키를 사용하지 않는 사람에게 문제가 발생합니다. 이 접근 방식을 PHP 세션과 결합해야합니다. 각 페이지 뷰에서 프로세스를 수행하는 대신 세션 시작시 한 번만 수행하십시오. 이렇게하면 단일 세션 내에서 방문수를 세지 않아도됩니다.

이 모든 것이 클라이언트 측의 모든 것을 저장하려고합니다. 서버 측인 경우 IP 주소를 사용하거나 사용자 에이전트 문자열과 쌍을 이룰 수 있습니다.

또는 단지 구글 웹 로그 분석을 사용하여 ...

+0

세션이 적어도 너무 자주 복제되는 것을 막을 것이라고 생각하십니까? 2 시간 세션처럼 ... – RobHardgoo

+0

예, 세션 길이에 따라 다릅니다. 그러나 브라우저가 종료시 세션 쿠키를 정리하도록 설정되어 있으면 중복을 가져옵니다. – Palantir

0

다음을 수행 할 수 있어야합니다, 그래서 당신은 이미 Google 웹 로그 분석을 사용하는 다른 의견 중 하나로 언급 :

사용자 정의 만들기 측정 항목으로 '페이지'를 측정 항목으로, '순 방문자수'를 측정 항목으로보고합니다. 이렇게하면 모든 시간대의 모든 페이지에 대해 얼마나 많은 순 방문자수가 있었는지 알 수 있습니다.

+0

나는 analitycs API가 너무 느리고 페이지로드 시간을 늘릴 수 있다고 느낍니다. 차라리 그의 db/server에서 솔루션을 사용하고 싶습니다. – Francesco

0

키/값을 redis 또는 memcache으로 저장/증분 한 다음 cron 작업을 실행하여 x 분마다 페이지/사용자 값을 저장합니다. 사물을 복잡하게 만들 필요가 없습니다.

관련 문제