Contare i clic senza leggere il testo del collegamento
Un contatore risponde a «quanti sono venuti». La domanda più utile è di solito «quanti hanno fatto qualcosa» — premuto il collegamento dei contatti, aperto il download, usciti verso un profilo social. Questo servizio ha gli eventi per questo da quando sono stati costruiti: metti data-s4u-event="contatti" su un elemento e i clic su di esso vengono contati con quel nome.
Quasi nessuno lo usava, perché quasi nessuno lo sapeva. C’è quindi ora una casella: conta automaticamente i clic sui collegamenti, senza attributi. La cosa interessante non è l’interruttore. È come si chiama la cosa contata.
Non il testo del collegamento
Il nome ovvio per un clic sono le parole su cui il visitatore ha premuto. È anche quello sbagliato.
Il testo di un collegamento è contenuto libero. Un collegamento può dire «Ordine 4711» oppure «Messaggio da Anna», può portare un numero civico, un codice di prenotazione, un indirizzo e-mail. Tutto questo finirebbe in una colonna di database chiamata name e resterebbe lì. L’informativa sulla privacy di questo servizio dice che le statistiche non contengono dati personali, e questo deve restare vero senza dipendere da ciò che un titolare di sito scrive dentro un tag di collegamento.
C’è un secondo problema, più piccolo ma reale: venti collegamenti che dicono «qui» su una pagina sono un nome che non dice nulla, e lo stesso collegamento in undici traduzioni sarebbero undici nomi dei cinquanta a cui un contatore ha diritto.
Il nome viene quindi dal percorso di destinazione. L’ha scelto il titolare del sito, è stabile, ed è già la chiave che usano le statistiche delle pagine.
Tre normalizzazioni, ciascuna per un motivo
- Prefisso di lingua rimosso.
/de/bloge/pl/blogsono la stessa pagina. Senza questo, il solo selettore di lingua di un sito multilingue consumerebbe undici dei cinquanta nomi. - Le sequenze di cinque o più cifre diventano
n. Due pagine di statistiche con numeri di contatore diversi non sono due pagine; sono due volte la stessa. - I collegamenti che escono dal sito diventano
ex-più l’host. Il percorso di una pagina altrui non dice nulla al titolare. Dove è andato il clic, sì.
Le ancore, mailto:, tel: e javascript: vengono saltati — non sono destinazioni per cui qualcuno abbia bisogno di un numero. Anche gli elementi che portano già un proprio nome di evento vengono saltati, altrimenti lo stesso clic verrebbe contato due volte.
Quanto costa
Lo script nel browser è cresciuto di 1.022 byte compressi, una volta per prima visita. Nient’altro: l’indicatore viaggia dentro una richiesta che lo script fa comunque a ogni caricamento di pagina — una richiesta che finora rispondeva sempre con la stessa costante — quindi non c’è un secondo viaggio. Sul server, l’elenco dei contatori con l’interruttore attivo vive in un piccolo file anziché in una query, perché quella query è una scansione completa di 166.433 righe e costa 143,9 millisecondi misurati.
Per impostazione predefinita è disattivato, e resta così. A questo volume, attivarlo ovunque aggiungerebbe circa novemila scritture al giorno alla tabella più scritta che ci sia qui. È una cosa che si attiva, non una cosa che ti capita.