Ik ben wat aan het knoeien met een bezoekersteller voor m'n content management system. Ik zou graag het aantal unieke bezoekers willen tellen. Niet zomaar van de hele site, maar per nieuwsbericht zodat ik kan zien hoeveel unieke gebruikers een bepaald bericht hebben bekeken.
De vraag is alleen, hoe pak ik dat efficiënt aan?
Een unieke gebruiker herkennen we aan z'n IP. Dus het ip moet sowieso al in de database. Je zou in de tabel waarin de IP adressen opgeslagen worden ook de pagina id kunnen opslaan. Zo kun je met een WHERE eenvoudig kijken of een bezoeker een bepaalde pagina reeds heeft bezocht. In een andere tabel hou je de hits zelf bij, ook per pagina id.
Maar zo groeit de tabel schrikwekkend snel bij een groot aantal bezoekers die vele pagina's bekijken...
Is het dan misschien een goed idee om ook de datum van het bezoek op te slaan zodat ik bv na x aantal dagen de 'oudere' bezoekers uit de table kan gooien. Je kunt wel zeggen dat het dan niet echt meer een unieke gebruikersteller is, maar het werkt wel afdoende genoeg tegen Refresh praktijken.
Ik zag dat tweakers.net ook een views teller heeft per nieuwsbericht. Refreshen heeft geen effect op het aantal views, dus ik veronderstel dat er ook naar unieke gebruikers gekeken wordt. Maar hoe lost tweakers.net, of zou jij dit efficiënt oplossen? Het zou jammer zijn dat de performance van de site gaat lijden omdat er een stom tellertje op komt.
De vraag is alleen, hoe pak ik dat efficiënt aan?
Een unieke gebruiker herkennen we aan z'n IP. Dus het ip moet sowieso al in de database. Je zou in de tabel waarin de IP adressen opgeslagen worden ook de pagina id kunnen opslaan. Zo kun je met een WHERE eenvoudig kijken of een bezoeker een bepaalde pagina reeds heeft bezocht. In een andere tabel hou je de hits zelf bij, ook per pagina id.
Maar zo groeit de tabel schrikwekkend snel bij een groot aantal bezoekers die vele pagina's bekijken...
Is het dan misschien een goed idee om ook de datum van het bezoek op te slaan zodat ik bv na x aantal dagen de 'oudere' bezoekers uit de table kan gooien. Je kunt wel zeggen dat het dan niet echt meer een unieke gebruikersteller is, maar het werkt wel afdoende genoeg tegen Refresh praktijken.
Ik zag dat tweakers.net ook een views teller heeft per nieuwsbericht. Refreshen heeft geen effect op het aantal views, dus ik veronderstel dat er ook naar unieke gebruikers gekeken wordt. Maar hoe lost tweakers.net, of zou jij dit efficiënt oplossen? Het zou jammer zijn dat de performance van de site gaat lijden omdat er een stom tellertje op komt.
A bus station is where a bus stops. A train station is where a train stops... On my desk I have a workstation.