AI Visibility Observatory · Osservatorio dealer italiani

Metodologia dell'osservatorio

Tutti i check usati per calcolare i punteggi, il loro peso e la fonte dello standard. Chiunque può riprodurre i calcoli con gli stessi dati pubblici.

← AI Visibility Observatory

Versione v2.4.0 · Aggiornata il 21 giugno 2026

La formula

Formula del voto

Il voto Totale /10 è la media aritmetica di tre assi basati su standard riconosciuti:

Totale = ( Tecnico + SEO + Machine Readability ) / 3

L'indicatore AI-Native 2026 viene calcolato separatamente e non partecipa al Totale. Misura l'adozione di proposte non ancora standardizzate e serve solo come lettura complementare.

Trasparenza totale

Elenco completo dei check

Ogni riga indica: identificativo tecnico del check, asse a cui appartiene, peso nella media di asse e fonte dello standard.

Asse Tecnico (infrastruttura)

CheckPesoFonte / standard
TTFB homepage1.5web.dev Core Web Vitals
HTTP/2 o HTTP/31.0RFC 7540 / RFC 9114
Compressione Brotli/gzip0.8RFC 7932 / RFC 1952
CDN attivo0.8pattern headers (cf-ray, x-served-by, ecc.)
Cache-Control su homepage0.6RFC 9111
Security headers (HSTS, X-Frame, CSP, ecc.)1.0OWASP Secure Headers Project
Redirect chain (hop count)0.5Google Search Central
SSR: contenuto nel DOM statico1.5Google Developers — JavaScript SEO
Script render-blocking (head)1.0web.dev performance guidance
Nessun leak versione server0.4OWASP ASVS 4.0 — 14.3

Asse SEO (crawlability standard Google)

CheckPesoFonte / standard
Title tag1.0Google Search Central — Title links
Meta description0.8Google Search Central — Snippets
H1 presente (unico)1.0W3C HTML Living Standard §4.3
Canonical tag (HTTPS valido)1.0RFC 6596 / Google canonicalization
Meta robots avanzato (max-snippet, ecc.)0.5Google Search Central — robots meta
OpenGraph + Twitter Card0.7ogp.me / Twitter Cards spec
Sitemap con URL veicoli + lastmod (regex path canonici + fallback sampling JSON-LD)0.8Sitemaps.org XML protocol / Google Search Central — sitemap. Per i dealer che usano slug non canonici (es. /showroom/, /le-mie-auto/) il check fa sampling di 5 URL deep dal sitemap e verifica @type: Vehicle/Car nel JSON-LD invece di provare a indovinare il path.
404 genuini (no soft-404)0.5Google Search Central — Soft 404 errors

Asse Machine Readability (dati strutturati automotive)

I check di questo asse sono strutturati a livelli (tier) per riflettere la priorità reale di Google Vehicle Listings e degli AI agent automotive. Un sito con solo tipi generici (WebSite, WebPage, BreadcrumbList) senza Vehicle/Offer ottiene 0 — non è un errore del check, è la realtà: quel sito è invisibile a Google Vehicle Listings e alle query AI sul catalogo.

CheckPesoMetodo di valutazioneFonte
Dati strutturati automotive (JSON-LD) — 4 tier2.0 Tier 1 (0.35): Vehicle o Car presente
Tier 2 (0.30): Offer + availability + priceCurrency
Tier 3 (0.20): AutoDealer + Local SEO (Geo/Hours/Address)
Tier 4 (0.15): Contenuto editoriale (FAQPage, DefinedTermSet, Article…)
schema.org (W3C Community Group) · Google Vehicle Listings
Local SEO schema (GeoCoordinates + OpeningHours + PostalAddress + ContactPoint)1.0Score = tipi presenti / 4. Necessari per Local Pack, Maps, Knowledge Panel.schema.org LocalBusiness · Google Business Profile guidelines
Campi veicolo in JSON-LD (km, fuel, anno, colore, cambio…)0.8Skip se nessun Vehicle/Car in pagina. Score = campi trovati / 8 target. Campi: fuelType, mileageFromOdometer, vehicleModelDate, color, bodyType, vehicleTransmission, driveWheelConfiguration, numberOfDoors, engineDisplacement, enginePower, itemCondition, description.Google Vehicle Listings required + recommended fields
X-Robots-Tag HTTP header avanzato0.4Verifica max-snippet / max-image-preview nell'header HTTP.Google Search Central — X-Robots-Tag

Indicatore AI-Native 2026 sperimentale — non nel Totale

Sperimentale

Nessuno di questi segnali è ancora uno standard ufficiale. Alcune sono proposte (llmstxt.org, spawning.ai), altre sono best practice vendor-specifiche (GPTBot di OpenAI, ClaudeBot di Anthropic), altre ancora sono utilizzi non consolidati di RFC esistenti. La loro assenza non penalizza il voto Totale.

CheckPeso (solo nell'indicatore)Fonte / stato
/llms.txt presente e conforme1.0llmstxt.org — proposta (NON W3C, NON IETF, NON ratificata)
/llms-full.txt corpus citabile0.7estensione llmstxt.org — sperimentale
/ai.txt policy0.5spawning.ai — proposta non standard
/.well-known/ai-plugin.json0.2OpenAI ChatGPT Plugins — deprecato 2024-03-19 (sostituito da Custom GPT Actions). Mantenuto come signal informativo con peso ridotto al minimo.
/ai-sitemap.xml0.4custom — nessun registro ufficiale
JSON-LD Dataset → corpus citabile0.3schema.org Dataset (standard) + uso custom
HTTP Link: rel="llms"0.2proposta — nessun registro IANA
Content-Digest sha-256 (RFC 9530)0.2RFC 9530 (standard) — uso AI sperimentale
robots.txt: UA AI esplicitamente allowlisted1.5RFC 9309 (REP) + best practice per-vendor (GPTBot=OpenAI, ClaudeBot=Anthropic, Google-Extended=Google, ecc.). Parsing strict: un UA con Disallow: /admin/ NON è considerato bloccato; solo Disallow: / totale esclude l'UA dall'allowlist.
SpeakableSpecification0.4schema.org — feature Google Assistant de-emphasized: peso ridotto per riflettere lo stato reale dello standard.
WebMCP — tool agentici browser-side (navigator.modelContext / data-mcp-tool)0 — in osservazioneWebMCP — proposta W3C Web Machine Learning CG + origin trial Chrome 149–156. Indicato da Google (giugno 2026) come direzione del capability layer agentico. Rilevato a ogni scan, non pesato finché non è standard ratificato.
UCP — manifest discovery /.well-known/ucp0 — in osservazioneUniversal Commerce Protocol (Google + Shopify, NRF 2026, Apache-2.0). Unico protocollo agentico nominato nel documento ufficiale Google di ottimizzazione per le AI. Rilevato a ogni scan, non pesato finché non matura.
Pesi rebalance v2.2.0 — 14 maggio 2026

Prima del rebalance i pesi erano fortemente sbilanciati a favore dei segnali sperimentali (llms.txt = 2.0, robots_ai_ua = 1.5, ai-plugin = 1.2 quando presente). Il framework di fatto premiava chi implementava esattamente i segnali AI-native che DealerMAX serve di default — bias strutturale non difendibile. Nel rebalance v2.2.0 i pesi sono proporzionati alla forza dello standard di riferimento: standard ratificati (schema.org, RFC) mantengono peso pieno, proposte non ratificate (llmstxt.org) ridotte, feature deprecate (ai-plugin.json) ridotte al minimo informativo. Effetto: un sito che implementa tutti i segnali sperimentali raggiunge ancora 10/10 sull'indicatore, ma con un punteggio che è la somma di standard di forza proporzionata, non un favor strutturale.

Segnali agentici emergenti — 19 giugno 2026

A giugno 2026 Google ha aggiornato la guida ufficiale all'ottimizzazione per le funzioni AI, indicando il capability layer agentico — in particolare WebMCP (tool browser-side) e UCP / Universal Commerce Protocol (Google + Shopify) — come la direzione emergente. Da questa versione l'osservatorio verifica entrambi a ogni scansione e li riporta nel dettaglio per-check, ma con peso 0: sono in osservazione e non incidono su alcun punteggio finché non diventano standard maturi e diffusi. Li dichiariamo per trasparenza — per seguire il frontier che Google stessa indica — non per gonfiare i voti.

Due livelli

Il Certificato di Visibilità Digitale

L'audit istantaneo di questa pagina (voto /10 su 3 assi) usa solo check HTTP deterministici. Il Certificato di Visibilità Digitale (PDF, richiedibile via email dal risultato dell'audit) è un superset: parte dagli stessi check e aggiunge due misure di laboratorio + un indice complessivo 0-100.

Cosa aggiunge

  • Core Web Vitals e Lighthouse (Performance, SEO, Accessibilità, Best Practices) misurati con Google PageSpeed Insights su profilo mobile e desktop, su più URL rappresentativi del sito (home, listing, dettaglio veicolo, news…), non solo la homepage.
  • Un punteggio complessivo 0-100 + voto A-E, come media pesata di 9 aree.
  • I consigli pratici in ordine di impatto stimato.

Le 9 aree e i pesi del punteggio 0-100

Le aree raggruppano gli stessi check dell'audit istantaneo (SEO, dati strutturati, robots, GEO, LLM derivano dagli assi SEO / Machine Readability / AI-Native) più due aree nuove misurate via PageSpeed Insights (Core Web Vitals e Lighthouse). Ogni area è la media pesata dei suoi check; il totale è la media pesata delle aree:

AreaPesoCosa misura / fonte
SEO On-Page16title, meta, H1, canonical, OG, 404 — Google Search Central
Dati strutturati (Schema.org)13JSON-LD a tier, campi veicolo, Local SEO — schema.org / Google Vehicle Listings
Core Web Vitals13LCP, CLS, TBT (mobile) — Google PageSpeed Insights
Lighthouse12Performance / SEO / Accessibilità / Best Practices — Google PageSpeed Insights
Infrastruttura & Sicurezza12TTFB, HTTP/2-3, compressione, CDN, cache, security headers, SSR — RFC / OWASP
Sitemap9sitemap.xml con URL veicoli + lastmod — Sitemaps.org
GEO — Generative Engine Optimization9ai.txt, speakable, dataset, X-Robots-Tag — proposte / standard citati
robots.txt & Crawl Policy8accesso crawler AI + Content-Signal — RFC 9309
LLM — Discovery & Agenti8llms.txt, ai-plugin, agents, WebMCP / UCP (in osservazione) — proposte non ratificate

Come si calcolano CWV e Lighthouse

  • Core Web Vitals: dai valori medi mobile (Google indicizza mobile-first) — LCP (peso 0,5), CLS (0,25), TBT come proxy lab di INP (0,25) — confrontati con le soglie Google (LCP ≤2,5s buono / ≥5s scarso; CLS ≤0,10 / ≥0,25; TBT ≤200ms / ≥800ms).
  • Lighthouse: media dei 4 punteggi 0-100, con mobile pesato 0,6 e desktop 0,4.

Voto in lettera

A ≥ 85 · B ≥ 70 · C ≥ 55 · D ≥ 40 · E < 40.

I pesi delle aree e le soglie del voto sono nostri (DealerMAX) e li dichiariamo qui per intero: come per il voto /10, l'indice 0-100 è un nostro modo di sintetizzare check basati su standard di terze parti e su Google PageSpeed Insights. Non è una certificazione ufficiale né un audit indipendente: è la nostra lettura, riproducibile con gli stessi dati pubblici.

Confini dichiarati

Cosa non misuriamo

  • Autorità del dominio o backlink — richiede tool esterni a pagamento.
  • Posizionamento effettivo su Google o AI — varia per query, utente, momento.
  • Qualità editoriale del contenuto — è soggettiva.
  • Performance lato client e Lighthouse nell'audit istantaneo di questa pagina: qui usiamo solo check HTTP, non un browser reale. Il Certificato di Visibilità Digitale li misura invece con Google PageSpeed Insights (vedi la sezione «Il Certificato» qui sopra).
  • Traffico e conversioni — dati privati del dealer.
Onestà metodologica

Limiti dichiarati

  • L'analisi osserva la homepage e pochi file di discovery (robots.txt, /llms.txt, ecc.). Una pagina veicolo può avere dati diversi.
  • Il rilevamento della piattaforma (sitebuilder) si basa su fingerprint HTML e può avere falsi positivi/negativi su siti molto personalizzati.
  • I punteggi sono ricalcolati a ogni scan. Se aggiorniamo i pesi in futuro, pubblichiamo qui il changelog con data e motivazione.
Storico versioni

Changelog

v2.4.0 — 21 giugno 2026

Introdotto il Certificato di Visibilità Digitale (PDF via email): superset dell'audit istantaneo che aggiunge Core Web Vitals e Lighthouse via Google PageSpeed Insights (mobile + desktop, su più URL) e un punteggio complessivo 0-100 con voto A-E, come media pesata di 9 aree. Pesi delle aree, metodo di calcolo di CWV/Lighthouse e soglie del voto sono pubblicati per intero nella sezione «Il Certificato» qui sopra (riproducibili). Chiarito che la pagina istantanea resta solo-HTTP: la performance lato client viene misurata solo nel Certificato, via PSI.

v2.3.0 — 19 giugno 2026

Aggiunti due segnali agentici emergenti all'indicatore AI-Native, in osservazione e con peso 0 (non incidono su alcun punteggio):

  • ainative.webmcp: rileva se la pagina espone tool agentici browser-side via navigator.modelContext (API imperativa) o annotazione data-mcp-tool su form (API dichiarativa). Fonte: WebMCP — proposta W3C Web Machine Learning CG, origin trial Chrome 149–156.
  • ainative.ucp: rileva il manifest discovery /.well-known/ucp (Universal Commerce Protocol, Google + Shopify), verificando services/capabilities nel JSON.

Motivazione: a giugno 2026 Google ha indicato il capability layer agentico (WebMCP, UCP) come direzione emergente per le sue funzioni AI. L'osservatorio li verifica per dichiarare in modo trasparente che segue il frontier, ma li tiene fuori dal punteggio finché non sono standard maturi.

v2.2.0 — 14 maggio 2026

Audit interno di correttezza/difendibilità del framework eseguito su 4 dealer di piattaforme diverse (Matarese — DealerMAX, carecar.it — GestionaleAuto, achillimilano.it — Carmove, newcarshop.it — Labycar) e su brokermotors.it (non-DealerMAX). Trovati e fixati 15+ bug oggettivi nel framework. Aggiunte 3 trasparenze nuove e una migration view per nascondere dal listing pubblico gli scan con framework obsoleto.

Bug fix oggettivi nei check:

  • tech.server_leak: regex precedente flaggava x-powered-by con qualsiasi valore — anche un brand-name pulito senza versione (es. DealerMax). Refactored a regex stretta su versione dotted (1.2, 8.1, 2.4.41) + stack runtime names (PHP, Apache, nginx, IIS, Express, ASP.NET, Tomcat, Jetty, Node.js). Anni single-integer in brand strings (DealerMax 2026 Platform) NON sono flaggati. Spec: OWASP ASVS V14.4.2 — runtime/version disclosure.
  • tech.http_version: HTTP/2 era penalizzato (0.9) rispetto a HTTP/3 (1.0), ma httpx (client di audit) negozia max HTTP/2 anche su server HTTP/3-capable via Cloudflare. Ora HTTP/2 e HTTP/3 entrambi 1.0 — HTTP/2 è production standard (RFC 7540), HTTP/3 emergente.
  • tech.blocking_scripts: bug regex con \b dopo quote impediva il match di type="module". Gli ES modules sono non-blocking per spec HTML5 (deferred di default) ma il check li flaggava come blocking. Fix: regex senza word-boundary tail.
  • tech.redirects: prima 1 hop = 0.9, ora 1.0. Google Search Central raccomanda esplicitamente il pattern apex→www o HTTP→HTTPS con 301: punire la best practice non era difendibile.
  • seo.canonical: il check verificava solo HTTPS, NON l'host-match con la URL servita. Un canonical che punta a un altro dominio passava silenziosamente. Ora confronto stretto: canonical host ≠ served host → fail.
  • seo.sitemap_vehicles: regex hardcoded di path canonici (/usato/, /vendita/, ecc.) falliva su slug fantasia (/showroom/, /vetrina-veicoli/, /le-mie-auto/). Strategia rivista: regex come fast-path zero-costo, fallback sampling JSON-LD di 5 URL deep dal sitemap che verifica @type: Vehicle/Car nel contenuto. Non si tenta più di indovinare lo slug: si verifica il fatto.
  • machine.jsonld: il Tier 2 (Offer + availability + priceCurrency) veniva verificato facendo '"availability"' in html sull'HTML grezzo — falsi positivi su qualsiasi occorrenza nel body, copy, attributi data, ecc. Refactored: l'HTML è parsato come JSON-LD e i sub-flag vengono verificati sui nodi Offer reali (ricerca ricorsiva attraverso @graph annidato).
  • ainative.robots_ai_ua: parsing del robots.txt aveva 2 difetti: (a) falsa positivà — un UA con Disallow: /admin/ veniva contato come allowlisted; (b) replace fragile su "disallow: /\n" falliva su Windows line-ending \r\n. Refactored: parsing strict riga-per-riga. Solo Disallow: / totale esclude un UA dall'allowlist.
  • ainative.llms_txt: bug nello scoring del ramo YAML frontmatter — la formula contava has_h2 due volte (has_h2 + (has_h2 and has_optional)), gonfiando lo score per i file YAML rispetto al markdown puro. Fix: has_h2 + has_optional indipendenti.
  • ainative.link_rel_llms: il check ritornava axis="ai" mentre il loop di aggregazione iterava solo su ("tech", "seo", "machine", "ainative"). Risultato: il check veniva eseguito, esposto nelle evidenze, ma NON contava in nessun asse. Fix: axis="ainative".
  • Pesi variabili a runtime in 4 check (llms_full, ai_txt, plugin_manifest, ai_sitemap): il peso del check cambiava a seconda dello status ritornato (es. 0.3 se missing, 1.2 se present). Conseguenza matematica: i check passati pesavano sproporzionatamente nel denominatore — il bug favoriva chi non aveva i segnali (li penalizzava meno). Pesi resi uniformi e proporzionati alla forza dello standard.
  • HTTP 4xx/5xx pre-check assente: un sito che rispondeva 403 (geoblock dell'IP del nostro audit) o 503 (manutenzione) veniva analizzato come se fosse contenuto pubblico — tutti i check segnavano "missing" attribuendo la colpa al dealer invece che al fetch fallito. Ora: early-return con error http_error esplicito.
  • DNS fallback base recompute: quando un dominio aveva apex DNS non risolvente (es. opportunitycar.it, solo www. risolveva), l'audit faceva fallback su www. per la homepage ma NON aggiornava la URL base usata per i sub-endpoint (/sitemap.xml, /llms.txt, ecc.). Tutti i check di asse ainative fallivano per DNS error — falso 1.64/10 invece di 8.89. Fix: ricalcolo base dalla URL effettiva post-fetch.

Trasparenze aggiunte (nuovo):

  • Note difendibili per ogni check: il backend genera ora una nota in italiano per ogni risultato che spiega cosa significa il punteggio in modo specifico (no genericità tipo "OK") e con riferimento implicito alla spec normativa. Esposta nel /verify response come campo note.
  • Spec_ref normativa per ogni check: ogni check ha ora un campo spec_ref popolato dalla mappa SPEC_REFS che cita la fonte ufficiale (RFC, Google Search Central, schema.org, OWASP ASVS, llmstxt.org). Permette a chiunque di riprodurre il giudizio contro una fonte esterna.
  • UI "Dettagli per check": nuova sezione collassabile nel risultato AInvisible che mostra una tabella per asse con icona status, label, score×peso, nota difendibile, fonte normativa. Trasforma il punteggio da "scatola nera" a "auditable by anyone".
  • Disclaimer onesti sul campione: il listing pubblico dichiara ora che i siti analizzati sono "audit eseguiti tramite questo strumento" (campione self-selected da chi clicca "Analizza"), NON un campione statisticamente rappresentativo del mercato dealer italiano. Il rank percentile usa toFixed(2) per evitare il falso "top 0.0%" quando si sta in realtà nel top 0.02%.
  • Etichetta "SPERIMENTALE" più visibile sull'indicatore AI-Native con link diretto a llmstxt.org e warn box che ribadisce: "Nessuno di questi è uno standard W3C/IETF ratificato. La loro assenza non penalizza il voto complessivo."

Cache invalidation: query /verify ora richiede schema v2 (evidences->'machine.jsonld' ? 'note') per il cache-hit. Record pre-2026-05-14 vengono automaticamente ri-scansionati al prossimo verify.

Migration view audit_scans_latest: la VIEW che alimenta il listing pubblico /sites filtra solo scan con schema v2. I ~5000 record pre-fix restano nella tabella audit_scans come storico ma sono NASCOSTI dal listing pubblico finché lo script di rescan batch non li ripopola con il framework corrente. Side effect: subito dopo la migration il listing mostra pochi risultati e cresce gradualmente nelle 3-4 ore successive al ritmo del worker di rescan (30 audit/min).

Pesi indicatore AI-Native — rebalance: prima i pesi premiavano sproporzionatamente i segnali sperimentali (llms.txt = 2.0, robots_ai_ua = 1.5, ai-plugin = 1.2). DealerMAX serve di default esattamente quei segnali — il framework era strutturalmente biased a proprio favore. Nel rebalance i pesi sono proporzionati alla forza dello standard di riferimento (schema.org/RFC = peso pieno, llmstxt.org/spawning = ridotto, ChatGPT Plugins deprecato = minimo informativo).

Vehicle ItemList in JSON-LD home dealer (apimax): la home graph dealer DealerMAX ora include un nodo ItemList con i top 5 veicoli vetrina come @type: Vehicle con 10 campi schema.org (fuelType, mileageFromOdometer, vehicleModelDate, color, bodyType, vehicleTransmission, driveWheelConfiguration, enginePower, itemCondition, description) + Offer (price, priceCurrency=EUR, availability). Soddisfa il Tier 1 di machine.jsonld (Vehicle/Car presente) e i Google Vehicle Listings required fields.

v2.1.0 — 1 maggio 2026

Asse Machine Readability riscritto con sistema a 4 tier automotive. Motivazione: il precedente conteggio di tipi schema.org generici (WebSite, WebPage, BreadcrumbList) assegnava score elevati a siti privi di Vehicle/Offer, distorcendo la classifica. Il nuovo check valuta esclusivamente la rilevanza automotive: Vehicle/Car (tier 1), Offer transazionale con campi minimi (tier 2), Local SEO (tier 3), contenuto editoriale tipizzato (tier 4). Aggiunti: check Local SEO schema separato (GeoCoordinates+OpeningHours +PostalAddress+ContactPoint), check richezza campi veicolo in JSON-LD, check sitemap con URL veicoli+lastmod, check 404 genuini vs soft-404. Corretto check /llms.txt per accettare formato YAML frontmatter.

v2.0.0 — 16 aprile 2026

Prima versione pubblica. Introdotto lo split in 4 assi (Tecnico, SEO, Machine Readability, AI-Native) con il sperimentale separato dal voto Totale.

Osservatorio

Contatti

Osservatorio curato da DealerMAX (Azure Srl, Buccinasco MI). Per richieste di esclusione, chiarimenti metodologici o segnalazione errori: privacy@dealermax.app.

Disclosure: DealerMAX è un vendor di software per dealer auto ed è anche editor di questo osservatorio. Per evitare conflitti di interesse, nessun check è tarato per premiare un vendor specifico e la formula del voto deriva esclusivamente da standard di terze parti citati nelle tabelle sopra. Inoltre, per neutralità, il listing pubblico dei siti e il confronto per piattaforma escludono i siti ospitati da DealerMAX e il dominio dealermax.app: non mettiamo in vetrina i nostri clienti nel nostro stesso osservatorio. Restano analizzabili da chiunque come ogni altro dominio.