Schema en WordPress: datos estructurados con Yoast, Rank Math, AIOSEO y WooCommerce sin duplicar
Publicado el 07-10-20268 min de lecturaPor la redacción de SmoothSeen
El schema en WordPress lo genera casi siempre tu plugin de SEO y, en tiendas, WooCommerce, que marca Product de serie. Usa un solo generador para cada tipo, haz que el marcado diga lo mismo que la página y céntrate en lo que Google aún usa: Organization o LocalBusiness, Article, Product y BreadcrumbList.
Lo esencial
- Yoast SEO publica en cada página un grafo con la organización o la persona, la web y la página; Rank Math y All in One SEO asignan un tipo por defecto a entradas y páginas.
- WooCommerce genera de serie el marcado Product de cada ficha, con precio, disponibilidad y valoraciones, y BreadcrumbList si el tema muestra las migas de pan.
- Google dejó de mostrar el resultado enriquecido de FAQ el 07-05-2026; HowTo ya estaba retirado desde 2023 y en 2025 retiró, entre otros, Course Info, ClaimReview y Vehicle Listing.
- Los tipos que siguen dando juego a un negocio son Organization o LocalBusiness, Article, Product y BreadcrumbList, este último solo en ordenador.
- Google exige que el marcado sea una representación fiel de la página: nada marcado que el visitante no pueda ver.
Para comprobarlo en tu web: Auditoría SEO
En esta página
Los datos estructurados son un bloque de código, normalmente JSON-LD, que describe sin ambigüedad qué hay en la página: quién la publica, qué producto vende, dónde está el negocio. Usan el vocabulario de schema.org. En WordPress casi nunca se escriben a mano: los genera el plugin de SEO, WooCommerce y a veces el tema. El problema habitual no es que falten, sino que haya dos fuentes diciendo cosas distintas. Esta guía explica qué marca cada pieza, qué tipos siguen valiendo la pena según Google y cómo comprobarlo.
¿Qué datos estructurados genera ya tu WordPress?
Antes de añadir nada, mira lo que ya sale. Esta tabla resume lo que documenta cada proyecto:
- Quién
- Yoast SEO
- Qué marca
- Un grafo en cada página con Organization (o Person), WebSite y WebPage, más Article en las entradas, BreadcrumbList e ImageObject1
- Dónde se ajusta
- Settings > General > Site representation decide si el sitio es una organización o una persona2
- Quién
- Rank Math
- Qué marca
- Article por defecto en entradas y páginas, y el tipo que elijas en el generador de schema de cada entrada3
- Dónde se ajusta
- Rank Math SEO > Titles & Meta, por tipo de contenido; el negocio, en el módulo Local SEO3
- Quién
- All in One SEO
- Qué marca
- El Knowledge Graph (organización o persona), Article en entradas y WebPage en páginas4
- Dónde se ajusta
- All in One SEO > Search Appearance > Global Settings4
- Quién
- WooCommerce
- Qué marca
- Product en cada ficha (nombre, descripción, imagen, SKU, oferta con precio y disponibilidad, valoraciones y reseñas), BreadcrumbList y WebSite si la tienda es la portada5
- Dónde se ajusta
- Filtros como
woocommerce_structured_data_product5
- Quién
- El tema
- Qué marca
- Depende del tema: algunos añaden microdatos o JSON-LD propio
- Dónde se ajusta
- Su documentación o el código fuente
Las rutas de menú están en inglés porque así aparecen en la documentación de cada plugin; en la interfaz en español pueden salir traducidas.
El riesgo de duplicar el marcado
El caso típico: Yoast marca la organización, un plugin de «schema» la vuelve a marcar con otro nombre y otro logo, y el tema añade una tercera versión en microdatos. O en una tienda: WooCommerce publica un Product con el precio rebajado y un plugin de reseñas publica otro Product con el precio antiguo y sus propias estrellas.
Google no prohíbe tener varios bloques, pero exige que los datos estructurados sean una representación fiel del contenido de la página6. Dos bloques que dicen cosas distintas sobre la misma entidad no pueden ser los dos fieles. Las reglas que evitan casi todos los problemas:
- Un generador por tipo. Si Yoast ya marca Organization, no actives la misma función en otro plugin.
- Integrar en lugar de sumar. Yoast documenta una API para añadir piezas a su grafo (
wpseo_schema_graph_pieces) y un filtro para desactivar su salida entera (wpseo_json_ld_output)7. WooCommerce tiene filtros por tipo5. - Mira la salida real. Abre el código fuente de una página y busca
application/ld+json. Cuenta cuántos bloques hay y qué tipo declara cada uno.
¿Qué tipos de schema merecen la pena hoy según Google?
Google ha ido retirando resultados enriquecidos. Lo que sigue en su galería y tiene sentido para una web típica de WordPress es esto8:
- Tipo
- Organization
- Para qué lo usa Google
- Detalles de la organización, como el logo; no tiene propiedades obligatorias y Google recomienda ponerlo en la portada o en la página «quiénes somos»9
- Quién lo genera en WordPress
- El plugin de SEO
- Tipo
- LocalBusiness (o un subtipo como
Dentist) - Para qué lo usa Google
- Datos del negocio: dirección y nombre obligatorios; teléfono, horario, coordenadas y rango de precios recomendados10
- Quién lo genera en WordPress
- Módulos de negocio local de los plugins, o un hook
- Tipo
- Article
- Para qué lo usa Google
- Entender el titular, las imágenes, las fechas y el autor de una entrada
- Quién lo genera en WordPress
- El plugin de SEO
- Tipo
- Product y fichas de comerciante
- Para qué lo usa Google
- Precio, disponibilidad y valoraciones en los resultados y en las experiencias de compra
- Quién lo genera en WordPress
- WooCommerce
- Tipo
- BreadcrumbList
- Para qué lo usa Google
- La ruta de la página en el resultado; desde enero de 2025 solo en ordenador11
- Quién lo genera en WordPress
- El plugin de SEO o WooCommerce
Y lo que ya no vale para conseguir un resultado enriquecido:
- HowTo: retirado en septiembre de 2023; Google dejó de mostrarlo en ordenador y en móvil11.
- FAQ: Google lo limitó en 2023 a webs de gobierno y salud conocidas y, según su registro de cambios, el resultado enriquecido de FAQ dejó de aparecer en la búsqueda el 07-05-2026; en junio retiró su documentación11.
- Los retirados en 2025: en junio Google anunció la retirada de Book Actions, Course Info, ClaimReview, Estimated Salary, Learning Video, Special Announcement y Vehicle Listing, y aclaró que el cambio no afecta al posicionamiento12. Book Actions se salvó más tarde porque una función aún usa ese marcado, y en noviembre se sumaron Practice Problem y Dataset, que queda solo para Dataset Search11.
Que Google no muestre un resultado enriquecido no obliga a borrar el marcado: Google dice que el uso de esos tipos fuera de la búsqueda no se ve afectado12. Pero no esperes nada de él en Google. Para la IA, Google es igual de claro: no hace falta ningún marcado especial para aparecer en sus funciones de IA generativa13.
Un JSON-LD de negocio local con un hook
Si tu plugin de SEO tiene un módulo de negocio local, úsalo: mantiene los datos en un solo sitio. Si no, este mu-plugin añade el marcado de una clínica dental ficticia en la portada con el hook wp_head. Guárdalo en wp-content/mu-plugins/negocio-local.php y cambia los datos por los tuyos:
<?php
/**
* Plugin Name: Datos del negocio (LocalBusiness)
* Description: Marca la ficha del negocio en la portada con JSON-LD.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
add_action( 'wp_head', function () {
if ( ! is_front_page() ) {
return;
}
$negocio = array(
'@context' => 'https://schema.org',
'@type' => 'Dentist',
'@id' => home_url( '/#negocio' ),
'name' => 'Clínica Dental Ejemplo',
'url' => home_url( '/' ),
'image' => 'https://www.ejemplo.es/img/fachada.jpg',
'telephone' => '+34 910 000 000',
'priceRange' => '€€',
'address' => array(
'@type' => 'PostalAddress',
'streetAddress' => 'Calle Mayor 1',
'addressLocality' => 'Madrid',
'postalCode' => '28013',
'addressCountry' => 'ES',
),
'geo' => array(
'@type' => 'GeoCoordinates',
'latitude' => 40.416775,
'longitude' => -3.703791,
),
'openingHoursSpecification' => array(
array(
'@type' => 'OpeningHoursSpecification',
'dayOfWeek' => array( 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday' ),
'opens' => '09:00',
'closes' => '19:00',
),
),
);
echo '<script type="application/ld+json">'
. wp_json_encode( $negocio, JSON_UNESCAPED_UNICODE )
. "</script>\n";
} );Por qué está escrito así, propiedad a propiedad, contra la documentación de Google10:
@type: el subtipo más concreto de LocalBusiness. Si tu negocio encaja en varios, Google admite una lista:["Electrician", "Plumber"].nameyaddress: las dos únicas obligatorias.geo: Google pide al menos cinco decimales en latitud y longitud.priceRange: menos de 100 caracteres, o Google no lo muestra.openingHoursSpecification: días de la semana y horas de apertura y cierre. Para festivos o cierres de temporada, Google documentavalidFromyvalidThrough.
Y la regla que más se incumple: todo lo marcado tiene que estar visible en la página. Google lo dice sin matices: no marques contenido que el visitante no puede ver6. Si el horario solo está en el JSON-LD, escríbelo también en la portada o en la página de contacto. Si tu plugin de SEO ya publica Organization, ten en cuenta que este código añade una entidad aparte; la alternativa limpia es configurar el negocio en el propio plugin.
Cómo comprobarlo
- Prueba de resultados enriquecidos de Google: dice qué resultados enriquecidos puede generar la página y con qué errores o advertencias14.
- Validador de schema.org: comprueba todo el marcado contra el vocabulario, también los tipos que Google no usa15.
- Search Console: los informes de resultados enriquecidos muestran los errores en todo el sitio, agrupados por tipo.
- El código fuente: busca
application/ld+jsony cuenta los bloques. Si ves dos Organization o dos Product en la misma página, tienes un duplicado.
Qué hace SmoothSeen con esto
SmoothSeen lee los datos estructurados de la página que analizas, identifica el tipo de página y comprueba si el marcado que tiene es el que le corresponde: Product en una ficha, LocalBusiness en la web de un negocio, Article en una entrada. Revisa también los datos de negocio local. Lo refleja en las dos notas, Posicionamiento web y Posicionamiento IA, y lo convierte en tareas concretas del plan de acción.
Qué hacer esta semana
Abre el código fuente de tu portada y de una entrada, busca application/ld+json y apunta quién genera cada bloque. Si hay duplicados, desactiva uno; si falta el negocio, configúralo en tu plugin o con el hook de esta guía, y pásalo por la Prueba de resultados enriquecidos. Para revisar el marcado junto al resto del SEO técnico, haz una auditoría SEO con SmoothSeen.
Preguntas frecuentes
¿Puedo usar Yoast SEO y Rank Math a la vez?
No te lo recomendamos. Los dos generan títulos, metadescripciones, sitemaps y datos estructurados, así que acabarías con dos grafos de schema y dos versiones de las mismas etiquetas. Si estás migrando de uno a otro, termina la migración, desactiva el antiguo y comprueba en el código fuente de varias plantillas que solo queda un generador de datos estructurados.
¿Sigue valiendo la pena el bloque de preguntas frecuentes de mi plugin?
Como contenido, sí: unas buenas preguntas frecuentes responden dudas reales y ayudan a quien lee. Como vía para conseguir el resultado enriquecido de FAQ en Google, no, porque dejó de mostrarse en mayo de 2026. Si el bloque añade el marcado FAQPage, puedes dejarlo; no te perjudica, pero tampoco te dará un resultado especial en Google.
¿El schema ayuda a aparecer en ChatGPT o en AI Overviews?
Google dice que no hace falta ningún marcado especial para sus funciones de IA, aunque recomienda que los datos estructurados coincidan con el texto visible. OpenAI explica que ChatGPT tiene en cuenta metadatos estructurados de los productos, como el precio y la descripción. Ninguno promete más visibilidad por tener schema: tómalo como una forma de que tus datos se lean sin ambigüedad.
¿Por qué no salen las estrellas de mis reseñas en Google?
Google pone condiciones a las estrellas: las reseñas marcadas tienen que estar visibles en la página y venir directamente de usuarios. Además, las páginas de un negocio no pueden mostrar estrellas si el propio negocio controla las reseñas sobre sí mismo. Aunque cumplas todo, Google decide si muestra el resultado enriquecido; el marcado solo te hace elegible.
Fuentes
- 1Yoast SEO for WordPress: Schema output, Yoast Developer Portal, consultada el 07-10-2026.
- 2Configuration guide for Yoast SEO, Yoast, consultada el 07-10-2026.
- 3Configuring Schema Markup in Rank Math for rich snippets, Rank Math, consultada el 07-10-2026.
- 4Configuring the Schema Settings in All in One SEO, AIOSEO, actualizada el 14-08-2026.
- 5class-wc-structured-data.php, WooCommerce (repositorio oficial), consultado el 07-10-2026.
- 6General structured data guidelines, Google Search Central, actualizada el 10-07-2026.
- 7Schema: API documentation, Yoast Developer Portal, consultada el 07-10-2026.
- 8Structured data markup that Google Search supports, Google Search Central, actualizada el 15-06-2026.
- 9Organization structured data, Google Search Central, actualizada el 08-09-2026.
- 10Local business (LocalBusiness) structured data, Google Search Central, actualizada el 08-09-2026.
- 11Latest Google Search documentation updates, Google Search Central, actualizada el 01-10-2026.
- 12Simplifying the search results page, Google Search Central Blog, 12-06-2025.
- 13AI optimization guide, Google Search Central, actualizada el 10-07-2026.
- 14Rich Results Test, Google, consultada el 07-10-2026.
- 15Schema Markup Validator, Schema.org, consultada el 07-10-2026.
Cómo citar este artículo
SmoothSeen. (2026, 7 de octubre). Schema en WordPress: datos estructurados con Yoast, Rank Math, AIOSEO y WooCommerce sin duplicar. https://smoothseen.com/es/blog/wordpress-datos-estructurados-schema/
Sigue leyendo
Posicionamiento web (SEO): qué es, cómo funciona y cómo mejorarlo en 2026
Qué es el posicionamiento web, cómo decide Google qué páginas muestra y una checklist priorizada para mejorarlo con herramientas gratuitas.
.htaccess y caché: activar gzip y Brotli, la caché del navegador y bloquear bots de IA en Apache
Cómo activar gzip y Brotli, configurar la caché del navegador y vetar bots de IA de entrenamiento en el .htaccess de Apache sin salir de ChatGPT. Probado.
.htaccess y HTTPS: redirigir http a https, activar HSTS y cabeceras de seguridad en Apache
Cómo redirigir http a https en .htaccess o en el VirtualHost de Apache, activar HSTS sin riesgos y añadir cabeceras de seguridad. Configuración probada.