Schema y fragmentos enriquecidos

aggregateRating correcto: el campo que Google rechaza en silencio

aggregateRating es donde fallan en silencio la mayoría de los rich snippets de estrellas. Los campos obligatorios, las reglas de honestidad y por qué tus estrellas no aparecen.

Por LucaActualizado 2026-06-017 min

¿Qué campos requiere aggregateRating?

aggregateRating es un objeto pequeño, y las partes que importan son pocas. Necesitas un ratingValue, que es la media de la valoración, y un recuento de cuántas valoraciones la componen. Ese recuento puede expresarse como reviewCount (el número de reseñas escritas) o ratingCount (el número de puntuaciones, incluidas las valoraciones con estrellas sin texto), pero debes proporcionar al menos uno de los dos.

Todo lo demás es opcional. bestRating y worstRating tienen valores por defecto de 5 y 1, así que solo los declaras si tu escala es diferente. La mayoría de las tiendas nunca necesita hacerlo.

  • ratingValue: la media, por ejemplo "4,6".
  • reviewCount o ratingCount: se requiere al menos uno.
  • bestRating: opcional, por defecto 5.
  • worstRating: opcional, por defecto 1.

reviewCount o ratingCount: ¿cuál debo usar?

Usa ratingCount cuando tu número incluye valoraciones de estrellas sin texto escrito, y reviewCount cuando cada entrada del total es una reseña escrita. La distinción importa porque los dos números suelen ser diferentes, y declarar el incorrecto infla el total de una forma que es fácil de detectar.

Si cien personas dejaron una valoración con estrellas y cuarenta de ellas escribieron algo, reviewCount es 40 y ratingCount es 100. Puedes declarar ambos. Lo que no puedes hacer es poner 100 en reviewCount cuando solo existen 40 reseñas escritas, porque el nombre del campo es una declaración sobre lo que representa el número.

¿Por qué el recuento debe coincidir con las reseñas visibles en la página?

Las directrices de datos estructurados de Google exigen que aggregateRating refleje las reseñas que un usuario puede ver en esa página. El recuento del marcado y las reseñas mostradas en la página deben corresponder al mismo conjunto. Cuando divergen, el marcado se considera no representativo de la página, lo que es motivo para retener las estrellas.

Esto afecta a las tiendas que muestran diez reseñas en la página de producto pero declaran un recuento de doscientas en el schema. La intención puede ser honesta: el producto realmente tiene doscientas reseñas en algún lugar. Pero si la página solo muestra diez, el marcado exagera lo que contiene.

¿Por qué rechaza Google la valoración global o inflada?

Un motivo de rechazo frecuente es aplicar una valoración única a todos los productos. Una tienda calcula una media sobre todas las reseñas y la asigna a cada página de producto, de modo que un producto nuevo hereda la reputación del más vendido. Google considera esto engañoso, porque el aggregateRating de un Product es una declaración sobre ese producto, no sobre la tienda.

La inflación funciona igual: rellenar el recuento, trasladar valoraciones de una variante descatalogada, o contar reseñas que ya no se muestran. Cada uno de estos casos hace que la página visible y el marcado declarado no coincidan, y esa discrepancia es la que provoca que Google retire las estrellas.

  • Una media global de toda la tienda reutilizada en cada página de producto.
  • Un recuento mayor que las reseñas que la página muestra.
  • Valoraciones trasladadas de un producto o variante diferente.
  • Recuentos que incluyen reseñas ocultas, eliminadas o no publicadas.

¿Cómo verificar que mi aggregateRating es válido?

Lee el HTML renderizado, no el Widget. Abre la página de producto, consulta el código fuente o usa el Rich Results Test, y confirma que el objeto aggregateRating está presente en el HTML del servidor con un ratingValue y un recuento. Luego cuenta las reseñas que se muestran en la página y comprueba que los dos números cuentan la misma historia.

El Rich Results Test detecta los campos obligatorios que faltan, pero no capta un número aparentemente correcto que exagera la página. Esa parte es tu responsabilidad: la herramienta valida la forma, no la veracidad. Un recuento de trescientas reseñas junto a doce visibles pasa el validador y aun así puede recibir un rechazo manual.

¿Por qué no aparecen mis estrellas si el marcado es correcto?

La validación confirma la sintaxis, no la elegibilidad. Tu aggregateRating puede estar perfectamente formado y aun así no generar estrellas si el recuento contradice la página visible, si el marcado lo inyecta un script que el rastreador no ejecuta, o si Google simplemente decide no mostrar el rich snippet para esa consulta. Los dos primeros problemas son solucionables; el tercero es decisión de Google.

El problema de la inyección es el silencioso. Muchas aplicaciones de reseñas muestran la valoración en un Widget de JavaScript que se carga después del HTML, de modo que el aggregateRating que ve el cliente nunca llega al HTML que lee el rastreador. El campo es correcto. Solo que no está donde el rastreador busca.

¿Cómo hacer bien el aggregateRating en cada producto?

Un aggregateRating correcto se renderiza en el servidor, es específico de cada producto y es honesto: el ratingValue y el recuento están en el HTML de la página antes de que se ejecute cualquier script, describen ese producto concreto en lugar de toda la tienda, y el recuento coincide con las reseñas que aparecen en la página. La mayoría de las aplicaciones de reseñas se diseñaron para el cliente que navega la tienda y muestran las estrellas en un Widget, lo que tiene buen aspecto y el rastreador no puede leer bien. Llevar la valoración que ya tienes a un marcado legible, por producto y con el recuento exacto, para que gane el rich snippet en la búsqueda y pueda citarse en los motores de respuesta con IA, es la brecha que BeyondReviews está diseñado para cerrar.

2 campos
ratingValue más un reviewCount o ratingCount: el mínimo que requiere un aggregateRating válido
Google structured data guidelines, 2024
1:1
El recuento del marcado debe coincidir con las reseñas visibles en la página
Google structured data guidelines, 2024
Global
Aplicar una media de toda la tienda a un producto es un motivo frecuente de rechazo
Schema rejection synthesis, 2025
Preguntas frecuentes
¿Necesito tanto reviewCount como ratingCount?
No, solo necesitas al menos uno. Usa reviewCount cuando cada entrada es una reseña escrita, y ratingCount cuando el total incluye valoraciones de estrellas sin texto. Puedes declarar ambos si tienes las dos cifras, pero no declarar ninguno hace que el aggregateRating sea inválido.
¿Puedo usar la media global de mi tienda en cada producto?
No. El aggregateRating de un Product es una declaración sobre ese producto, así que una media única de toda la tienda aplicada a cada página se considera engañosa y es un motivo frecuente por el que se retienen las estrellas. Cada producto necesita su propia valoración y su propio recuento.
¿Tengo que declarar bestRating?
Solo si tu escala no es sobre 5. bestRating tiene valor por defecto 5 y worstRating por defecto 1, así que una tienda con escala estándar de cinco estrellas puede omitir ambos. Declara los dos cuando la valoración sea sobre 10 o cualquier otra escala, para que ratingValue se interprete correctamente.
El marcado es válido, pero no tengo estrellas. ¿Por qué?
La validación comprueba la sintaxis, no la elegibilidad. Las causas más probables son un recuento que contradice las reseñas visibles, marcado inyectado por un script que el rastreador nunca ejecuta, o Google que decide no mostrar el rich snippet para esa consulta. Comprueba primero el HTML renderizado y el recuento visible.