Bezoekerstellers houden bij hoe vaak een website wordt bezocht en geven dan ook meestal onderaan de website het aantal bezoekers weer. Hoewel de visuele weergave van deze gebruikersdata meestal een louter illustrerend doel heeft, gebruiken veel websitebeheerders de bezoekersaantallen tegenwoordig ook voor hun eigen webanalyses. De meesten vertrouwen hiervoor op de geïntegreerde webtelleropties van contentmanagementsystemen of sitebuilders, of ze kopen een visitor counter of hit teller van één van de verschillende online aanbieders. Deze oplossingen maken vaak gebruik van de zogenoemde telpixels. Deze zijn vooral bekend in de wereld van de logbestandanalyses of soortgelijke JavaScript-toepassingen. Die toepassingen registeren naast het aantal bezoekers ook specifieke informatie over de individuele gebruikers.
Om niet afhankelijk te zijn van een externe serviceprovider en om het op veilig te spelen met de vereisten omtrent privacy, kun je ervoor kiezen om je eigen bezoekersteller te maken en deze op je eigen webspace te laten draaien. Je hebt alleen een database of een text file nodig, en basiskennis van PHP.
De eenvoudigste manier om een bezoekersteller op je website te integreren is ongetwijfeld het downloaden van een volledig script. Het verschil tussen gratis en betaalde bezoekerstellers is vooral de functieomvang. Beide zullen natuurlijk bezoekers tellen. Maar als je kiest voor een betaalde versie, ontvang je meestal ook visueel uitgewerkte statistieken met informatie die veel verder gaat dan alleen de weergave van websitetraffic. Hoe gedetailleerd deze informatie is, hangt ervan af of de registratie van de bezoekersactiviteiten alleen op de server gebeurt, of ook aan de client-zijde (bij de websitebezoeker). In beide gevallen zijn echter de volgende standaardparameters opgenomen:
De server kan, afhankelijk van de configuratie, een unieke identificatie (de zogeheten session cookie) toewijzen aan elke individuele bezoeker bij zijn eerste toegang of bezoek. In de statistieken van de bezoekersteller kun je zien of dit het eerste sitebezoek is voor een gebruiker, of dat hij of zij meerdere pagina's heeft bezocht. Met behulp van JavaScript of Adobe Flash aan de client-zijde kun je de hoeveelheid informatie die je verzamelt verhogen. De tracking toont bijvoorbeeld welke besturingssysteem en welke browserextensies de bezoeker heeft gebruikt, of zelfs welke schermresolutie is ingesteld. Deze laatste set aan informatie kan een cruciale rol spelen bij het optimaliseren van websites voor bijvoorbeeld mobiele apparaten.
Bij de meeste aanbieders kun je kiezen tussen verschillende ontwerpen en formaten om de bezoekersteller op je website weer te geven. Kies eenvoudigweg een van de beschikbare ontwerpen en selecteer de door jou gewenste grootte en genereer met één klik via de tool in kwestie een HTML-code. Deze snippet wordt vervolgens geïntegreerd op de door jou gekozen plek op je website om zo tot slot de tracking van de bezoekers te activeren.
Als je een eigen hit teller voor je website wilt maken, moet je eerst de juiste structuren aanmaken. De bezoekerstoegangen moeten niet enkel geregistreerd worden maar ook worden opgeslagen. Pas dan kan de teller later de actuele stand weergeven en zinvolle statistieken leveren. Voor kleinere websites kan een eenvoudige text file, dat je op je server plaatst en als locatie in het script opgeeft, de klus al klaren. Echter, hoe groter je webproject en de gemiddelde traffic op je site zijn, hoe groter de kans dat je een database zoals MySQL moet gebruiken om de informatie op te slaan. Voordat we in het daadwerkelijke script duiken, bespreken we kort de bijbehorende databaseconfiguratie in de volgende sectie.
Een koppeling met een database is over het algemeen complexer dan enkel informatie ophalen uit een eenvoudige text file. Er zijn ook meer voorwaarden aan verbonden. Ga dus op voorhand na of het gebruik van MySQL en vergelijkbare databases de moeite loont, of je project juist te veel gaat vertragen. Afhankelijk van de informatie die je wilt vastleggen en evalueren met je bezoekersteller, moet je een tabel met een overeenkomstig aantal velden maken. Vier informatievelden zijn in het bijzonder interessant:
De scripttaal PHP is perfect geschikt voor zowel het overbrengen van de bezoekersgegevens naar de database als voor het uitlezen van de datum die nodig is voor de teller. Ben je nog niet bekend met PHP? Dan kan onze beginnershandleiding je verderhelpen. Het PHP-script voor de bezoekersteller moet over een functie beschikken die aan de volgende drie eisen voldoet:
Aangezien het volledige script vrij complex is, behandelen de volgende secties elk van de afzonderlijke sub-stappen van de functie op zich. In deze tutorial wordt de functie voor het gemak 'visitor’ genoemd.
De bezoekersteller PHP-code begint met de noodzakelijke parameters voor het initiëren van de database. Deze zijn de volgende: de databaseserver, het wachtwoord en de inlognaam van de database, en ook de juiste spelling van de tabel en de verplichte velden (zoals access_page). Het is belangrijk dat hier de juiste gegevens worden ingevoerd, zodat later een verbinding met de database kan worden gemaakt.
<?php
function visitor($record) {
$db_host = "rdbms.strato.de";
$db_username = "gebruikersnaam";
$db_password = "wachtwoord";
$db_name = "database-naam";
$db_table = "tabel-naam";
$counter_page = "access_page";
$counter_field = "access_counter";
Hierna komt de instructie die gebruikt wordt om de database te openen of een foutmelding uit te sturen als de verbinding mislukt.
$db = mysqli_connect($db_host, $db_username, $db_password, $db_name) or die("Host not accessible");
$db = mysql_select_db ($db_name, $link) or die("Database not accessible");
Na deze invoer moet het PHP-script worden uitgebreid met de bijbehorende regels voor het vullen van de databank. De invoer van 'INSERT .... ON DUPLICATE KEY UPDATE' in combinatie met de geïntegreerde verhoging van de field value met 1 is van cruciaal belang om ervoor te zorgen dat de teller naar behoren wordt geüpdatet als een dataset al blijkt te bestaan.
$sql_call = "INSERT INTO ".$db_table." (".$counter_page.", ".$counter_field.")
VALUES ('".$record."', 1) ON DUPLICATE KEY UPDATE ".$counter_field." = ".$counter_field." + 1";
mysqli_query($db, $sql_call) or die("Error while entering");
Hiermee vervult de functie reeds twee van de drie omschreven taken. Ze zorgt voor de verbinding met de database en voor de verdere aanmaak van de datasets of het bijwerken van bestaande datasets. Omdat het script nog steeds moet voldoen aan een derde vereiste om de actuele status van de bezoekersteller - dus het exacte aantal bezoekers dat geregistreerd is op dat moment - terug te sturen naar de website, moet je nu een overeenkomstige database-query toevoegen (mysql_query) en de numerieke output van de resultaten definiëren (mysql_fetch_assoc). In de laatste stap moet de functie de database sluiten en het resultaat teruggeven aan de website via return. Het laatste deel van de functie gaat als volgt:
$sql_call = "SELECT ".$counter_field. " FROM ".$db_table." WHERE ".$counter_page. " = '".$record. "'";
$sql_result = mysqli_query($db, $sql_call) or die("SQL request failed");
$row = mysqli_fetch_assoc($sql_result);
$x = $row[$counter_field];
mysqli_close($db);
return $x;
}
?>
Nadat de afzonderlijke onderdelen van de PHP-functie in de vorige secties al zijn uitgelegd, stellen we je in deze sectie nu het volledige script voor waarmee je een gratis bezoekersteller aan je homepage kunt toevoegen.
<?php
function besucher($record) {
$db_host = "localhost";
$db_username = "nutzername";
$db_password = "passwort";
$db_name = "datenbank-name";
$db_table = "tabellen-name";
$counter_page = "access_page";
$counter_field = "access_counter";
$db = mysqli_connect ($db_host, $db_username, $db_password, $db_name)
or die("Host oder Datenbank nicht erreichbar");
$sql_call = "INSERT INTO ".$db_table." (".$counter_page.", ".$counter_field.") VALUES ('".$record."', 1)
ON DUPLICATE KEY UPDATE ".$counter_field." = ".$counter_field." + 1";
mysqli_query($db, $sql_call) or die("Fehler beim Einfügen");
$sql_call = "SELECT ".$counter_field. " FROM ".$db_table." WHERE ".$counter_page. " = '".$record. "'";
$sql_result = mysqli_query($db, $sql_call) or die("SQL-Anfrage fehlgeschlagen");
$row = mysqli_fetch_assoc($sql_result);
$x = $row[$counter_field];
mysqli_close($db);
return $x;
}
?>
Als je je eigen afgewerkte PHP bezoekersteller wilt integreren op je website, dan moet je een paar kleine wijzigingen aanbrengen in het bijbehorende HTML-document. De belangrijkste update is het wijzigen van de bestaande .html-extensie naar de .php-extensie. Je moet ook een duidelijke en unieke naam toekennen aan de PHP-variabele $page_name in de headlinevan de pagina.
<?php
$page_name = "Individueller Seitenname";
?>
Met behulp van de PHP-functie echo kan je de uitgekozen paginanaam, die later in het access_page-veld van de databank komt, tot titel van de site maken.
<title><?php echo $page_name; ?></title>
Om het script van de bezoekersteller te integreren - in dit voorbeeld webcounter.php genoemd - geef je nu de PHP-opdracht include op in de gewenste positie op je website. In dezelfde stap geef je ook de inhoud van de variabele $page_name door aan de 'visitor' functie:
<?php
include "webcounter.php";
$anzahl_zugriffe = besucher($page_name);
?>
Zodra je deze visitor counter code in de pagina hebt ingebed, treedt je PHP-script in werking: als de paginatitel (de inhoud van $page_name) nog niet bestaat in de tabel van de database, zorgt het ervoor dat er een overeenkomstig bestand wordt aangemaakt. Het veld access_counter krijgt de waarde 1 en de functie vertelt de website dat er een bezoeker is geweest. Als er al een eerdere overeenkomstige vermelding bestaat, wordt de teller in de database ook slechts met 1 verhoogd.
Nadat je de bezoekersteller hebt aangemaakt en deze is begonnen met het registreren van de individuele bezoeken aan je website, kun je de actuele tellerstand ook direct op je website weergeven. De eenvoudigste manier om dit te doen is bijvoorbeeld door een bericht automatisch in de voettekst van de pagina te laten verschijnen. Alles wat je hiervoor nodig hebt is een voettekst-element. Met het echo-commando voeg je de huidige waarde van de variabele $number_accesses toe aan de tekst:
<footer>
<p>
<?php echo "Sie sind bereits der ", $anzahl_zugriffe, ". Besucher auf dieser Seite!";
?>
</p>
</footer>
Een visitor counter is een handige marketingtool op je website, maar wordt nu vooral gebruikt om het aantal clicks op specifieke content, zoals video’s of blogposts, weer te geven. Daarnaast natuurlijk ook voor gegevensverzameling. Met ons overzicht weet je dus hoe je een bezoekersteller zelf kunt maken. Wil je nog meer tips over het maken van een website? Lees bijvoorbeeld onze handleiding over het embedden van video met HTML. Of ontdek hoe je de snelheid van je website kunt verbeteren.