# Come misuriamo i siti web delle aziende

Source: <https://www.nfw.run/stato-del-web/metodo>

// Stato del web: metodo

Ogni report dello stato del web racconta una città in un mese. Le cifre cambiano da città a città, le regole no: sono scritte qui, una volta sola. Ogni report dice poi cosa vale solo per la sua analisi, come le date e il tipo di analisi.

[Da dove vengono le attività](#fonte) [Cosa conta come sito funzionante](#sito-funzionante) [Attività e siti: due unità diverse](#unita) [Analisi rapida e analisi completa](#tipo-di-analisi) [Lighthouse e Core Web Vitals](#lighthouse) [Medie, mediane e percentili](#percentili) [Dati strutturati di base](#dati-strutturati) [Sitemap, canonical e Search Console](#google) [Il punteggio AI](#punteggio-ai) [Blacklist antispam](#blacklist) [La media nazionale](#media-nazionale) [Ogni quanto analizziamo una città](#frequenza) [Cosa non pubblichiamo](#privacy)

## Da dove vengono le attività

Le attività vengono da Overture Maps, un archivio aperto di luoghi e attività usato anche da diverse mappe. Contiamo quelle il cui punto cade dentro i confini amministrativi della città, il comune e non la provincia, dopo aver escluso le categorie che non riguardano la presenza online.

Il sito di ogni attività è quello indicato nella sua scheda. Non è il registro delle imprese: sono le attività che un cliente trova su una mappa, con i dati che la mappa riporta.

[Cos'è Overture Maps e perché lo usiamo](https://www.nfw.run/stato-del-web/overture-maps)

## Cosa conta come sito funzionante

Un sito funziona quando almeno una delle sue pagine risponde senza errori. Se il nostro strumento si blocca a metà analisi, per un timeout o un errore di Lighthouse, il sito resta funzionante: è un nostro limite, non un problema del sito.

Un profilo social, un'app, una pagina su un portale di prenotazioni, di consegne o su un marketplace non contano come sito, anche se l'attività li indica come tale. Tutte le cifre sul web riguardano solo i siti funzionanti.

## Attività e siti: due unità diverse

Le attività si contano una per una. Tutto quello che riguarda il web si conta per sito: un centro commerciale i cui 40 negozi indicano lo stesso sito vale un sito, non 40. I dati strutturati di base sono l'eccezione e si contano per attività, perché descrivono ciascuna attività.

Ogni cifra dice su quanti siti o attività è calcolata. Un dato che non è stato possibile misurare su un sito non conta come fallito: quel sito resta fuori da quella cifra. Per questo le cifre di uno stesso report possono riguardare numeri di siti leggermente diversi.

## Analisi rapida e analisi completa

In un'analisi rapida il crawler legge la home di ogni sito e le prime 4 pagine della sua sitemap. Lighthouse e il riconoscimento delle tecnologie (Wappalyzer, dopo l'esecuzione del JavaScript) girano solo sulla pagina principale.

In un'analisi completa il crawler legge più pagine per sito; Lighthouse resta sulla pagina principale, così i punteggi di città diverse restano confrontabili.

## Lighthouse e Core Web Vitals

Lighthouse è lo strumento di Google alla base di PageSpeed Insights. Lo usiamo con le impostazioni predefinite: simula un telefono di fascia media su una rete mobile lenta. Sono misure di laboratorio, uguali per tutti i siti, non tempi di visitatori reali: servono a confrontare i siti tra loro, e sono più alte di quelle di un computer collegato in fibra.

I punteggi vanno da 0 a 100, con le fasce di Lighthouse: da 0 a 49 scarso, da 50 a 89 da migliorare, da 90 a 100 buono. Per i tempi usiamo le soglie che Google pubblica per i Core Web Vitals. L'interattività (INP) in laboratorio non si misura, quindi non compare.

| Misura                              | Buono fino a | Scarso oltre |
| ----------------------------------- | ------------ | ------------ |
| Primo contenuto visibile (FCP)      | 1,8 s        | 3 s          |
| Contenuto principale visibile (LCP) | 2,5 s        | 4 s          |
| Risposta del server (TTFB)          | 0,8 s        | 1,8 s        |
| Spostamenti del layout (CLS)        | 0,1          | 0,25         |

## Medie, mediane e percentili

La mediana è il valore che divide i siti a metà: metà sta sopra, metà sotto. Il 25° e il 75° percentile racchiudono la metà centrale dei siti, il 10° e il 90° lasciano fuori i casi estremi. I percentili sono interpolati tra i due valori più vicini, come fa la funzione percentile\_cont di SQL.

Le medie e le percentuali sono arrotondate a un decimale. Quando un report mostra sia la media sia la mediana, la differenza dice quanto pesano i casi estremi.

## Dati strutturati di base

Un'attività ha i dati strutturati di base completi quando le pagine del suo sito contengono due blocchi JSON-LD: un LocalBusiness, o un suo sottotipo (Restaurant, Dentist, Store...), con nome, indirizzo strutturato come PostalAddress, telefono, URL e orari di apertura; e un WebSite con nome e URL.

Basta che ogni blocco compaia in una qualsiasi delle pagine analizzate. Un blocco a cui manca anche un solo dato conta come incompleto. Un indirizzo scritto come testo libero non conta: Google lo deve interpretare.

## Sitemap, canonical e Search Console

Una sitemap è valida quando la troviamo, alla riga Sitemap del robots.txt o in una posizione comune, ed è un elenco di URL, un urlset o un indice di sitemap. Il canonical è l'indirizzo che la home dichiara come versione principale di sé.

Search Console risulta verificata quando lo vediamo dall'esterno: un meta tag nella home o un record DNS. Chi l'ha verificata in altro modo (un file caricato sul server, Google Analytics o Tag Manager) non si vede, quindi la quota reale può essere più alta di quella che riportiamo.

## Il punteggio AI

Il punteggio AI dice quanto un assistente come ChatGPT, Claude o Gemini riesce a leggere un sito e a capire di che attività si tratta. Va da 0 a 100 ed è la media pesata di dieci controlli, spiegati uno per uno nella sua pagina. Un controllo che non è stato possibile verificare non conta come fallito: il sito viene giudicato sugli altri.

[Come si calcola il punteggio AI](https://www.nfw.run/stato-del-web/punteggio-ai)

## Blacklist antispam

Controlliamo l'indirizzo IP del server di ogni sito funzionante su tre blacklist: Spamhaus ZEN, Barracuda e SpamCop. Un sito è in blacklist quando almeno una delle tre elenca il suo server. Le liste di Spamhaus che segnalano solo gli indirizzi che non dovrebbero inviare email direttamente (PBL) non contano. Se una lista non risponde, il sito resta senza risposta.

Essere in blacklist riguarda le email, non il sito: le email inviate da quel server rischiano di finire nella cartella spam dei clienti e di non essere mai lette, mentre il sito di solito continua a funzionare e a comparire su Google come prima. Spesso il server è condiviso con centinaia di altri siti, e la segnalazione nasce da uno di loro.

## La media nazionale

La media nazionale non è una statistica ufficiale: è lo stesso report calcolato su tutte le città di un paese che abbiamo analizzato fino a quel mese, con l'ultima analisi conclusa di ognuna. Un'attività trovata da più analisi conta una volta.

La mostriamo solo quando comprende almeno due città: con una sola confronterebbe la città con se stessa. Un valore è in linea con la media quando la differenza sta entro il 5% del valore medio; oltre, diciamo sopra o sotto.

## Ogni quanto analizziamo una città

Una città si può analizzare al massimo una volta al mese. Ogni analisi conserva il suo report, che non cambia quando la città viene analizzata di nuovo: due mesi diversi sono due report diversi, e si possono confrontare.

Mentre un'analisi è in corso, il suo report si aggiorna al massimo una volta al minuto, e le pagine del sito una volta all'ora.

## Cosa non pubblichiamo

Solo cifre aggregate. Il risultato di una singola attività o di un singolo sito non compare nei report né nei dati pubblici. Chi vuole vedere il proprio può chiederlo in una call gratuita.

Le cifre aggregate di ogni analisi sono disponibili anche in formato JSON, dall'API pubblica della dashboard (GET /v1/scans/{scanId}), per chi vuole citarle o rielaborarle.

[Torna allo stato del web](https://www.nfw.run/stato-del-web)
