Pulsa ESC para cerrar

Curso WordpressCurso Wordpress

Datos estructurados en WordPress: qué tipo de Schema elegir y cómo agregarlo con JSON-LD

Los datos estructurados son una descripción de tu página escrita en un formato que entienden las máquinas: «esto es un artículo, lo escribió tal persona, se publicó tal día» o «esto es un producto, cuesta tanto, hay stock». Los usan Google para mostrar resultados enriquecidos (estrellas, precios, migas de pan) y las IAs para entender de qué trata tu contenido.

El formato recomendado es JSON-LD: un bloque de código dentro de la página que el visitante no ve.

Qué tipo usar en cada página

  • Entradas del blog: BlogPosting (o Article, su versión general). Para tutoriales técnicos existe TechArticle, pero Google lo trata igual que Article.
  • Noticias de actualidad: NewsArticle.
  • Portada o página «Sobre nosotros»: Organization (una empresa) o Person (un blog personal), con logo, redes sociales y datos de contacto.
  • Negocio con local físico: LocalBusiness (o un tipo más específico, como Store o Restaurant), con dirección, teléfono y horario.
  • Productos: Product con Offer (precio, moneda, disponibilidad). WooCommerce ya lo genera solo.
  • Todas las páginas: BreadcrumbList para las migas de pan y WebSite.

Los que ya no dan resultados enriquecidos

Algunos tipos muy populares hace años ya no muestran nada especial en Google para la mayoría de los sitios:

  • FAQPage: desde 2023, Google solo muestra los resultados de preguntas frecuentes para sitios de gobierno y salud reconocidos.
  • HowTo: Google dejó de mostrar sus resultados enriquecidos.

No hacen daño y pueden ayudar a que las IAs entiendan tu contenido, pero no esperes ver cambios en los resultados de búsqueda por agregarlos.

Los datos estructurados deben coincidir con lo visible. Si marcas cinco estrellas que no aparecen en la página, o preguntas frecuentes que no están en el texto, Google puede aplicar una acción manual y quitarte todos los resultados enriquecidos.

¿Ya tienes datos estructurados?

Antes de agregar nada, revisa lo que ya hay. Tu plugin de SEO (Yoast, Rank Math, SEOPress, AIOSEO) y WooCommerce generan bastantes por su cuenta. Abre tu página en la Prueba de resultados enriquecidos de Google (search.google.com/test/rich-results) o en el validador de schema.org (validator.schema.org) y mira qué tipos detecta.

JSON-LD sin plugins

Si no usas un plugin de SEO, o quieres agregar algo que tu plugin no cubre, este mu-plugin genera un BlogPosting para cada entrada. Guárdalo como wp-content/mu-plugins/cwp-schema-entradas.php:

<?php
/**
 * Plugin Name: Schema para entradas (Curso WordPress)
 */

add_action( 'wp_head', function () {
	if ( ! is_singular( 'post' ) ) {
		return;
	}
	$id    = get_queried_object_id();
	$autor = get_post_field( 'post_author', $id );
	$datos = array(
		'@context'         => 'https://schema.org',
		'@type'            => 'BlogPosting',
		'headline'         => wp_strip_all_tags( get_the_title( $id ) ),
		'description'      => wp_strip_all_tags( get_the_excerpt( $id ) ),
		'datePublished'    => get_the_date( 'c', $id ),
		'dateModified'     => get_the_modified_date( 'c', $id ),
		'mainEntityOfPage' => get_permalink( $id ),
		'author'           => array(
			'@type' => 'Person',
			'name'  => get_the_author_meta( 'display_name', $autor ),
			'url'   => get_author_posts_url( $autor ),
		),
		'publisher'        => array(
			'@type' => 'Organization',
			'name'  => get_bloginfo( 'name' ),
			'url'   => home_url( '/' ),
		),
	);
	$imagen = get_the_post_thumbnail_url( $id, 'full' );
	if ( $imagen ) {
		$datos['image'] = $imagen;
	}
	echo '<script type="application/ld+json">' . wp_json_encode( $datos, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE ) . '</script>' . "\n";
} );

No dupliques. Si tu plugin de SEO ya genera un Article o BlogPosting, no uses este mu-plugin: dos bloques del mismo tipo para la misma página confunden. En ese caso, mejor completa los datos que te pide el plugin (logo, tipo de organización, redes sociales).

Valida siempre

Después de cualquier cambio:

  1. Pasa la URL por la Prueba de resultados enriquecidos: te dice qué tipos detecta y si hay errores o advertencias.
  2. En Search Console → Mejoras, revisa durante las semanas siguientes que no aparezcan errores nuevos.
  3. Las advertencias («falta un campo opcional») no son graves; los errores sí hay que corregirlos.

¿La prueba de Google te muestra errores que no entiendes? Pega la URL en el foro y la revisamos.