Schema para WooCommerce – Guía completa con ejemplos
El marcado Schema.org (datos estructurados) ayuda a que Google y otros motores de búsqueda entiendan mejor tu tienda y tus productos. Implementarlo correctamente te permite acceder a rich results (estrellas de valoración, precio, disponibilidad, breadcrumbs, FAQs, video snippets, etc.), mejorar la visibilidad y aumentar el CTR.
A continuación verás todo lo necesario: formatos, tipos de Schema con ejemplos (JSON-LD + Microdata), cómo insertar JSON-LD en WordPress, cómo validar y qué plugins usar.
¿Qué es Schema y por qué importa para un e-commerce?
Schema es una manera estándar de declarar qué significa cada parte de una página web (producto, precio, reseña, evento, organización, etc.).
Para un ecommerce, los beneficios clave son:
- Mostrar precio, stock y calificaciones en los resultados de búsqueda.
- Aumentar el CTR gracias a rich snippets visuales.
- Facilitar que IAs y motores extraigan datos precisos de tus productos.
- Mejorar la interpretación semántica de tu catálogo (Google “entiende” mejor tu catálogo).
Formatos para implementar Schema en la web
1. JSON-LD — bloque JSON insertado (recomendado)
Se coloca como un <script type="application/ld+json">(puede ir en <head>o en <body>). Es limpio y fácilmente automatizable.
Ejemplo:
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Zapatillas Running Pro X",
"image": "https://midominio.com/img/zapatillas.jpg",
"description": "Zapatillas deportivas livianas.",
"sku": "ZPX-100",
"brand": {
"@type": "Brand",
"name": "RUN FAST"
}
}
2. Microdata — atributos dentro del HTML
Se anota cada elemento visible con itemscope, itemtypey itemprop. Es útil cuando quieres que los datos estén directamente asociados a los elementos visuales, pero puede ser más difícil de mantener en sitios grandes.
Ejemplo:
<div itemscope itemtype="https://schema.org/Product"> <h1 itemprop="name">Zapatillas Running Pro X</h1> <img itemprop="image" src="https://midominio.com/img/zapatillas.jpg"> <p itemprop="description">Zapatillas deportivas livianas.</p> <span itemprop="sku">ZPX-100</span> <span itemprop="brand">RUN FAST</span> </div>
3. Comparativa JSON-LD vs Microdata
| Criterio | JSON-LD Microdata | Microdata |
|---|---|---|
| Inserción | <script>(head/body) |
Inline en HTML |
| Limpieza del código | Alta ✅ | Baja ⚠️ |
| Facilidad de automatizar | Alta ✅ | Media 🟠 |
| Recomendado por Google | Sí ✅ | Soportado 🟠 |
| Útil para contenidos dinámicos / catálogos grandes | Sí ✅ | Menos práctico ⚠️ |
Cómo insertar JSON-LD en WordPress (snippet listo)
A continuación un snippet para insertar JSON-LD dinámico en el <head>según la página. Colocalo en el archivo de snippets del tema o en un plugin propio (archivo functions.phpo plugin pequeño).
<?php
add_action( 'wp_head', function() {
if ( function_exists('is_product') && is_product() ) {
global $product;
if ( ! $product ) return;
$schema = [
'@context' => 'https://schema.org',
'@type' => 'Product',
'name' => $product->get_name(),
'image' => wp_get_attachment_url( $product->get_image_id() ),
'description' => wp_strip_all_tags( $product->get_short_description() ?: $product->get_description() ),
'sku' => $product->get_sku(),
'brand' => [ '@type' => 'Brand', 'name' => $product->get_attribute('pa_brand') ?: 'Marca' ],
'offers' => [
'@type' => 'Offer',
'url' => get_permalink( $product->get_id() ),
'priceCurrency' => get_woocommerce_currency(),
'price' => $product->get_price(),
'availability' => $product->is_in_stock() ? 'https://schema.org/InStock' : 'https://schema.org/OutOfStock',
],
];
echo '<script type="application/ld+json">' . wp_json_encode( $schema ) . '</script>';
}
});
Tipos de Schema esenciales (definición + JSON-LD + Microdata)
A continuación todos los tipos ampliados y listos para usar. Cada tipo incluye una breve definición y ejemplos de JSON-LD y Microdata.
1. Product — el núcleo de una ficha de producto
Qué describe: nombre, descripción, imágenes, SKU, marca, variantes.
JSON-LD
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Smart TV 55 UHD",
"sku": "TV-55-UHD",
"image": "https://midominio.com/img/tv.jpg",
"brand": { "@type": "Brand", "name": "Samsung" },
"description": "Pantalla 4K HDR con 120Hz."
}
Microdata
<div itemscope itemtype="https://schema.org/Product"> <h1 itemprop="name">Smart TV 55 UHD</h1> <img itemprop="image" src="https://midominio.com/img/tv.jpg"> <span itemprop="sku">TV-55-UHD</span> <span itemprop="brand">Samsung</span> <p itemprop="description">Pantalla 4K HDR con 120Hz.</p> </div>
2. Offer— precio, condición y disponibilidad
Qué describe: precio, moneda, disponibilidad, condición del artículo.
JSON-LD
{
"@context": "https://schema.org/",
"@type": "Offer",
"priceCurrency": "USD",
"price": "799.00",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition"
}
Microdata
<div itemscope itemtype="https://schema.org/Offer"> <meta itemprop="priceCurrency" content="USD"> <span itemprop="price">799.00</span> <link itemprop="availability" href="https://schema.org/InStock"> <link itemprop="itemCondition" href="https://schema.org/NewCondition"> </div>
3. AggregateRating— puntuación agregada del producto
Qué describe: valoración promedio y conteo de reseñas (activa estrellas en SERP).
JSON-LD
{
"@type": "AggregateRating",
"ratingValue": "4.6",
"ratingCount": "217"
}
Microdata
<div itemscope itemtype="https://schema.org/AggregateRating"> <span itemprop="ratingValue">4.6</span> <span itemprop="ratingCount">217</span> </div>
4. Review— reseñas individuales
Qué describe: autor, fecha, contenido de la reseña y calificación.
JSON-LD
{
"@type": "Review",
"author": "Juan Pérez",
"datePublished": "2025-06-12",
"reviewBody": "Muy buena experiencia.",
"reviewRating": { "@type": "Rating", "ratingValue": "5" }
}
Microdata
<div itemscope itemtype="https://schema.org/Review">
<span itemprop="author">Juan Pérez</span>
<time itemprop="datePublished" datetime="2025-06-12">12 Jun 2025</time>
<p itemprop="reviewBody">Muy buena experiencia.</p>
<div itemprop="reviewRating" itemscope itemtype="https://schema.org/Rating">
<span itemprop="ratingValue">5</span>
</div>
</div>
5. BreadcrumbList— migas de navegación (ejemplo JSON-LD y Microdata)
Qué describe: la jerarquía de navegación de la página (útil para mostrar breadcrumbs en SERP).
JSON-LD
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Inicio", "item": "https://midominio.com" },
{ "@type": "ListItem", "position": 2, "name": "Tienda", "item": "https://midominio.com/shop" },
{ "@type": "ListItem", "position": 3, "name": "Smart TV 55 UHD", "item": "https://midominio.com/producto/tv-55" }
]
}
Microdata
<nav itemscope itemtype="https://schema.org/BreadcrumbList">
<ul>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://midominio.com/">
<span itemprop="name">Inicio</span>
</a>
<meta itemprop="position" content="1">
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://midominio.com/shop/">
<span itemprop="name">Tienda</span>
</a>
<meta itemprop="position" content="2">
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://midominio.com/producto/tv-55/">
<span itemprop="name">Smart TV 55 UHD</span>
</a>
<meta itemprop="position" content="3">
</li>
</ul>
</nav>
6. FAQPage— preguntas frecuentes
Qué describe: Q&A para mostrar preguntas y respuestas como rich snippets.
JSON-LD
{
"@context": "https://schema.org/",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "¿Cuál es la garantía?",
"acceptedAnswer": { "@type": "Answer", "text": "12 meses de garantía." }
}
]
}
Microdata
<div itemscope itemtype="https://schema.org/FAQPage">
<div itemscope itemtype="https://schema.org/Question" itemprop="mainEntity">
<h3 itemprop="name">¿Cuál es la garantía?</h3>
<div itemscope itemtype="https://schema.org/Answer" itemprop="acceptedAnswer">
<p itemprop="text">12 meses de garantía.</p>
</div>
</div>
</div>
7. HowTo— guías paso a paso
Qué describe: pasos claros y estructurados para realizar una tarea (ideal para tutoriales y guías de producto).
JSON-LD
{
"@context": "https://schema.org/",
"@type": "HowTo",
"name": "Cómo montar la base del televisor",
"step": [
{ "@type": "HowToStep", "name": "Abrir caja", "text": "Retirar embalaje." },
{ "@type": "HowToStep", "name": "Colocar base", "text": "Atornillar la base al televisor." }
]
}
Microdata
<div itemscope itemtype="https://schema.org/HowTo">
<h2 itemprop="name">Cómo montar la base del televisor</h2>
<ol>
<li itemprop="step">Abrir caja</li>
<li itemprop="step">Colocar base y atornillar</li>
</ol>
</div>
8. Organization— datos de la marca/empresa
Qué describe: nombre de la empresa, logo, URL, redes.
JSON-LD
{
"@context": "https://schema.org/",
"@type": "Organization",
"name": "Mi Tienda Online",
"url": "https://midominio.com",
"logo": "https://midominio.com/logo.png"
}
Microdata
<div itemscope itemtype="https://schema.org/Organization"> <span itemprop="name">Mi Tienda Online</span> <a itemprop="url" href="https://midominio.com">Sitio</a> <img itemprop="logo" src="https://midominio.com/logo.png" alt="logo"> </div>
9. LocalBusiness— tienda física, horarios y contacto
JSON-LD
{
"@context": "https://schema.org/",
"@type": "LocalBusiness",
"name": "ElectroMarket",
"address": "Av. Central 123",
"telephone": "+54-11-1234-5678",
"openingHours": "Mo-Fr 10:00-18:00"
}
Microdata
<div itemscope itemtype="https://schema.org/LocalBusiness"> <span itemprop="name">ElectroMarket</span> <span itemprop="address">Av. Central 123</span> <span itemprop="telephone">+54-11-1234-5678</span> <span itemprop="openingHours">Mo-Fr 10:00-18:00</span> </div>
10. Article— posts y notas de blog
JSON-LD
{
"@context": "https://schema.org/",
"@type": "Article",
"headline": "5 razones para usar WooCommerce",
"author": { "@type": "Person", "name": "Alex" },
"datePublished": "2025-01-06"
}
Microdata
<article itemscope itemtype="https://schema.org/Article"> <h1 itemprop="headline">5 razones para usar WooCommerce</h1> <span itemprop="author">Alex</span> <time itemprop="datePublished" datetime="2025-01-06">6 Ene 2025</time> </article>
11. VideoObject— contenido de video
JSON-LD
{
"@context": "https://schema.org/",
"@type": "VideoObject",
"name": "Presentación del producto",
"thumbnailUrl": "https://midominio.com/img/miniatura.jpg",
"uploadDate": "2024-12-19",
"duration": "PT2M30S"
}
Microdata
<div itemscope itemtype="https://schema.org/VideoObject"> <span itemprop="name">Presentación del producto</span> <img itemprop="thumbnailUrl" src="https://midominio.com/img/miniatura.jpg"> <time itemprop="uploadDate" datetime="2024-12-19">19 Dic 2024</time> </div>
12. WebSite— entidad raíz del sitio y búsqueda interna
JSON-LD
{
"@context": "https://schema.org/",
"@type": "WebSite",
"name": "Tienda Demo",
"url": "https://midominio.com",
"potentialAction": {
"@type": "SearchAction",
"target": "https://midominio.com/?s={search_term_string}",
"query-input": "required name=search_term_string"
}
}
Microdata
<div itemscope itemtype="https://schema.org/WebSite"> <span itemprop="name">Tienda Demo</span> <a itemprop="url" href="https://midominio.com">Sitio</a> </div>
Google Search Console — dónde ver y validar datos estructurados
En Search Console podés monitorear y corregir errores de Schema. Rutas útiles:
- Enhancements / Resultados enriquecidos / Datos estructurados (varía según la UI) → muestra tipos detectados (Product, FAQ, HowTo, Video, etc.).
- Inspección de URL → analiza la página y muestra si Google detecta datos estructurados y si hay errores.
Qué ver allí:
- Errores: campos obligatorios faltantes (hay que corregirlos).
- Advertencias: datos recomendados pero no obligatorios.
- Páginas válidas: número de URLs que Google detectó como válidas para rich results.
Siempre que corregís algo, envía validación para que Google reevalúe.
Otras herramientas para testear Schema (detalladas)
Rich Results Test
- Qué hace: comprueba si tu marcado es elegible para rich results en Google (productos, FAQ, HowTo, reseñas, videos, etc.).
- Cómo usar: pegá la URL o el código y la herramienta mostrará qué rich results son posibles y qué errores existen.
Schema Markup Validator (por schema.org / W3C)
- Qué hace: valida la estructura del Schema (JSON-LD, Microdata o RDFa) y muestra errores de sintaxis o propiedades mal usadas.
- Cuándo usarla: cuando quieras chequear exhaustivamente que tu JSON-LD es sintácticamente correcto y completo.
Google’s Structured Data Testing Tool
- Similar a los anteriores; útil para pruebas rápidas.
Extensiones de navegador
- Hay extensiones que detectan datos estructurados en la página y te muestran el JSON-LD/Microdata que existe (útiles para inspección rápida sin salir del navegador).
Plugins recomendados — descripción y uso
A continuación los plugins más útiles para schema en WooCommerce, con qué son capaces y si la versión gratuita suele ser suficiente:
Yoast SEO
- Qué hace: genera schema básico (Article, WebSite, Organization) y bloques FAQ/HowTo en editor.
- Ideal para: blogs y tiendas que quieren una solución estable sin mucha configuración.
- Gratis/pro: la versión gratuita cubre mucho; la premium añade funciones SEO avanzadas y algunas ayudas específicas.
Rank Math
- Qué hace: genera JSON-LD para Product, FAQ, HowTo, Breadcrumbs, y permite controlar muchas opciones desde su panel.
- Ideal para: tiendas que buscan control sin programar.
- Gratis/pro: la versión gratuita es muy completa; la Pro añade módulos avanzados y soporte para e-commerce a gran escala.
Schema Pro
- Qué hace: permite crear schemas personalizados por tipo de contenido con mapeo de campos.
- Ideal para: quien necesita tipos complejos o campos específicos sin escribir código.
- Gratis/pro: es una solución premium (de pago).
WooCommerce Product Schema (o extensiones específicas)
- Qué hace: ofrece schema enfocado en productos y variaciones (mejor manejo de AggregateOffer, variaciones, GTIN).
- Ideal para: tiendas grandes con muchas variaciones.
- Gratis/pro: algunas versiones son gratuitas, las más completas son extensiones de pago.
| Plugin | JSON-LD automático | Microdata | Gratis útil |
|---|---|---|---|
| Yoast SEO | Sí | Básico | Sí |
| Rank Math | Sí (amplio) | Parcial | Sí |
| Schema Pro | Sí (configurable) | Sí | No (pago) |
| Extensiones WooCommerce | Sí (enfocado) | Depende | Parcial |
Estrategias prácticas y relación Schema ↔ SEO (resumen)
Breve: Schema no te da posiciones directas garantizadas, pero aporta señales que mejoran visibilidad y CTR, lo cual impacta indirectamente en SEO y conversiones.
Estrategias aplicables:
- Product-first: Prioriza Product + Offer + AggregateRating en fichas con tráfico.
- FAQ / HowTo: Añadí FAQ en páginas de producto o soporte para obtener rich snippets que responden preguntas comunes.
- Breadcrumbs: Implementá BreadcrumbList para mejorar la navegación y la apariencia en SERP.
- Contenido enriquecido: Añadí VideoObject para productos con video (mejora CTR en SERP).
- Automatización: Generá JSON-LD dinámico desde la tienda para evitar inconsistencias (precios, stock).
- Validación continua: monitorizá Search Console y corrige errores rápidamente.
Buenas prácticas y errores comunes
- No inventes ratings ni reseñas.
- Evitá duplicar schema (si un plugin lo inyecta, no dupliques con tu código).
- Mantén el schema sincronizado con precios y stock en tiempo real.
- Valida siempre antes de publicar con Rich Results Test y Schema Markup Validator.
- Usa JSON-LD por defecto y Microdata solo cuando necesites inline markup.
Implementar Schema en WooCommerce (o en cualquier web) es una inversión de bajo coste y alto impacto: mejora visibilidad, habilita rich snippets, facilita que tus productos sean usados por motores e IAs y, en última instancia, contribuye a más clics y ventas.
Usa JSON-LD para automatizar y mantener, complementa con Microdata cuando haga falta, valida constantemente y apóyate en plugins (Rank Math / Yoast / Schema Pro) según la complejidad de tu tienda.




