Gracias a la integración de nuestro widget de producto, Opiniones Verificadas te permite integrar de forma nativa los datos estructurados necesarios para mostrar Rich Snippets (fragmentos enriquecidos) en los resultados de búsqueda orgánica.
Sin embargo, ¿quizás has notado temporalmente una disminución en el número de fragmentos de reseñas válidos en tu Search Console, o incluso una caída o desaparición del volumen de visualización de estrellas bajo los enlaces de tus páginas de producto en los resultados de búsqueda (SERP)?
Nuestro widget se basa en un script en JavaScript. Google trata esta tecnología de forma específica y requiere que sea ejecutada por un motor de renderizado para poder leer su contenido.
Puede ocurrir que Google no ejecute sistemáticamente el JavaScript de nuestro widget de producto y, por tanto, no vea los datos estructurados que contiene, lo que puede impedir la visualización de los Rich Snippets (estrellas, número de reseñas, fragmentos de reseñas).
Este comportamiento es aleatorio y no ha sido objeto de ninguna comunicación oficial por parte de Google.
Por ello, para garantizar una visibilidad permanente de los datos estructurados, te recomendamos implementar manualmente datos estructurados en formato JSON-LD directamente en el código HTML de tus páginas de producto.
Esta integración se basa en nuestra API de Reseñas de Productos, y esta guía te acompaña paso a paso para enriquecer tus páginas de producto con datos estructurados en formato JSON-LD, conformes con los requisitos de Google.
Tal como se indica en la documentación oficial de Google, tener datos estructurados correctos y bien formateados en tu página no garantiza al 100 % que se muestren resultados enriquecidos. Esta visualización depende de algoritmos y de reglas que solo el motor de búsqueda conoce.
Requisitos previos
- Un OAuth2 client_id / client_secret válido (disponible en tu espacio de Opiniones Verificadas)
- Un ID de variación de producto (product_variation_id) para cada producto de tu sitio. (La referencia del producto para el que recibes reseñas)
Documentación completa de la API
Desactivar los Rich Snippets del widget de producto
- En el menú de la izquierda, haz clic en
Difusión de opiniones, luego en Integrar mis widgets.
- Haz clic en el
pequeño icono de lápiz junto al widget de producto que quieras modificar.
- En los ajustes avanzados, desmarca la opción de activación de Rich Snippets.
Visión general de los API Endpoints
El endpoint Ratings de la API te permite recuperar la valoración media y el número de reseñas de un producto.
URL
https://api.skeepers.io/verified-reviews/v1/published/productsEjemplo de llamada a la API
https://api.skeepers.io/verified-reviews/v1/published/products?product_variation_id=6938012334889
--header 'Authorization: ••••••'
Ejemplo concreto del resultado obtenido
[
{
"product_variation_id": "6938012334889",
"ratings": {
"average": 4.5,
"count_total": 127,
...
},
...
}
]
Haz clic aquí para ver la documentación de la API API Endpoints de reseñas (opcional)
Este API Endpoint te permite recuperar todas las reseñas de un producto.
URL
https://api.skeepers.io/verified-reviews/v1/published/products/reviews?product_variation_id=6938012334889
--header 'Authorization: ••••••'Ejemplo concreto del resultado obtenido
Una lista de reseñas de usuarios que incluye el autor, el contenido, la valoración y la fecha de publicación.
[
{
"review_id": "67d7b591-40a2-7ab4-1925-0b2db7753c90",
"author_firstname": "John",
"author_lastname": "Doe",
"review_date": "2024-06-24T15:12:31Z",
"review_content": "Great product!",
"review_rate": 5,
...
},
...
]
Haz clic aquí para ver la documentación de la API Guía de integración paso a paso
Paso 1: Recuperar los Ratings data
Es necesario utilizar el Products endpoint para obtener la valoración media y el número de reseñas de un producto.
Ejemplo de respuesta de la API:
{
"product_variation_id": "6938012334889",
"ratings": {
"average": 4.5,
"count_total": 127,
...
},
...
}Paso 2: Crear el código JSON
Es el momento de crear los datos estructurados JSON-LD.
Para ello, integra este snippet JSON-LD en el <head> o justo antes de la etiqueta de cierre </body> de tu página de producto:
-
Genera el bloque siguiente:
<script type="application/ld+json"> { "@context": "https://schema.org", "@id": "https://www.example.com/product/6938012334889", "@type": "Product", "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.5", "ratingCount": 127, "bestRating": 5, "worstRating": 1 } } </script>Sustituye: - Sustituye @id por la URL canónica de tu producto.
- Sustituye ratingValue y ratingCount por los valores obtenidos desde la API.
- ¡Deja el resto tal cual!
Paso 3: Añadir reseñas individuales (opcional)
Para ir más allá y mostrar reseñas reales (Google puede decidir mostrarlas o no), también puedes integrar los datos de las reseñas:
- Recupera las reseñas utilizando el Product Reviews Endpoint
- Convierte cada reseña al siguiente formato:
"review": [
{
"@type": "Review",
"author": {
"@type": "Person",
"name": "R Sophie",
"givenName": "Sophie",
"familyName": "R"
},
"datePublished": "2025-03-14T14:12:00.000Z",
"reviewBody": "¡Me encantan estos auriculares! Bloquean el ruido de fondo y son muy ligeros.",
"reviewRating": {
"@type": "Rating",
"bestRating": 5,
"worstRating": 1,
"ratingValue": 5
}
}
]
Puedes incluir varios objetos dentro de
"review": [ ... ].Google recomienda incluir:
reviewRating,datePublishedyauthor.
Ejemplo completo que incluye reseñas:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@id": "https://www.example.com/product/57713",
"@type": "Product",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"ratingCount": 12,
"bestRating": 5,
"worstRating": 1
},
"review": [
{
"@type": "Review",
"author": {
"@type": "Person",
"name": "R Sophie",
"givenName": "Sophie",
"familyName": "R"
},
"datePublished": "2025-03-14T14:12:00.000Z",
"reviewBody": "¡Me encantan estos auriculares! Bloquean el ruido de fondo y son muy ligeros.",
"reviewRating": {
"@type": "Rating",
"bestRating": 5,
"worstRating": 1,
"ratingValue": 5
}
}
]
}
</script>¿Dónde cargar los datos estructurados?
Muy recomendado
Recomendamos encarecidamente generar e integrar los datos estructurados del lado del servidor, directamente en el HTML, antes de que la página se envíe al navegador.
De este modo, cuando Googlebot u otros crawlers de motores de búsqueda acceden a tu página, los datos estructurados ya están presentes en el HTML bruto, lo que facilita y asegura su indexación.
Ejemplo: Incluye el bloque <script type="application/ld+json"> en el template HTML renderizado por tu backend, por ejemplo en PHP, Node.js, Python (Django, Flask), Ruby, etc.
A evitar
La inyección JavaScript en tu sitio, ya que Google puede no ver o indexar incorrectamente estos datos.
Aunque es técnicamente posible inyectar datos estructurados mediante JavaScript en el frontend (por ejemplo con React, Vue u otros frameworks), este enfoque es menos fiable porque:
- Google puede no ejecutar completamente tu JavaScript, o incluso no ejecutarlo, en función de la velocidad de carga de la página y del crawl budget.
- Los datos estructurados cargados de forma asíncrona pueden omitirse o retrasarse en la indexación.
- Puedes obtener resultados inconsistentes según los productos o las actualizaciones.
Buenas prácticas
- Los datos estructurados deben corresponder con el contenido visible en la página.
- Las fechas deben seguir el formato ISO 8601: "2025-03-14T14:12:00.000Z".
- Utiliza únicamente reseñas reales de clientes (enviadas por usuarios).
- Actualiza regularmente los datos estructurados con nuevas reseñas y valoraciones.
- Solo se permite una etiqueta "Product" por página para que los Rich Snippets funcionen correctamente.
Probar la validación de los datos
Utiliza la herramienta Google Rich Results Test para comprobar que los datos estructurados son correctos y se detectan correctamente