Come configurare un contatore visite per il vostro sito web

I contatori visite registrano la frequenza con cui un sito web viene visitato, di solito indicando il numero di visitatori nella parte inferiore della homepage. Mentre generalmente l'output visivo dei dati utente ha solo uno scopo rappresentativo, molti operatori sfruttano i dati ottenuti relativi ai visitatori anche per l'analisi web. A tal fine la maggior parte di loro ricorre alle possibilità integrate offerte dai web counter dei Content Management System o dei siti già pronti, o in alternativa acquistano un contatore da uno dei vari fornitori online. Spesso queste soluzioni fanno uso dei noti “pixel di tracking” o di applicazioni JavaScript simili facenti parte dell'ambito dell’analisi dei file di log, le quali registrano informazioni specifiche aggiuntive sui singoli utenti oltre al mero numero di visitatori.

Per non dipendere da un fornitore esterno di servizi ed essere al sicuro quando si tratta di protezione dei dati, è anche possibile creare un proprio contatore visite e integrarlo sul proprio spazio web. Tutto ciò di cui avete bisogno è un database o un file di testo e un po’ di conoscenza di base del linguaggio PHP.

Come funzionano le soluzioni web counter disponibili in rete per il download?

Il modo più semplice per implementare un contatore sul vostro sito web è senza dubbio quello di scaricare uno script già pronto. I contatori visite a pagamento e gratuiti differiscono principalmente per la varietà di servizi che offrono. Se optate per una soluzione a pagamento, in genere riceverete anche statistiche contenenti molto più che le semplici informazioni sul traffico. Il grado di dettaglio di queste informazioni varia a seconda della registrazione delle attività dei visitatori, se avvenga esclusivamente lato server o se invece lato client. Tuttavia in entrambi i casi i seguenti parametri di base sono registrati come standard:

  • Ora e data di accesso
  • Indirizzo IP dei visitatori
  • Client del visitatore
  • URL sorgente

A seconda della configurazione il server può assegnare un identificatore univoco, il cookie di sessione, a ogni singolo visitatore durante il suo primo accesso. In questo modo le statistiche del contatore visite possono essere utilizzate per considerare se è la prima volta che un utente richiama una pagina o se ha già visitato svariate volte le vostre pagine. Con l'aiuto di JavaScript o Adobe Flash lato client è possibile ottenere ulteriori informazioni. Ad esempio il tracking (in italiano: “tracciamento”) rivela quali estensioni del sistema operativo e del browser sono state utilizzate dal visitatore così come le sue impostazioni di risoluzione dello schermo. Queste ultime informazioni possono svolgere un ruolo decisivo nell'ottimizzazione dei siti web per i dispositivi mobili.

Con la maggior parte dei provider è possibile scegliere tra diversi design e dimensioni per il contatore visite: basta infatti selezionare uno dei design disponibili e la dimensione desiderata e con un clic sull’apposito tool verrà generato il codice HTML per la sua implementazione. L’inserimento di questo frammento di codice sul vostro sito web, nella posizione che ritenete più opportuna, attiverà quindi il monitoraggio dei visitatori.

Come creare un contatore visite

Se desiderate creare un vostro contatore visite per la vostra homepage, per prima cosa è necessario che realizziate le strutture appropriate. Ad esempio gli accessi che sono stati registrati devono essere prima salvati: questo è infatti l'unico modo in cui il web counter potrà successivamente essere in grado di visualizzare lo stato attuale e fornire statistiche significative. Per i siti web più piccoli è sufficiente un semplice file di testo da inserire sul server e da specificare come luogo di archiviazione nello script. Tuttavia più ampi sono il vostro progetto web e il traffico medio, più sensato è l’utilizzo di un database come MySQL per la memorizzazione delle informazioni. Prima di passare ad occuparci dello script vero e proprio, la sezione successiva si sofferma a trattare la rispettiva configurazione del database.

Configurare il database MySQL per il web counter

Generalmente il collegamento a un database è associato a più query ed è quindi più complesso rispetto al recupero delle informazioni da un semplice file di testo. Pertanto vi conviene verificare in anticipo se l'utilizzo di MySQL e simili valga la pena o se invece rallenti inutilmente il vostro progetto. A seconda del tipo di informazioni che desiderate inserire e valutare con il vostro contatore visite, è necessario creare una tabella con un numero corrispondente di campi. Particolarmente importanti sono i seguenti quattro campi:

  • id Al primo posto della tabella creata si consiglia il campo "id", che viene utilizzato per la chiarezza e la semplicità nella gestione dei record di dati, come ad esempio nel caso in cui le voci debbano essere ordinate. L'uso di questo campo è raccomandato ma non obbligatorio. Per garantire che il database sia numerato automaticamente in modo consecutivo e che ogni numero sia assegnato una sola volta, è necessario specificare anche i parametri AUTO_INCREMENT e PRIMARY KEY.
  • access_page Questa colonna è sempre indispensabile poiché fa riferimento al titolo del sito web in cui è integrato il contatore visite. Servendovi dei parametri NOT NULL e UNIQUE potete ulteriormente accertarvi che non vengano create voci doppie. Per questo campo è possibile utilizzare VARCHAR o TEXT come tipo di dati. Inoltre si consiglia di specificare il collation (set di caratteri) utf8_bin, in modo che anche gli accenti vengano salvati e inviati correttamente.
  • access_counter Il contatore visite effettivo delle pagine HTML si nasconde dietro al campo INTEGER "access_counter". Ogni volta che si accede alla "pagina access_page" in questione, il valore aumenta automaticamente di 1.
  • access_date Sebbene la marca temporale (timestamp) per accedere a una pagina non debba necessariamente essere salvata nel database, di solito è uno dei primi valori raccolti da un web counter. Utilizzando il tipo di dati TIMESTAMP, compreso l'attributo CURRENT_TIMESTAMP, ottenete le voci correnti che contengono sia la data che l'ora esatta. Se specificate anche la regola ON UPDATE CURRENT_TIMESTAMP, il database inserisce automaticamente il timbro dell'ora senza che sia necessaria un'ulteriore programmazione.

Creare la corretta funzione del contatore PHP

Il linguaggio di scripting PHP è perfetto per inoltrare i dati dei visitatori al database e quindi esaminare i dati necessari per il contatore. A tal fine lo script corrispondente deve contenere una funzione che esegua le seguenti tre attività:

  1. deve essere in grado di stabilire un collegamento al database e aprire quest’ultimo.

  2. Deve controllare la tabella per vedere se un particolare record esiste già, e quindi aumentare il suo contatore di accesso di 1 o creare un nuovo record con il valore 1.

  3. Deve restituire il valore corrente del contatore visite in modo che possa essere presentato correttamente sulla homepage.

Siccome lo script completo è abbastanza complesso, i paragrafi seguenti trattano separatamente i singoli sottopunti della funzione, che in questa guida è stata chiamata "visitatore".

Il codice PHP del contatore visite comincia con i parametri necessari per inizializzare il database - server e proprietario del database, la sua password e il suo nome di login così come l'ortografia corretta della tabella e dei campi richiesti (come access_page). È importante inserire i dati corretti in modo che la connessione al database possa essere stabilita in un secondo momento.

<?php
function visitatore($record) {
  $db_host = "localhost";
  $db_username = "nome-utente"; 
  $db_password = "password";
  $db_name = "nome-database";
  $db_table = " nome-tabelle";
  $counter_page = "access_page";
  $counter_field = "access_counter";

Il passo successivo consiste nell'aprire il database o nell’inviare un messaggio di errore se la connessione fallisce.

$db = mysqli_connect($db_host, $db_username, $db_password, $db_name) or die("Host non raggiungibile");
$db = mysql_select_db ($db_name, $link) or die("Database non raggiungibile");

Dopo aver inserito queste voci, lo script PHP deve essere ampliato con le stringhe corrispondenti per riempire il database. Decisiva è l'affermazione "INSERT... ON DUPLICATE KEY UPDATE", che in combinazione con l'aumento integrato di 1 del valore di campo garantisce che il contatore venga aggiornato come desiderato se esiste già un set di dati:

$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("Errore di inserimento");

Ciò significa che la funzione assolve già due dei tre compiti definiti: fornisce il collegamento al database, la successiva creazione dei set di dati e l'aggiornamento di quelli esistenti. Tuttavia, poiché lo script ha un terzo compito e si suppone che trasmetta al sito web lo stato attuale del contatore visite, è ora necessario inserire una query del database corrispondente (mysql_query) e definire l'output numerico del risultato (mysql_fetch_assoc). Nell'ultimo passaggio la funzione dovrebbe chiudere il database e restituire il risultato tramite return, per cui la parte finale della funzione è come segue:

$sql_call = "SELECT ".$counter_field. " FROM ".$db_table." WHERE ".$counter_page. " = '".$record. "'";
$sql_result = mysqli_query($db, $sql_call) or die("SQL-richiesta fallita");
$row = mysqli_fetch_assoc($sql_result);
$x = $row[$counter_field];

mysqli_close($db);
return $x;
  }
?>

Lo script PHP definitivo

Dopo che le singole parti della funzione PHP sono state spiegate nelle sezioni precedenti, vi presentiamo di nuovo lo script completo con il quale potete integrare gratuitamente un contatore visite sulla homepage del vostro sito web.

<?php
function visitatore($record) {
  $db_host = "localhost";
  $db_username = "nome-utente"; 
  $db_password = "password";
  $db_name = "nome-database";
  $db_table = "nome-tabelle";
  $counter_page = "access_page";
  $counter_field = "access_counter";

  $db = mysqli_connect ($db_host, $db_username, $db_password, $db_name) or die("Host o database non raggiungibile");

  $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("Errore nell'inserimento");

$sql_call = "SELECT ".$counter_field. " FROM ".$db_table." WHERE ".$counter_page. " = '".$record. "'";
$sql_result = mysqli_query($db, $sql_call) or die("SQL-richiesta fallita");
$row = mysqli_fetch_assoc($sql_result);
$x = $row[$counter_field];

mysqli_close($db);
return $x;
  }
?>

Integrare lo script nei documenti HTML

Se desiderate integrare il vostro contatore visite PHP in una pagina web, è sufficiente che apportiate alcune modifiche minori al documento HTML corrispondente. La modifica più importante è che si scambierà l'attuale estensione .html con l'estensione .php. Dovreste anche assegnare un nome di pagina significativo alla variabile PHP $page_name nell'area del header:

<?php
  $page_name = "Nome di pagina personalizzato";
?>

Si può anche usare la funzione eco PHP per fare diventare il nome che avete scelto per la pagina il titolo della pagina, dopodiché verrà aggiunto al campo access_page del database.

<title><?php echo $page_name; ?></title>

Per l'integrazione dello script del contatore visite, qui chiamato webcounter.php come esempio, eseguite il comando PHP include nella posizione desiderata del vostro sito web. Passare poi il contenuto della variabile $page_name alla funzione "visitatore()":

<?php
include "webcounter.php";
$numero_accessi = visitatore($page_name);
?>

Non appena avrete incluso questo codice nella pagina, entra in azione lo script PHP: se il titolo della pagina (il contenuto di $page_name) non è ancora disponibile nella tabella del database, assicuratevi che venga creato un record di dati corrispondente. Il campo access_counter assume il valore 1 e la funzione trasmette al sito web che si è verificato un accesso. Se esiste già una voce corrispondente, il contatore viene aumentato solo di 1 nel database.

Presentazione del numero di visitatori sulla homepage

Dopo aver creato il contatore visite e questo ha iniziato a registrare gli accessi dei vostri visitatori, potete attivare lo stato dei visitatori anche direttamente sulla vostra pagina web. Un modo semplice per farlo è ad esempio un avviso che viene mostrato automaticamente nel footer della pagina. A tal fine necessitate solo di un elemento footer. Attraverso il comando echo aggiungete al testo il valore attuale delle variabili $numero_accessi:

< footer>
  <p>
<?php
    echo "Siete la visita numero", $numero_accessi, "di questa pagina!";
    ?>
</p>
</footer>

Abbiamo una proposta per te:
Web hosting a partire da 1 €/mese!

Dominio gratis
Certificato SSL Wildcard incluso
Assistenza clienti 24/7
A partire da 1 €/mese IVA escl. per un anno,
poi 8 €/ mese IVA escl.