AEO NIUEXA

Salute tecnica e basi del sito

Peso 15% Guida ai controlli Priorità in base al risultato

I controlli tecnici verificano se i motori di ricerca e i crawler AI possono raggiungere, leggere e indicizzare le tue pagine: robots.txt, sitemap, codici di stato, tag canonical, direttive di indicizzazione, HTTPS, header del server e velocità della pagina. Se i crawler non riescono ad aprire una pagina, o ricevono l'indicazione di non indicizzarla, nient'altro su quella pagina può aiutarla a comparire nei risultati di ricerca o nelle risposte AI.

Prima accesso e indicizzazione: risolvi i problemi di Site Crawlability, robots.txt, impostazioni noindex (X-Robots-Tag e Snippet Controls), Soft 404 e Canonical Target prima degli altri controlli tecnici. Tutto il resto non può aiutare una pagina che i crawler non riescono ad aprire o che chiede di non essere indicizzata.
Il nostro scanner non è il crawler: facciamo le verifiche dai nostri server. Quando un firewall, una CDN o una verifica anti-bot rifiuta le nostre richieste (HTTP 401, 403, 407 o 429, oppure una pagina di verifica), i controlli che dipendono da quelle richieste, come Site Crawlability, robots.txt Validation, Sitemap Validation e Canonical Target, indicano "non è stato possibile verificare" invece di risultare non superati, e i link che non siamo riusciti a verificare non vengono contati come interrotti. Quello che riceve il nostro scanner non dice nulla su quello che riceve Googlebot o un crawler AI: qui ti aiutano i log del server e la verifica gratuita dell'accesso AI.
Come contano questi controlli: ogni controllo pesa in base alla sua importanza in questa dimensione, moltiplicata per quanto le prove lo sostengono: i controlli con prove ufficiali o confermate da più fonti contano per intero, quelli basati sul consiglio di professionisti del settore contano a metà peso, e quelli segnati come Non dimostrato compaiono nel report ma non entrano nel punteggio. Un controllo N/A, non misurato o per cui "non è stato possibile verificare" resta fuori dal punteggio, invece di contare come superato o non superato; se in questa dimensione non c'è nulla da pesare, la dimensione risulta non misurata e i pesi delle altre vengono ricalcolati. Il badge accanto a ogni controllo indica la priorità tipica quando non è superato; il report mostra la priorità del tuo risultato. Trovi i dettagli nel sistema di punteggio.

Controlli di accessibilità per i crawler

Se i crawler possono raggiungere il sito, leggere le tue regole e la sitemap e seguire i tuoi link

robots.txt Validation e AI Bot Permissions

Critico
Cosa controlla
Due controlli leggono il tuo robots.txt. robots.txt Validation controlla che il file esista, sia leggibile, contenga righe User-agent e indichi la tua sitemap. AI Bot Permissions, che conta nella dimensione Specifica AI, legge le regole come fanno i crawler (RFC 9309) e giudica ogni crawler AI sulla pagina scansionata. I crawler sono raggruppati per scopo: ricerca (OAI-SearchBot, PerplexityBot, Claude-SearchBot, Bingbot, Googlebot), recupero su richiesta dell'utente (ChatGPT-User, Perplexity-User, Claude-User) e addestramento (GPTBot, ClaudeBot, CCBot, Google-Extended, Applebot-Extended, Bytespider, meta-externalagent). Nomi dei crawler aggiornati al 7 ottobre 2026.
Perché conta
robots.txt indica ai crawler quali percorsi possono visitare e dove si trova la tua sitemap. I crawler di ricerca e quelli di recupero su richiesta dell'utente decidono se la ricerca AI e gli assistenti possono aprire una pagina, quindi bloccarne uno su una pagina che vuoi far trovare è un problema reale. I crawler di addestramento sono una decisione a parte: bloccare GPTBot o Google-Extended è una tua scelta e non nasconde la pagina alla ricerca AI. Un crawler senza un gruppo tutto suo segue le tue regole User-agent: *, quindi non ti serve una riga Allow per ogni bot.
Come viene valutato
Entrambi i controlli si basano su prove ufficiali e contano per intero. robots.txt Validation: 100 per un file leggibile con righe User-agent e una riga Sitemap, 80 (comunque superato) senza la riga Sitemap, 50 (non superato) senza righe User-agent, lo stesso risultato di una pagina HTML servita al posto delle regole, e 0 (non superato) quando il file manca (404) o risponde con un altro errore. Quando un firewall rifiuta la nostra richiesta (401, 403, 407 o 429, anche con lo User-Agent di un browser) o il server non risponde, il risultato è "non è stato possibile verificare" e il controllo resta fuori dal punteggio. AI Bot Permissions: 100 quando sulla pagina non è bloccato nessun crawler di ricerca o di recupero su richiesta dell'utente (i blocchi ai crawler di addestramento vanno bene). Non è superato con 0 quando sono bloccati tutti i crawler di ricerca, 25 quando lo sono alcuni e 50 quando sono bloccati solo i crawler di recupero su richiesta dell'utente. Se robots.txt manca (404 o un altro errore 4xx), tutti i crawler possono entrare. Se non è possibile leggere robots.txt (un rifiuto del firewall, un errore del server, nessuna risposta o una pagina HTML al posto delle regole), il controllo non viene misurato e resta fuori dal punteggio.
Superato: un robots.txt leggibile con righe User-agent, e nessun crawler di ricerca o di recupero su richiesta dell'utente bloccato sulla pagina Non misurato o non è stato possibile verificare: non è stato possibile leggere robots.txt Non superato: robots.txt assente o senza righe User-agent, oppure un crawler di ricerca o di recupero su richiesta dell'utente bloccato sulla pagina
Come correggere
Metti il file nella radice del tuo dominio (per esempio example.com/robots.txt), con almeno un gruppo User-agent e una riga Sitemap. Se un crawler di ricerca o di recupero su richiesta dell'utente è bloccato, dagli un gruppo tutto suo con Allow: / oppure togli la regola che lo blocca, e ripeti in quel gruppo le righe Disallow dei tuoi percorsi privati (un gruppo dedicato a un crawler non eredita le regole di *). Decidi a parte l'accesso dei crawler di addestramento. La guida ai controlli Specifica AI descrive AI Bot Permissions nel dettaglio.
Esempio
# robots.txt - allow AI search, decline training (example policy)
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
Allow: /
Disallow: /admin/

User-agent: GPTBot
User-agent: ClaudeBot
User-agent: CCBot
User-agent: Google-Extended
Disallow: /

User-agent: *
Allow: /
Disallow: /admin/

Sitemap: https://example.com/sitemap.xml

Sitemap Validation

Alto
Cosa controlla
Cerca la tua sitemap negli indirizzi standard (/sitemap.xml, /sitemap_index.xml, /sitemap-index.xml, /wp-sitemap.xml, /sitemap.xml.gz e /sitemap_index.xml.gz) e, se lì non c'è, nelle sitemap dichiarate in robots.txt. Conta solo una vera sitemap: un urlset o un indice di sitemap in XML (anche compressi) oppure un elenco di URL in testo semplice. Una pagina HTML restituita a quell'indirizzo non è una sitemap. Di un indice di sitemap legge fino a 10 sitemap figlie. priority e changefreq non entrano nel punteggio, perché Google li ignora.
Perché conta
Una sitemap è l'elenco con cui indichi ai motori di ricerca le pagine che vuoi far trovare. Li aiuta a scoprirle, ma non garantisce che una pagina venga indicizzata.
Come viene valutato
Si basa su prove ufficiali e conta per intero. 100 per una sitemap che elenca degli URL. 20 (non superato) quando una sitemap risponde ma non elenca nessun URL. 0 (non superato) quando non troviamo nessuna sitemap. Se non troviamo una sitemap e uno degli indirizzi provati ha rifiutato la nostra richiesta (401, 403, 407 o 429), ha risposto con un errore del server o non ha risposto, il risultato è "non è stato possibile verificare" e il controllo resta fuori dal punteggio: non è superato solo quando ovunque la risposta è un semplice "non trovato". Il rapporto Sitemap di Search Console mostra cosa riceve Google.
Superato: una sitemap che elenca degli URL Non superato: nessuna sitemap trovata, o una sitemap senza URL Non è stato possibile verificare: le nostre richieste sono state rifiutate, sono fallite o non hanno avuto risposta
Come correggere
Crea una sitemap XML in /sitemap.xml con l'indirizzo canonical di ogni pagina che vuoi far trovare e un lastmod che cambia solo quando cambia il contenuto. Dichiarala in robots.txt con una riga Sitemap e inviala in Google Search Console e in Bing Webmaster Tools.
Esempio
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2024-01-15</lastmod>
  </url>
  <url>
    <loc>https://example.com/about</loc>
    <lastmod>2024-01-10</lastmod>
  </url>
</urlset>

Sitemap Membership

Medio
Cosa controlla
Cerca la pagina scansionata nelle sitemap che leggiamo: la sitemap in una posizione standard o dichiarata in robots.txt, le sue sitemap figlie (fino a 10) e le altre sitemap dello stesso sito dichiarate in robots.txt, fino a 50.000 URL in tutto. Contano sia l'indirizzo della pagina, sia quello finale dopo i redirect, sia il suo canonical.
Perché conta
La tua sitemap è l'elenco con cui indichi ai motori di ricerca le pagine che vuoi far trovare. Una pagina che non compare è più difficile da scoprire, e una sitemap che lascia fuori pagine reali non è un elenco fedele.
Come viene valutato
Si basa su prove ufficiali e conta per intero. 100 quando la pagina è nell'elenco. 0 (non superato) quando le sitemap sono state lette per intero e la pagina non c'è. Se una parte delle sitemap non è stata letta (più sitemap figlie di quelle che leggiamo, un file tagliato al limite di dimensione, una sitemap su un altro host, più di 50.000 URL), una pagina che non abbiamo trovato risulta "non è stato possibile verificare", mai "assente".
Superato: la pagina o il suo canonical è nell'elenco Non superato: sitemap lette per intero, pagina assente N/A: nessuna sitemap, una sitemap vuota o illeggibile, una sitemap letta solo in parte (non è stato possibile verificare) o una pagina noindex
Come correggere
Aggiungi alla tua sitemap l'indirizzo canonical della pagina. Meglio ancora, genera la sitemap dallo stesso elenco di pagine canonical e indicizzabili che il tuo sito pubblica: così le pagine nuove vengono aggiunte e quelle ritirate tolte in automatico.

Site Crawlability

Critico
Cosa controlla
Verifica che la tua home page risponda normalmente alla nostra richiesta e che robots.txt non blocchi tutti i crawler. Se il server dà errore o non risponde, riproviamo una seconda volta, con lo User-Agent di un browser, prima di tenerne conto. Quando un firewall, una CDN o una verifica anti-bot rifiuta il nostro scanner, il risultato è “non è stato possibile verificare”: la nostra richiesta non è quella di un vero crawler, quindi non dice nulla su cosa ricevono Googlebot o i crawler AI.
Perché conta
I crawler che ricevono un errore, nessuna risposta o un blocco totale in robots.txt non possono leggere il sito, quindi né i motori di ricerca né le risposte AI possono usarlo.
Come viene valutato
Si basa su prove ufficiali e conta per intero. 100 per una risposta normale (HTTP 200). 0 (critico) per un errore del server a entrambi i tentativi, oppure per un robots.txt che blocca tutti i crawler su tutto il sito (Disallow: / per tutti gli user agent), anche quando la nostra richiesta è stata rifiutata. 50 per un altro stato, come un 404. 20 quando il sito non risponde (timeout o errore di connessione a entrambi i tentativi, oppure un dominio che non si risolve). Un rifiuto del nostro scanner (401, 403, 407, 429 o una pagina di verifica anti-bot) dà "non è stato possibile verificare": il controllo resta fuori dal punteggio.
Superato: HTTP 200 e robots.txt lascia entrare almeno un crawler Non superato: 5xx, un altro stato di errore, nessuna risposta, oppure robots.txt blocca tutti Non è stato possibile verificare: il nostro scanner è stato rifiutato da un firewall, una CDN o una verifica anti-bot
Come correggere
Correggi gli errori del server e le risposte lente e lascia robots.txt aperto ai crawler che vuoi. Se il nostro scanner è stato rifiutato, controlla le impostazioni per i bot del tuo firewall e i log del server per vedere cosa ricevono i crawler verificati, oppure fai la verifica gratuita dell'accesso AI.

JS Rendering

Alto
Cosa controlla
Legge l'HTML della pagina cercando framework JavaScript e indizi su come è costruita la pagina: segni di rendering lato server o statico (come i dati di pagina di Next.js, lo stato di Nuxt, il rendering lato server di Vue, lo stato di Angular Universal, SvelteKit, Gatsby o Astro), un contenitore principale quasi vuoto (un div con id root, app o main che contiene meno di 50 caratteri di testo), segnaposto di caricamento (classi come spinner o skeleton) e più di tre bundle di script.
Perché conta
Alcuni crawler AI potrebbero non eseguire JavaScript, quindi i contenuti che compaiono solo dopo l'esecuzione degli script possono sfuggire loro. Google esegue JavaScript, ma in un secondo momento e non sempre del tutto.
Come viene valutato
Si basa su prove ufficiali e conta per intero. 100 quando non rileviamo nessun framework JavaScript, 90 quando rileviamo un rendering lato server o statico, 70 per un framework senza segni di rendering lato server e 40 quando la pagina sembra costruita nel browser (un contenitore principale quasi vuoto, oppure segnaposto di caricamento insieme a molti bundle di script). Poi toglie 20 per un contenitore principale quasi vuoto e 10 per più di tre bundle di script.
Superato: nessun segno di rendering solo nel browser Non superato: un contenitore principale quasi vuoto, o una pagina costruita nel browser N/A: nessun HTML da leggere
Come correggere
Includi i contenuti principali nell'HTML iniziale: usa il rendering lato server o la generazione statica (per esempio Next.js, Nuxt o Angular SSR), oppure pre-renderizza le pagine principali. Apri la pagina con Visualizza sorgente (non con l'ispettore degli elementi) e controlla che il testo principale ci sia.

Redirect Chain

Medio
Cosa controlla
Segue l'indirizzo della pagina fino a quello finale (quanti redirect, permanenti 301/308 o temporanei 302/303/307, loop, passaggio da http a https) e, grazie alla verifica dei link descritta in Broken Links, segnala i link della pagina che arrivano a destinazione solo attraverso due o più redirect.
Perché conta
Ogni redirect aggiunge un passaggio prima che la pagina si carichi. Le catene lunghe rallentano i visitatori, e dopo un certo numero di passaggi i crawler smettono di seguirle.
Come viene valutato
Si basa sul consiglio di professionisti del settore e conta a metà peso. Parte da 100 e toglie 15 per ogni redirect oltre il secondo, 10 per ogni redirect temporaneo e 50 per un loop; un unico redirect da http a https ne restituisce 10 (fino a 100). Ogni link della pagina che richiede due o più redirect toglie altri 10, fino a 30. Non è superato con un loop, più di cinque redirect o un punteggio sotto 60 (alto; critico per un loop), oppure quando un link richiede due o più redirect (medio).
Superato: una catena breve e nessun link che richiede due o più redirect Non superato: un loop, una catena lunga o link che richiedono due o più redirect N/A: non è stato possibile misurare né i redirect della pagina né i suoi link
Come correggere
Fai puntare ogni redirect e ogni link interno direttamente all'indirizzo finale, così da avere al massimo un passaggio. Usa il 301 per gli spostamenti definitivi. Correggi i loop di redirect.

Controlli di indicizzazione

Se i motori di ricerca possono indicizzare la pagina, mostrarne il testo e tenere l'indirizzo che preferisci

Google Index Status

Alto
Cosa controlla
Esegue su Google una ricerca site: per il tuo dominio (i primi 10 risultati) e indica se tornano delle pagine, insieme alla stima dei risultati di Google quando c'è. È un campione approssimativo, non un conteggio delle pagine indicizzate.
Perché conta
Le funzioni AI di Google, come AI Overviews e AI Mode, possono usare solo le pagine presenti nell'indice di Google.
Come viene valutato
Si basa su prove ufficiali e conta per intero. 100 quando Google stima più di 100 risultati, 85 per una prima pagina di risultati completa (o una stima tra 11 e 100), 75 per meno risultati. 0 (alto) quando la ricerca site: non restituisce nulla: verificalo in Search Console prima di intervenire, perché una ricerca site: è solo un campione. Quando la ricerca non riesce o non dà una risposta utilizzabile, il controllo risulta "non misurato" e resta fuori dal punteggio; non inventiamo mai un numero di pagine.
Superato: la ricerca site: restituisce delle pagine Non superato: nessuna pagina restituita Non misurato: nessuna risposta utilizzabile dalla ricerca
Come correggere
Controlla le tue pagine principali con lo strumento Controllo URL di Google Search Console. Invia lì la tua sitemap e assicurati che robots.txt e le impostazioni noindex lascino entrare Googlebot.

Bing Index Status

Non conteggiato
Cosa controlla
Ti ricorda di confermare in Bing Webmaster Tools che le tue pagine sono nell'indice di Bing. Non viene controllato in automatico.
Perché conta
L'indice di Bing alimenta la ricerca di Bing e le risposte AI che Microsoft costruisce su di esso.
Come viene valutato
Non conteggiato: non esiste un'API di ricerca di Bing con cui controllarlo in automatico, quindi è sempre N/A e resta fuori dal punteggio.
Come correggere
Registra il sito in Bing Webmaster Tools, verificalo, invia la sitemap e controlla i rapporti sull'indicizzazione e sugli errori di scansione. Assicurati che robots.txt lasci entrare Bingbot.

Canonical URL

Alto
Cosa controlla
Cerca il canonical della pagina: un tag link rel="canonical" nell'HTML, oppure un canonical nell'header HTTP Link. Controlla che ci sia un solo tag, che l'indirizzo sia assoluto e usi lo stesso protocollo della pagina, e se indica questa pagina, un'altra pagina dello stesso sito o un altro dominio.
Perché conta
Un URL canonical indica ai motori di ricerca quale indirizzo tenere quando lo stesso contenuto è raggiungibile da più indirizzi. Se manca, scelgono da soli e possono tenere quello sbagliato.
Come viene valutato
Si basa su prove ufficiali e conta per intero. Parte da 100 e toglie 40 per più di un tag canonical, 20 per un canonical che indica un'altra pagina dello stesso sito, 20 per un indirizzo relativo e 20 per un protocollo diverso (http invece di https, o il contrario). È superato con 70 o più e un solo tag, quindi con uno solo di questi problemi il controllo è comunque superato. 0 (alto) quando manca il canonical. Un canonical verso un altro dominio è ammesso. Che l'indirizzo funzioni lo verifica Canonical Target, qui sotto.
Superato: un solo canonical con al massimo uno di questi problemi Non superato: canonical assente, più di un tag, o due o più problemi
Come correggere
Aggiungi un solo tag link canonical nella sezione head di ogni pagina, con l'indirizzo https:// completo della pagina stessa, o della versione preferita quando lo stesso contenuto è pubblicato a più indirizzi.
Esempio
<head>
  <link rel="canonical" href="https://example.com/page-url">
</head>

Canonical Target

Alto
Cosa controlla
Quando l'URL canonical dichiarato dalla pagina (nel suo tag link canonical, altrimenti nell'header Link) indica un'altra pagina, lo apre senza seguire i redirect e controlla che risponda direttamente con HTTP 200, senza redirect, errori o una direttiva noindex nell'header o nel meta tag robots. Un canonical che coincide con la pagina stessa non ha bisogno di verifica, e uno che se ne differenzia solo per la barra finale vale come la pagina stessa, a meno che non faccia un redirect.
Perché conta
Il canonical indica ai motori di ricerca quale indirizzo tenere. Se quell'indirizzo fa un redirect, non funziona o è marcato noindex, li stai indirizzando verso una pagina che non possono usare, e potrebbero ignorare la tua preferenza o escludere la pagina.
Come viene valutato
Si basa su prove ufficiali e conta per intero. 100 quando il canonical si apre direttamente con 200 e può essere indicizzato. 0 quando fa un redirect (alto), restituisce un errore (critico per 404 e 410, alto per gli altri errori), risponde con uno stato diverso da 200 (medio), è marcato noindex (critico) o non è un indirizzo web (alto).
Superato: il canonical si apre direttamente (HTTP 200) e può essere indicizzato Non superato: redirect, stato di errore o noindex N/A: nessun canonical, il canonical è la pagina stessa, oppure non è stato possibile verificare (timeout, rifiuto, verifica anti-bot)
Come correggere
Usa come canonical l'indirizzo https:// completo e definitivo di una pagina attiva, di solito l'indirizzo della pagina stessa. Trova da dove arriva il valore (impostazione della pagina, template, valore predefinito del CMS o plugin), correggilo lì, svuota le cache e ripeti la scansione.

Soft 404

Alto
Cosa controlla
Cerca una pagina che risponde con uno stato di successo ma mostra un messaggio di "pagina non trovata": un tag title o un titolo principale come "Page not found", "404 | Shop" o "Pagina non trovata" su una pagina breve (al massimo 1.500 caratteri di testo visibile), oppure una frase che parla della pagina, come "this page does not exist", su una pagina quasi vuota (al massimo 500 caratteri). Riconosciamo formulazioni in inglese e in italiano, con più varianti italiane sulle pagine in italiano. Un "404" isolato altrove ("Peugeot 404 in vendita") o un titolo che parla dell'errore ("Come risolvere gli errori 404") non conta.
Perché conta
I motori di ricerca trattano queste pagine come pagine di errore, oppure indicizzano il testo dell'errore come se fosse il tuo contenuto. Codici di stato corretti tengono le pagine mancanti fuori dai risultati e quelle reali dentro.
Come viene valutato
Si basa su prove ufficiali e conta per intero. 100 quando il contenuto della pagina è coerente con lo stato di successo. 0 (alto) quando dice che la pagina non è stata trovata. Non applicabile quando la pagina non ha risposto con uno stato 2xx.
Superato: nessun messaggio di "non trovata" su una pagina che ha risposto 200 Non superato: messaggio di "non trovata" su una pagina che ha risposto 200 N/A: la pagina non ha risposto con uno stato di successo
Come correggere
Se la pagina non esiste più, fai rispondere il server con 404 (o 410 se è stata rimossa per sempre). Se deve esistere, ripristina il suo contenuto, oppure reindirizzala a una pagina equivalente reale, non alla home page.

X-Robots-Tag

Critico
Cosa controlla
Legge l'header HTTP X-Robots-Tag della pagina cercando le direttive noindex, none e nofollow rivolte a tutti i crawler, a Googlebot o a Bingbot. Le direttive rivolte solo ad altri crawler vengono elencate ma non contano, e altri valori, come noarchive, non cambiano il punteggio.
Perché conta
Un header X-Robots-Tag può tenere una pagina fuori dai risultati di ricerca a livello di server, anche quando nel browser la pagina sembra a posto. Una direttiva noindex impedisce l'indicizzazione. I meta tag robots e gli altri controlli sugli snippet sono valutati da Snippet Controls, qui sotto, così lo stesso noindex non viene contato due volte.
Come viene valutato
Si basa su prove ufficiali e conta per intero. 100 quando l'header manca o non blocca nulla. 50 (non superato, alto) per nofollow. 30 (non superato, critico) per noindex o none.
Superato: nessun noindex, none o nofollow per Google, Bing o tutti i crawler Non superato: nofollow (50) Non superato: noindex o none (30)
Come correggere
Togli noindex, none o nofollow dall'header X-Robots-Tag nelle impostazioni del server o della CDN per le pagine che vuoi far trovare nella ricerca e nelle risposte AI. Controlla gli header di risposta con curl -I o con gli strumenti per sviluppatori del browser.

Snippet Controls

Critico
Cosa controlla
Legge i meta tag robots, googlebot e bingbot e l'header X-Robots-Tag cercando noindex, nosnippet, max-snippet:0 e none, e misura quanta parte del testo è racchiusa in data-nosnippet. Un noindex inviato solo nell'header X-Robots-Tag è valutato dal controllo X-Robots-Tag, non qui.
Perché conta
noindex tiene la pagina fuori dai risultati di ricerca. nosnippet e max-snippet:0 impediscono ai motori di ricerca di mostrarne il testo, e Google li applica anche alle sue funzioni AI. data-nosnippet nasconde solo i passaggi che segni tu: è una tua scelta.
Come viene valutato
Si basa su prove ufficiali e conta per intero. 100 quando nessuna di queste direttive è impostata per tutti i crawler, per Googlebot o per Bingbot. 0 quando ce n'è una (critico per noindex o none, alto per nosnippet o max-snippet:0). data-nosnippet non fa mai fallire il controllo; quando copre più di metà del testo, il report lo segnala a titolo informativo.
Superato: nessun noindex, nosnippet, max-snippet:0 o none Non superato: una di queste direttive è impostata per Google, Bing o tutti i crawler
Come correggere
Togli la direttiva dal template della pagina e dagli header del server o della CDN sulle pagine che devono comparire nella ricerca e nelle risposte AI. Riserva data-nosnippet ai passaggi che vuoi davvero tenere fuori dagli snippet.

Controlli di sicurezza

Connessioni e risorse sicure, per i visitatori e per i crawler

HTTPS Security

Critico
Cosa controlla
Apre la pagina. Per un indirizzo https:// controlla che la connessione sicura funzioni, quindi un errore di certificato o di connessione va a suo sfavore; per un indirizzo http:// controlla che la pagina arrivi su https://.
Perché conta
I browser avvisano i visitatori quando una pagina non usa HTTPS, e un certificato non valido impedisce a visitatori e crawler di aprirla. Servire ogni pagina in HTTPS è la prassi.
Come viene valutato
Si basa sul consiglio di professionisti del settore e conta a metà peso. 100 quando una pagina https:// si apre, 95 quando un indirizzo http:// reindirizza su https://. 50 (non superato, critico) quando la connessione https:// non riesce, per esempio per un errore di certificato. 0 (non superato, critico) quando la pagina resta su http:// o non si apre.
Superato: la pagina si apre in HTTPS Non superato: errore di certificato o di connessione, oppure niente HTTPS
Come correggere
Installa un certificato (gratuito con Let's Encrypt o dal tuo hosting), reindirizza ogni indirizzo HTTP su HTTPS con un 301 e aggiorna a https:// i link interni e le risorse.

Mixed Content

Critico
Cosa controlla
Su una pagina https:// cerca le risorse che l'HTML carica in semplice http://: script, fogli di stile, iframe, oggetti e destinazioni dei moduli (contenuto attivo), e immagini, video, audio e sfondi CSS url() (contenuto passivo). Gli indirizzi relativi e quelli relativi al protocollo vanno bene.
Perché conta
I browser bloccano o segnalano i file non sicuri su una pagina sicura, e così immagini, script e stili possono smettere di funzionare per i visitatori.
Come viene valutato
Si basa sul consiglio di professionisti del settore e conta a metà peso. Parte da 100 e toglie 25 per ogni risorsa attiva e 5 per ogni risorsa passiva. Qualsiasi contenuto misto attivo fa fallire il controllo (critico); il solo contenuto misto passivo abbassa il punteggio, ma il controllo è superato. Una pagina servita in http:// supera questo controllo, perché la copre HTTPS Security.
Superato: nessun contenuto misto Punteggio più basso: solo contenuto misto passivo Non superato: uno script, un foglio di stile, un frame, un oggetto o un modulo in http://
Come correggere
Carica ogni immagine, script, foglio di stile e iframe in https:// e fai puntare i moduli a indirizzi https://. Cerca gli indirizzi http:// scritti a mano nei template, nei contenuti e nelle impostazioni dei plugin.

Content Security Policy

Ritirato
Stato
Ritirato come controllo tecnico conteggiato: non ha alcun effetto sul tuo punteggio. La scheda Sicurezza del report controlla ancora l'header Content Security Policy, a titolo informativo.

Controlli sulle prestazioni

Velocità e impostazioni del server. Compression, HTTP/2 Support e Cache Headers leggono gli header della risposta a una richiesta della pagina. La dimensione Prestazioni, separata, valuta nel dettaglio le metriche di laboratorio di PageSpeed: vedi i controlli sulle prestazioni.

Page Load Speed

Alto
Cosa controlla
Esegue un test di laboratorio di Google PageSpeed Insights sulla pagina e ne legge il punteggio prestazioni e tre metriche di laboratorio: Largest Contentful Paint (LCP), Total Blocking Time (TBT) e Cumulative Layout Shift (CLS).
Perché conta
Le pagine più veloci servono meglio i visitatori e fanno parte dei segnali di esperienza sulla pagina di Google. La velocità non è un fattore dimostrato per le citazioni AI.
Come viene valutato
Si basa su prove confermate da più fonti e conta per intero. Una metrica è buona quando LCP è sotto 2,5 s, TBT sotto 300 ms e CLS sotto 0,1. 100 quando sono buone tutte e tre e il punteggio prestazioni è 90 o più; 85 con almeno due metriche buone e un punteggio di 75 o più. Sotto queste soglie il controllo non è superato: 70 con almeno una metrica buona e un punteggio di 50 o più (medio), 50 con un punteggio di 30 o più (alto), 25 sotto (critico). Quando PageSpeed Insights non è disponibile o non dà un risultato, il controllo non viene misurato e resta fuori dal punteggio.
Superato: almeno due metriche buone e un punteggio PageSpeed di 75 o più Non superato: meno metriche buone o un punteggio PageSpeed più basso Non misurato: nessun risultato da PageSpeed
Come correggere
Comprimi le immagini e usa formati moderni come WebP. Attiva la compressione e la cache del browser, rimanda gli script che non servono per la prima visualizzazione e segui i suggerimenti specifici di PageSpeed Insights.

Core Web Vitals

Non misurato
Cosa controlla
Riservato ai Core Web Vitals misurati sui visitatori reali: Largest Contentful Paint (LCP), Interaction to Next Paint (INP) e Cumulative Layout Shift (CLS) dal Chrome UX Report. Per ora non li misuriamo.
Perché conta
I Core Web Vitals sono le misure di Google per caricamento, reattività e stabilità visiva rilevate sui visitatori reali, e fanno parte dei suoi segnali di esperienza sulla pagina. Non sono un fattore dimostrato per le citazioni AI.
Come viene valutato
Non ancora misurato: il controllo risulta non misurato e resta fuori dal punteggio. Dà 0 (alto) solo quando non è stato possibile scansionare la pagina. Finché non avremo dati sui visitatori reali, Page Load Speed, qui sopra, usa i limiti di laboratorio che il nostro scanner controlla: LCP sotto 2,5 s, CLS sotto 0,1 e TBT sotto 300 ms come indicatore della reattività.
Come correggere
Per LCP, fai caricare presto l'immagine o il blocco di testo più grande. Per INP, riduci JavaScript e spezza i task lunghi. Per CLS, dai dimensioni fisse a immagini e contenuti incorporati e non inserire contenuti sopra quelli già visibili. Il rapporto Core Web Vitals di Search Console e PageSpeed Insights mostrano i dati dei tuoi visitatori reali.

Compression

Alto
Cosa controlla
Legge l'header Content-Encoding della risposta della pagina: Brotli (br), gzip, deflate o Zstandard (zstd). Alcuni hosting e CDN (GitHub Pages, Vercel, Netlify, Cloudflare, AWS CloudFront) comprimono in un modo che l'header potrebbe non mostrare; li riconosciamo dai loro header di risposta.
Perché conta
HTML, CSS e JavaScript compressi pesano molto meno, quindi le pagine si caricano più in fretta per visitatori e crawler.
Come viene valutato
Si basa su prove confermate da più fonti e conta per intero. 100 per Brotli, 90 per gzip, 80 per deflate o Zstandard, e 80 quando uno di questi hosting o CDN serve la pagina senza mostrare la codifica. 0 (non superato, alto) quando la risposta non è compressa.
Superato: Brotli, gzip, deflate o Zstandard, oppure una CDN che comprime Non superato: nessuna compressione
Come correggere
Attiva la compressione Brotli o gzip nella configurazione del web server (nginx, Apache, IIS) o nella tua CDN.

HTTP/2 Support

Medio
Cosa controlla
Controlla con quale versione di HTTP la pagina ha risposto alla nostra richiesta e se l'header Alt-Svc annuncia HTTP/2 (h2) o HTTP/3 (h3). Gli hosting e le CDN elencati in Compression servono HTTP/2 anche quando il nostro client non lo vede; li riconosciamo dai loro header di risposta.
Perché conta
HTTP/2 e HTTP/3 permettono al browser di scaricare molti file su un'unica connessione, e di solito questo velocizza il caricamento delle pagine. È una pratica per la velocità, non un fattore dimostrato per la ricerca o per l'AI.
Come viene valutato
Si basa sul consiglio di professionisti del settore e conta a metà peso. 100 per HTTP/3, 90 per HTTP/2, 80 quando la pagina è servita da uno di quegli hosting o CDN. 40 (non superato, medio) quando vediamo solo HTTP/1.1.
Superato: HTTP/2 o HTTP/3 Non superato: solo HTTP/1.1
Come correggere
Attiva HTTP/2 (e HTTP/3, se disponibile) nelle impostazioni del web server o della CDN; la maggior parte degli hosting e delle CDN lo supporta. Richiede HTTPS.

Resource Hints

Medio
Cosa controlla
Cerca nella pagina i link preconnect, dns-prefetch, preload, prefetch e modulepreload e li confronta con gli altri domini da cui la pagina carica script, fogli di stile e immagini.
Perché conta
Suggerimenti come preconnect e preload permettono al browser di iniziare prima a scaricare i file importanti, così la prima visualizzazione può arrivare prima.
Come viene valutato
Si basa su prove confermate da più fonti e conta per intero. Parte da 50 e aggiunge 15 per preconnect, 10 per dns-prefetch, 15 per preload, 5 per prefetch e 10 quando almeno il 70% dei domini di terze parti ha un suggerimento. Toglie 5 per ogni dominio di terze parti molto diffuso usato senza suggerimento (come Google Fonts, Google Tag Manager o una CDN pubblica) e 5 per ogni preload senza attributo as. Non è superato (medio) solo quando la pagina carica file da altri domini e non ha nessun suggerimento.
Superato: almeno un suggerimento, o nessun file da altri domini Non superato: file da altri domini e nessun suggerimento
Come correggere
Aggiungi preconnect per i domini di terze parti che servono subito alla pagina (font, CDN), dns-prefetch per gli altri domini esterni e preload, con l'attributo as, per i file critici come il font principale.
Esempio
<head>
  <!-- Preconnect to critical origins -->
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://cdn.example.com" crossorigin>

  <!-- DNS prefetch for other domains -->
  <link rel="dns-prefetch" href="https://analytics.example.com">

  <!-- Preload critical resources -->
  <link rel="preload" href="/fonts/main.woff2" as="font" type="font/woff2" crossorigin>
</head>

Cache Headers

Medio
Cosa controlla
Legge gli header di cache della risposta della pagina: Cache-Control e il suo max-age, ETag, Last-Modified ed Expires.
Perché conta
Gli header di cache permettono ai browser di riutilizzare i file che hanno già, così le visite successive si caricano più in fretta e il server lavora meno.
Come viene valutato
Si basa sul consiglio di professionisti del settore e conta a metà peso. 40 per un header Cache-Control, altri 30 per un max-age maggiore di zero, altri 10 per un giorno o più e altri 10 per una settimana o più; 10 per un header ETag o Last-Modified, più 5 per ciascuno dei due (al massimo 100). È superato quando c'è Cache-Control e consente la cache (niente no-store, no-cache o private) oppure è accompagnato da ETag o Last-Modified. Senza Cache-Control non è superato (medio), tranne su GitHub Pages, dove la cache la gestisce l'hosting (60).
Superato: Cache-Control che consente la cache, o accompagnato da ETag o Last-Modified Non superato: nessun Cache-Control, oppure cache disattivata senza ETag né Last-Modified
Come correggere
Dai ai file statici con versione (immagini, CSS, JavaScript) un max-age lungo in Cache-Control e all'HTML uno breve, oppure no-cache con un header ETag o Last-Modified. Usa nomi di file con versione, così gli aggiornamenti arrivano ai visitatori.

Controlli di compatibilità

Telefoni, lingue e versioni tradotte

Mobile Responsiveness

Alto
Cosa controlla
Cerca un meta tag viewport e una regola @media nell'HTML della pagina. Le media query che si trovano solo in fogli di stile esterni non vengono lette, quindi una pagina di questo tipo perde i punti delle media query.
Perché conta
Google indicizza la versione mobile delle pagine, e molti visitatori leggono dal telefono. Una pagina che non si adatta agli schermi piccoli è difficile da usare.
Come viene valutato
Si basa sul consiglio di professionisti del settore e conta a metà peso. 100 con un meta tag viewport e una regola @media; toglie 50 senza il tag viewport e 25 senza una regola @media. È superato da 75 in su, quindi basta il tag viewport.
Superato: un meta tag viewport (100 con una regola @media, 75 senza) Non superato: nessun meta tag viewport N/A: nessun HTML da leggere
Come correggere
Aggiungi il meta tag viewport nella sezione head e usa CSS responsive con le media query. Controlla la pagina su un telefono vero o nella visualizzazione dispositivo del browser.
Esempio
<!-- Add to <head> -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<!-- CSS media queries -->
<style>
@media (max-width: 768px) {
  .container { padding: 10px; }
  .sidebar { display: none; }
}
</style>

Hreflang Tags

Medio
Cosa controlla
Legge le annotazioni hreflang nei tag link rel="alternate" e nell'header HTTP Link. Controlla i codici di lingua e di regione (lingue ISO 639-1, regioni ISO 3166 e sottotag di scrittura come zh-Hant), che la pagina indichi se stessa e che ci sia un x-default quando le versioni sono più di una. Non apre le altre versioni per verificare che rimandino a questa.
Perché conta
Hreflang indica ai motori di ricerca quale versione linguistica o regionale di una pagina mostrare a quali persone, così non mostrano quella sbagliata.
Come viene valutato
Si basa su prove ufficiali e conta per intero. Parte da 100 e toglie 30 quando la pagina non indica se stessa, 20 quando ci sono più versioni ma nessun x-default e 15 per ogni codice non valido. È superato con 60 o più e nessun codice non valido.
Superato: codici validi, con al massimo una delle due lacune (riferimento a se stessa, x-default) Non superato: un codice non valido, oppure mancano sia il riferimento a se stessa sia l'x-default N/A: nessuna annotazione hreflang (una pagina in una sola lingua)
Come correggere
Aggiungi un link alternate con hreflang per ogni versione linguistica, compreso uno per la pagina stessa e un x-default per i visitatori di cui non servi la lingua. Ogni versione deve elencare tutte le altre.
Esempio
<head>
  <link rel="alternate" hreflang="en" href="https://example.com/page">
  <link rel="alternate" hreflang="es" href="https://example.com/es/page">
  <link rel="alternate" hreflang="fr" href="https://example.com/fr/page">
  <link rel="alternate" hreflang="x-default" href="https://example.com/page">
</head>

Language Attribute

Medio
Cosa controlla
Legge l'attributo lang dell'elemento html della pagina e controlla che sia un codice di lingua scritto nel formato corretto, come en, en-GB o it. Sulle pagine in inglese e in italiano lo confronta anche con la lingua del testo: lang="en" su una pagina scritta in italiano, o il contrario, conta come errato.
Perché conta
Screen reader, browser e altri strumenti usano la lingua dichiarata per leggere ed elaborare la pagina. Un valore mancante o sbagliato li porta a leggerla con le regole sbagliate.
Come viene valutato
Si basa su prove ufficiali e conta per intero. 100 per un attributo lang nel formato corretto, 70 (comunque superato) quando il formato del valore non è corretto, 50 (non superato) quando lang indica inglese o italiano ma il testo è nell'altra lingua, 0 (non superato) quando manca l'attributo lang.
Superato: un attributo lang coerente con il testo Non superato: attributo lang assente, oppure inglese e italiano invertiti
Come correggere
Imposta lang sull'elemento html con la lingua in cui è scritta la pagina, per esempio lang="it" su una pagina in italiano. Su un sito multilingue, dai a ogni versione linguistica il suo valore.

Anteprime dei link e llms.txt

I tag che costruiscono l'anteprima di un link condiviso e il file facoltativo llms.txt. Il vecchio controllo AI Meta Tags non viene più eseguito: nessun motore di ricerca o AI documenta quei tag.

llms.txt Implementation

Non dimostrato · non conteggiato
Cosa controlla
Cerca un file /llms.txt (o /llm.txt) in testo semplice nella radice del tuo dominio e valuta quanto sembra completo. Il controllo appartiene alla dimensione Specifica AI ed è elencato qui perché si tratta di un file nella radice del dominio.
Perché conta
llms.txt è un file di riepilogo facoltativo. Google non lo usa e per nessun grande motore AI è dimostrato che lo usi, quindi la sua assenza non è un problema. Il controllo compare a titolo informativo e non entra nel punteggio.
Come viene valutato
Non dimostrato, non conteggiato. 25 punti ciascuno per una riga di titolo (che inizia con #), una descrizione e dei link, 15 per due o più intestazioni # e 10 per più di 500 caratteri. È superato con 50; un file assente vale 0. Come ogni controllo non dimostrato, non pesa in nessun caso.
Superato: 50 o più Non superato: assente o sotto 50
Come correggere
Se vuoi pubblicarlo, crea un file /llms.txt in testo semplice con un titolo, una breve descrizione e i link alle pagine principali, seguendo llmstxt.org. Se non lo fai, il punteggio non ne risente.
Esempio
# Example Company
> Leading provider of innovative solutions in the tech industry.

## Important pages
- [About](https://example.com/about): Company overview and mission
- [Products](https://example.com/products): Product catalog and specifications
- [Blog](https://example.com/blog): Technical articles and industry insights

## Contact
- Email: contact@example.com

OpenGraph Tags

Medio
Cosa controlla
Controlla i tag Open Graph che costruiscono l'anteprima di un link condiviso: og:title, og:description, og:image e og:url (obbligatori) e og:type, og:site_name e og:locale (consigliati). Segnala anche un indirizzo og:image relativo, l'assenza di og:image:width o og:image:height e un og:url diverso dall'indirizzo della pagina.
Perché conta
Social network e app di messaggistica usano questi tag per costruire l'anteprima di un link condiviso: titolo, testo e immagine. Senza, vanno a intuito, spesso male.
Come viene valutato
Si basa sul consiglio di professionisti del settore e conta a metà peso. Fino a 80 punti per i quattro tag obbligatori (20 ciascuno, se presenti e non vuoti) e fino a 20 per i tre consigliati, meno 5 per ogni problema segnalato. È superato quando i quattro tag obbligatori sono tutti presenti e non vuoti.
Superato: og:title, og:description, og:image e og:url tutti compilati Non superato: un tag obbligatorio manca o è vuoto
Come correggere
Aggiungi i quattro tag obbligatori nella sezione head di ogni pagina, insieme a og:type e og:site_name. Usa un indirizzo https:// assoluto per og:image e indicane larghezza e altezza.
Esempio
<head>
  <meta property="og:title" content="Your Page Title">
  <meta property="og:description" content="A short description of what the page offers">
  <meta property="og:image" content="https://example.com/image.jpg">
  <meta property="og:image:width" content="1200">
  <meta property="og:image:height" content="630">
  <meta property="og:url" content="https://example.com/page">
  <meta property="og:type" content="article">
  <meta property="og:site_name" content="Example">
</head>

Twitter Cards

Medio
Cosa controlla
Controlla i tag delle card di X (Twitter): twitter:card (obbligatorio, con il tipo summary, summary_large_image, app o player), twitter:title e twitter:description (se mancano valgono og:title e og:description), twitter:image (vale og:image) e twitter:site.
Perché conta
X (Twitter) usa questi tag per costruire l'anteprima di un link condiviso. Senza, ripiega sui tag Open Graph o mostra un semplice link.
Come viene valutato
Si basa sul consiglio di professionisti del settore e conta a metà peso. Parte da 100 e toglie 40 senza twitter:card, 25 per un tipo di card sconosciuto, 15 ciascuno per titolo e descrizione mancanti senza un tag Open Graph che li sostituisca, e 5 per un'immagine o un twitter:site mancanti o per un indirizzo dell'immagine relativo. È superato con un twitter:card valido più un titolo e una descrizione, propri o presi da Open Graph.
Superato: un twitter:card valido con titolo e descrizione Non superato: twitter:card assente, un tipo di card sconosciuto, o nessun titolo o descrizione
Come correggere
Aggiungi twitter:card (summary_large_image va bene per la maggior parte delle pagine con un'immagine) e, se non hai tag Open Graph, twitter:title, twitter:description e twitter:image. Aggiungi twitter:site con il tuo account X.
Esempio
<head>
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:title" content="Your Page Title">
  <meta name="twitter:description" content="A compelling description">
  <meta name="twitter:image" content="https://example.com/image.jpg">
</head>