Dopo aver pubblicato qualche articolo, prima o poi arriva quella domanda abbastanza inevitabile:
ma lo legge qualcuno?
Non è necessariamente una questione di numeri. Più che altro viene naturale voler capire se quello che si sta scrivendo arriva da qualche parte, se qualcuno ci capita per caso, se un articolo viene cercato da Google o se, più semplicemente, il blog rimane lì a prendere polvere.
Dopo quattro post pubblicati, la curiosità ha iniziato a vincere.
Così ho pensato di aggiungere un sistema di statistiche.
La soluzione più ovvia che ho scartato
La prima cosa che viene in mente è, ovviamente, Google Analytics.
È probabilmente la soluzione più conosciuta e, per un sito che deve fare analisi approfondite del traffico, anche molto potente.
Per questo blog, però, mi è sembrata immediatamente un po' fuori scala.
Per prima cosa c'è tutta la questione dei cookie e del consenso. Aggiungere un sistema di analytics significa anche dover introdurre nel sito una parte dedicata alla gestione del consenso, con banner, informative e tutto il resto.
E poi c'è il fatto che i dati delle visite finiscono comunque nell'infrastruttura di Google.
Non è necessariamente un problema, ma mi sono chiesto se avesse davvero senso per un piccolo blog personale che, al momento, conta più articoli che visitatori.
C'era anche una questione molto meno tecnica: il banner semplicemente non ci stava bene.
Ho cercato di mantenere il sito piuttosto essenziale, senza elementi che non servissero realmente. Aggiungere una grossa interfaccia per i cookie solo per sapere quante persone hanno aperto una pagina mi sembrava un compromesso poco coerente con il resto.
Serviva qualcosa di più semplice.
Ho scelto Umami
La soluzione che ho trovato è stata Umami.
L'idea mi è piaciuta praticamente subito: analytics, ma senza trasformare il sito in una macchina per raccogliere dati.
È self-hosted, non richiede cookie per il normale funzionamento e lavora con dati aggregati e anonimi. In altre parole, posso vedere quante visite riceve una pagina, da dove arriva il traffico e quali contenuti vengono consultati senza dover costruire un sistema che segue i visitatori in giro per il web.
E soprattutto posso gestirlo io.
È una cosa che mi piace abbastanza dell'infrastruttura che ho messo insieme nel tempo: quando serve un servizio nuovo, spesso non devo partire da zero. C'è già un server, ci sono già i miei container, c'è già un modo abbastanza collaudato di mettere in piedi le cose.
Quindi Umami si è inserito abbastanza naturalmente in questo ecosistema.
Metterlo in piedi è stato abbastanza semplice
Il setup non è stato particolarmente complicato.
Ho aggiunto Umami alla mia infrastruttura Docker, affiancandogli il suo database e configurando un sottodominio dedicato. Ho poi sistemato la parte relativa al certificato SSL e collegato il blog al nuovo pannello.
Niente di particolarmente esotico, insomma.
La parte interessante, però, è che quando una cosa sembra troppo semplice probabilmente manca ancora qualcosa.
E infatti mancava.
La password che era giusta. Ma non quella giusta.
A un certo punto Umami non voleva saperne di collegarsi al database.
Il messaggio di errore, come spesso accade in questi casi, era estremamente utile nel modo in cui lo sono gli errori che non ti dicono praticamente nulla.
Autenticazione fallita.
Controllo le variabili d'ambiente.
La password sembra corretta.
La ricontrollo.
Sembra ancora corretta.
Ricontrollo il database.
Poi riguardo le configurazioni e mi accorgo che le due password, in realtà, non erano la stessa password.
Una piccola differenza in una variabile d'ambiente, sufficiente per perdere un po' di tempo a chiedersi perché un database appena creato improvvisamente non collaborasse.
Risolto quello, però, rimaneva un altro dettaglio.
Avevo modificato la configurazione e fatto ripartire i container, ma il database continuava a comportarsi come se ricordasse la vecchia password.
E in effetti la ricordava.
Perché "docker compose down" ferma e rimuove i container, ma non elimina automaticamente i volumi persistenti.
Il database, quindi, era ancora lì con le sue vecchie credenziali.
La soluzione era ricreare anche il volume e ripartire da uno stato pulito.
Una di quelle cose che, quando le sai, sembrano ovvie.
Prima, decisamente meno.
Alla fine, era esattamente quello che cercavo
Adesso ho finalmente un modo per rispondere a quella domanda che mi aveva fatto iniziare tutto:
qualcuno legge questo blog?
Posso vedere se gli articoli ricevono visite, quali sono quelli più letti, da dove arriva il traffico e, soprattutto, se chi arriva si ferma a leggere qualcosa in più.
Non ho bisogno di sapere chi sia quella persona.
Non ho bisogno di costruire un profilo del visitatore.
E non ho dovuto riempire il sito di banner e finestre di consenso.
Per un blog personale mi sembra un compromesso molto più sensato: avere qualche dato utile per capire se quello che scrivo sta arrivando a qualcuno, mantenendo però la stessa idea con cui il sito è nato.
Alla fine volevo solo delle statistiche.
Ho aggiunto un altro servizio al server, un database, un sottodominio, SSL e ho perso un po' di tempo dietro a una password sbagliata.
Direi che è andata abbastanza bene.