QUESTO SITO È IL CASO STUDIO

Chi valuta uno studio tecnico apre PageSpeed sul suo dominio prima di leggere qualsiasi portfolio. Giusto così. Questa pagina documenta come è costruito nadiamaar.dev — le decisioni, i vincoli e i numeri — perché ogni affermazione qui si può verificare: nel sorgente, con un curl, o con le misure raccolte adesso sul tuo dispositivo.

Un visitatore e un crawler non vedono lo stesso HTML

Il sito è un'applicazione a rendering client servita come file statici da una CDN. I metadati però li scrive JavaScript — e Bingbot, GPTBot o l'anteprima di WhatsApp non lo eseguono. Per loro c'è un percorso dedicato.

Persona

Crawler

Sette scelte che si vedono nei numeri

Nessuna è esotica. La differenza la fa che siano scritte, misurate e difese da test che falliscono quando qualcuno le smonta per distrazione.

Caratteri serviti da noi, con un test a guardia

Cinque famiglie come woff2 variabili su questo dominio, sottoinsiemi latin ed extended, le due del primo schermo in preload. Un test di build fallisce se una sola richiesta parte verso Google Fonts: un @import è una riga, e rientra facilmente durante un refactor.

Bilingue con completezza verificata dal compilatore

Ogni testo vive in un dizionario italiano+inglese la cui forma è vincolata dal type system: una chiave tradotta a metà non è un avviso, è una build che non parte. La lingua è un prefisso dell'indirizzo, gli hreflang sono reciproci e la sitemap li dichiara per intero.

SEO governata dal database, non dal deploy

Titoli, description e dati strutturati stanno in Postgres e si modificano dal pannello. Il prerender li serve ai crawler, la sitemap si aggiorna da sola, e pubblicare una nuova lingua per una pagina è una riga a database — nessuna ricompilazione.

Analytics senza cookie, IP mai in chiaro

Niente banner perché niente da confessare: la sessione è un identificatore effimero in sessionStorage, l'indirizzo IP diventa un'impronta salata prima di toccare il database, e gli eventi della voronka viaggiano via sendBeacon senza bloccare la navigazione.

Sicurezza a livello di riga, non di interfaccia

L'area clienti è isolata con Row-Level Security di Postgres: il filtro sui dati vale per qualsiasi client, non solo per l'interfaccia che si ricorda di applicarlo. I moduli pubblici inseriscono con la chiave anonima dentro vincoli CHECK, e le letture aggregate passano da funzioni security-definer.

Un solo indirizzo canonico

L'alias di piattaforma e il dominio apice rispondono 308 verso www.nadiamaar.dev. Un sito raggiungibile da due indirizzi è due siti che si fanno concorrenza nell'indice — e il redirect permanente è l'unico modo di dirlo a Google senza ambiguità.

Un budget di prestazione scritto, con soglie scomode

LCP sotto 1,8 s su mobile, meno di 320 kB di JavaScript al primo caricamento, zero richieste a terze parti nel percorso critico. Il budget è nel repository accanto al codice: quando una modifica lo sfora, il problema è della modifica.

Verificalo da solo

Quattro controlli che chiunque può fare in un minuto, senza credere a una parola di questa pagina.

Nadia Maar