Schema e rich snippet

aggregateRating fatto bene: il campo che Google scarta in silenzio

aggregateRating è il punto in cui la maggior parte dei rich snippet con stelle fallisce senza rumore. I campi obbligatori, le regole sull'onestà e perché le tue stelle non compaiono.

Di LucaAggiornato 2026-06-018 min

Quali campi richiede aggregateRating?

aggregateRating è un oggetto piccolo, e le parti che contano sono poche. Servono un ratingValue, cioè la media dei punteggi, e un conteggio di quante valutazioni l'hanno prodotto. Quel conteggio può essere espresso come reviewCount (numero di recensioni scritte) o ratingCount (numero di punteggi, incluse le valutazioni a stelle senza testo), ma almeno uno dei due è obbligatorio.

Il resto è facoltativo. bestRating e worstRating hanno come predefiniti 5 e 1, quindi si dichiarano solo se la tua scala è diversa. La maggior parte dei negozi non ne ha mai bisogno.

  • ratingValue: la media, per esempio "4,6".
  • reviewCount o ratingCount: almeno uno è obbligatorio.
  • bestRating: facoltativo, predefinito 5.
  • worstRating: facoltativo, predefinito 1.

reviewCount o ratingCount: qual è la differenza?

Usa ratingCount quando il numero include valutazioni a stelle senza testo scritto, e reviewCount quando ogni voce nel totale è una vera recensione scritta. La distinzione è importante perché i due numeri sono spesso diversi, e dichiarare quello sbagliato gonfia il totale in modo facile da rilevare.

Se cento persone hanno lasciato una valutazione a stelle e quaranta di loro hanno scritto qualcosa, reviewCount è 40 e ratingCount è 100. Puoi dichiarare entrambi. Quello che non puoi fare è mettere 100 in reviewCount quando esistono solo 40 recensioni scritte, perché il nome del campo è un'affermazione su ciò che il numero rappresenta.

Cos'è la regola del conteggio corrispondente alle recensioni visibili?

Le linee guida sui dati strutturati di Google richiedono che aggregateRating rifletta le recensioni che un utente può effettivamente vedere su quella pagina. Il conteggio nel markup e le recensioni visualizzate sulla pagina devono rappresentare lo stesso insieme. Quando divergono, il markup viene considerato non rappresentativo della pagina, motivo per cui il rich snippet viene soppresso.

Questo crea problemi ai negozi che mostrano dieci recensioni su una pagina prodotto ma dichiarano un conteggio di duecento nello schema. L'intenzione può essere onesta (il prodotto ha davvero duecento recensioni da qualche parte), ma se la pagina ne mostra solo dieci, il markup sovrastima il contenuto della pagina.

Perché Google rifiuta un aggregato globale o gonfiato?

Un rifiuto comune è l'applicazione di una valutazione globale unica a ogni prodotto. Un negozio calcola una media su tutte le recensioni e la applica a ogni pagina prodotto, così un prodotto nuovo eredita la reputazione di un bestseller. Google lo considera fuorviante, perché aggregateRating su un Prodotto è un'affermazione su quel prodotto, non sul negozio.

Il gonfiamento funziona allo stesso modo: aumentare il conteggio, riportare valutazioni da una variante dismessa, o contare recensioni che non sono più visualizzate. Ciascuna di queste situazioni crea una discrepanza tra la pagina visibile e il markup dichiarato, ed è proprio la discrepanza a far rimuovere il rich snippet.

  • Una media globale unica riutilizzata su ogni pagina prodotto.
  • Un conteggio superiore alle recensioni che la pagina mostra.
  • Valutazioni trasferite da un prodotto o variante diversi.
  • Conteggi che includono recensioni nascoste, rimosse o non pubblicate.

Come verifico che aggregateRating sia corretto?

Leggi l'HTML renderizzato, non il widget. Apri la pagina prodotto, visualizza il sorgente o usa il Rich Results Test, e verifica che l'oggetto aggregateRating sia presente nell'HTML del server con un ratingValue e un conteggio. Poi conta le recensioni effettivamente visibili sulla pagina e controlla che i due numeri raccontino una storia coerente.

Il Rich Results Test segnala i campi obbligatori mancanti, ma non rileva un numero verosimile che sovrastima la pagina. Quella parte spetta a te: lo strumento valida la struttura, non la veridicità. Un conteggio di trecento accanto a dodici recensioni visibili supera il validator e rischia comunque un rifiuto manuale.

Perché le stelle mancano anche se il markup è valido?

La validazione conferma la sintassi, non l'idoneità. Il tuo aggregateRating può essere perfettamente formato e non produrre comunque stelle, se il conteggio contraddice la pagina visibile, se il markup viene iniettato da uno script che il crawler non esegue, o se Google sceglie semplicemente di non mostrare il rich snippet per quella query. I primi due sono risolvibili; il terzo spetta a loro.

Il problema dell'iniezione è quello silenzioso. Molte app di recensioni inseriscono la valutazione in un widget JavaScript dopo il caricamento della pagina, quindi l'aggregateRating che il cliente vede non raggiunge mai l'HTML che legge il crawler. Il campo è corretto. Semplicemente non si trova dove il crawler guarda.

Come si imposta aggregateRating in modo corretto ogni volta

Un aggregateRating corretto è reso lato server, specifico per prodotto e onesto: ratingValue e conteggio si trovano nell'HTML della pagina prima che qualsiasi script venga eseguito, descrivono quel singolo prodotto e non l'intero negozio, e il conteggio corrisponde alle recensioni sulla pagina. La maggior parte delle app di recensioni è stata costruita per il cliente sulla pagina e inserisce le stelle in un widget, che appare corretto ma si legge in modo sbagliato per un crawler. Ottenere la valutazione che già hai inserita in un markup leggibile, specifico per prodotto e con conteggio preciso (così da guadagnare il rich snippet nella ricerca e rimanere citabile dai motori di risposta AI) è il problema che BeyondReviews è stato costruito per risolvere.

2 campi
ratingValue più un reviewCount o ratingCount: il minimo richiesto per un aggregateRating valido
Google structured data guidelines, 2024
1:1
Il conteggio nel markup deve corrispondere alle recensioni effettivamente visibili sulla pagina
Google structured data guidelines, 2024
Globale
Applicare una media globale o gonfiata a un prodotto è un motivo comune di rifiuto dello schema
Schema rejection synthesis, 2025
Domande frequenti
Servono sia reviewCount che ratingCount?
No, ne serve almeno uno. Usa reviewCount quando ogni voce è una recensione scritta, ratingCount quando il totale include valutazioni a stelle senza testo. Puoi dichiarare entrambi se hai entrambi i numeri, ma non fornirne nessuno rende aggregateRating non valido.
Posso usare la media del mio negozio su ogni prodotto?
No. aggregateRating su un Prodotto è un'affermazione su quel prodotto, quindi una media sitewide unica applicata a ogni pagina viene considerata fuorviante ed è un motivo comune per cui le stelle vengono soppresse. Ogni prodotto ha bisogno della propria valutazione a stelle e del proprio conteggio.
Devo dichiarare bestRating?
Solo se la tua scala non è su 5. bestRating ha come predefinito 5 e worstRating come predefinito 1, quindi un negozio con stelle su cinque può ometterli entrambi. Dichiarali quando valuti su 10 o su qualsiasi altra scala, in modo che ratingValue venga letto correttamente.
Il markup è valido ma le stelle non compaiono. Perché?
La validazione controlla la sintassi, non l'idoneità. Le cause probabili sono un conteggio che contraddice le recensioni visibili, markup iniettato da uno script che il crawler non esegue, o Google che sceglie di non mostrare il rich snippet per quella query. Controlla prima l'HTML renderizzato e il conteggio visibile.