Zoals gezegd ben ik bezig met een statistiekentooltje. Het programmeren zelf zal nu wel lukken, maar ik heb een aantal methodologische vragen.
Bijvoorbeeld: wat is een unieke bezoeker? Dit wordt meestal gemeten aan IP adres, maar er zijn proxies (o.a. AOL) die de gebruiker bij elke klik een ander IP geven. Het zou dus logischer zijn om voor elke bezoeker een sessie aan te maken en het aantal unieke sessies te tellen om het aantal unieke bezoekers te meten.
Aan de andere kant - als iemand op jouw site zit en hij loopt weg van zijn browser, verloopt de sessie na bv. 20 minuten idle time. Als hij dan weer achter z'n bureau plaatsneemt en verder surft, wordt er een nieuwe sessie aangemaakt en dus een tel je een nieuwe unieke bezoeker! Terwijl als je op IP had gemeten, en je er vanuit gaat dat bovengenoemde proxies maar sporadisch gebruikt worden, had je hem herkend als dezelfde bezoeker.
Weer een andere oplossing is het plaatsen van een cookie; dan kun je in ieder geval met redelijke zekerheid de machine identificeren. Je kunt dan het aantal cookies tellen als je de echt unieke bezoekers wil weten. Maar ook hier geldt weer een nadeel: steeds meer gebruikers accepteren geen cookies. Dus dat maakt je statistieken onbetrouwbaar.
Om terug te komen op sessies: als een gebruiker geen cookies accepteert, zul je deze moeten doorgeven via de querystring. Waar veel mensen wellicht niet weten dat je de sessie in het sessie-cookie van PHP kunt aanpassen, zullen er wel mensen zijn die dan die sessie in de URL gaan veranderen - voor de gein of wat dan ook. En omdat HTTP stateless is, herkent mijn volgende pagina de veranderde sessie niet meer (want: matched niet in database). De vraag is wat je met zo'n geval moet doen. Compleet uit je statistieken laten of niet?
Eenzelfde problematiek voorzie ik met hits: wat is een hit? CTRL-N? Refresh? Zijn er manieren om deze acties uit te lezen met javascript en dan geen reactie naar de stats-server te sturen?
Graag hoor ik jullie ervaringen. Hoe meet jij unieke bezoekers? Maak je ook gebruik van sessies, IP's en cookies? Kent iemand een goed artikel over deze problematiek?
Bijvoorbeeld: wat is een unieke bezoeker? Dit wordt meestal gemeten aan IP adres, maar er zijn proxies (o.a. AOL) die de gebruiker bij elke klik een ander IP geven. Het zou dus logischer zijn om voor elke bezoeker een sessie aan te maken en het aantal unieke sessies te tellen om het aantal unieke bezoekers te meten.
Aan de andere kant - als iemand op jouw site zit en hij loopt weg van zijn browser, verloopt de sessie na bv. 20 minuten idle time. Als hij dan weer achter z'n bureau plaatsneemt en verder surft, wordt er een nieuwe sessie aangemaakt en dus een tel je een nieuwe unieke bezoeker! Terwijl als je op IP had gemeten, en je er vanuit gaat dat bovengenoemde proxies maar sporadisch gebruikt worden, had je hem herkend als dezelfde bezoeker.
Weer een andere oplossing is het plaatsen van een cookie; dan kun je in ieder geval met redelijke zekerheid de machine identificeren. Je kunt dan het aantal cookies tellen als je de echt unieke bezoekers wil weten. Maar ook hier geldt weer een nadeel: steeds meer gebruikers accepteren geen cookies. Dus dat maakt je statistieken onbetrouwbaar.
Om terug te komen op sessies: als een gebruiker geen cookies accepteert, zul je deze moeten doorgeven via de querystring. Waar veel mensen wellicht niet weten dat je de sessie in het sessie-cookie van PHP kunt aanpassen, zullen er wel mensen zijn die dan die sessie in de URL gaan veranderen - voor de gein of wat dan ook. En omdat HTTP stateless is, herkent mijn volgende pagina de veranderde sessie niet meer (want: matched niet in database). De vraag is wat je met zo'n geval moet doen. Compleet uit je statistieken laten of niet?
Eenzelfde problematiek voorzie ik met hits: wat is een hit? CTRL-N? Refresh? Zijn er manieren om deze acties uit te lezen met javascript en dan geen reactie naar de stats-server te sturen?
Graag hoor ik jullie ervaringen. Hoe meet jij unieke bezoekers? Maak je ook gebruik van sessies, IP's en cookies? Kent iemand een goed artikel over deze problematiek?
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."