Los datos estructurados son la diferencia entre que tu receta aparezca en Google con foto, valoración y tiempo de cocción, o como una línea azul más. Entre que tus preguntas frecuentes se desplieguen en el resultado, o no.
El problema es que escribir schema a mano es tedioso y muy fácil de romper: un corchete mal cerrado y Google ignora el bloque entero sin decirte nada. La IA es genuinamente buena en esto —es código estructurado y repetitivo, justo lo suyo— siempre que la uses con dos precauciones que veremos.
Qué son y qué no son
Los datos estructurados son un bloque de código, normalmente en formato JSON-LD, que va en el HTML de tu página y describe su contenido en un vocabulario que los buscadores entienden: esto es un artículo, este es su autor, esta es la fecha, esta es la valoración.
Dos aclaraciones que evitan expectativas equivocadas:
No son un factor de posicionamiento. Poner schema no te sube en los resultados. Lo que hace es habilitar los resultados enriquecidos: esos añadidos visuales que ocupan más espacio y se llevan más clics. Subes por lo que ganas en clics, no porque Google te premie por tener marcado.
Google decide si los muestra. Tener el marcado correcto no garantiza el resultado enriquecido, solo lo hace posible. Sin marcado es imposible; con marcado, es una posibilidad.
Qué tipos necesitas de verdad
Schema.org tiene cientos de tipos. Para un WordPress normal necesitas cuatro o cinco:
ArticleoBlogPostingpara las entradas del blog.FAQPagepara páginas con preguntas frecuentes reales y visibles.HowTopara tutoriales paso a paso.Productsi vendes, con precio y disponibilidad.LocalBusinesssi tienes negocio con ubicación.BreadcrumbListpara la ruta de navegación.
Antes de generar nada: comprueba qué tienes ya. Yoast y Rank Math generan automáticamente bastante de esto. Si añades tu propio bloque sin mirar, acabas con marcado duplicado y contradictorio, que es peor que no tener ninguno.
Para verlo, abre una entrada tuya, mira el código fuente y busca application/ld+json. O usa directamente la herramienta de prueba de resultados enriquecidos de Google, que te lista todo lo que detecta.
El prompt que funciona
El fallo típico es pedir «genérame el schema de este artículo» y pegar el texto. El modelo produce un JSON impecable… con una fecha de publicación inventada, un autor que no existe y una URL de imagen plausible pero falsa.
Publicar datos falsos en el marcado es peor que no tenerlo: es información incorrecta sobre tu propia página, y en el caso de valoraciones o precios puede acarrear una acción manual de Google.
La forma correcta es dar los datos explícitamente y prohibir el relleno:
«Genera un bloque JSON-LD de tipo Article para esta página. Usa EXCLUSIVAMENTE estos datos y no inventes ninguno:
— Titular: [título exacto]
— URL: [URL exacta]
— Autor: [nombre]
— Fecha de publicación: [AAAA-MM-DD]
— Fecha de modificación: [AAAA-MM-DD]
— Imagen destacada: [URL completa de la imagen]
— Editor: [nombre del sitio]
Si falta algún campo obligatorio, NO lo rellenes: escribe PENDIENTE y avísame al final de qué falta. Devuelve solo el bloque JSON-LD envuelto en su etiqueta script, sin explicación.»
La instrucción de escribir PENDIENTE en lugar de inventar es la clave de todo el asunto. Convierte al modelo en un generador de plantillas fiable en lugar de en un inventor creativo.
El caso de las preguntas frecuentes
FAQPage es el tipo con mejor relación esfuerzo-resultado, y también el que más se usa mal.
La regla que Google aplica es estricta: las preguntas y respuestas del marcado tienen que estar visibles en la página, con el mismo texto. No vale marcar preguntas que no aparecen, ni marcar unas y mostrar otras distintas.
El flujo correcto es al revés de como suele hacerse: primero escribes las preguntas frecuentes en el artículo porque son útiles, y después generas el marcado a partir de ellas. No al contrario.
Para eso, un prompt sencillo funciona bien: pegas las preguntas y respuestas tal cual están en la página y pides el bloque FAQPage respetando el texto literal, sin reescribir. Insiste en lo de «literal», porque el instinto del modelo es mejorar la redacción, y ahí la mejora te rompe la validez.
La validación no es opcional
Esta es la segunda precaución, y no se salta nunca.
Un JSON-LD con un error de sintaxis no da error visible: simplemente se ignora entero. Puedes tener meses de marcado inútil sin enterarte.
Valida siempre en dos sitios, porque comprueban cosas distintas:
- La prueba de resultados enriquecidos de Google. Te dice si el marcado sirve para generar resultados enriquecidos y qué campos obligatorios faltan.
- El validador de Schema.org. Es más estricto con el vocabulario y detecta propiedades mal escritas que Google se salta.
Y antes de eso, si el bloque te ha quedado largo, revísalo con un formateador para ver la estructura de anidamiento con claridad. Nuestro JSON formatter and validator funciona entero en tu navegador, así que puedes pegar marcado con datos de tu negocio sin que salga de tu equipo.
Los cinco errores que más se repiten
- Duplicate markup. Your SEO plugin already generates
Articleand you add another. Google receives two versions and keeps the one it wants. Before adding, see what's there. - Dates in incorrect format. It must be ISO 8601 format:
2026-09-22, not "September 22, 2026". - Relative URLs. In the markup, all URLs are absolute, with
https://and full domain. A relative path invalidates the field. - Invented or self-assigned ratings. Marking
AggregateRatingwith non-existent reviews is one of the few uses of schema that cause manual penalties. Don't do it. - Markup that does not correspond to the content. Putting
HowToon something that is not a tutorial, orProducton an informational page. Google detects it and stops trusting the rest of your markup.
Where to put it in WordPress
You have three ways, from less to more control:
Your SEO plugin. Yoast and Rank Math allow you to configure the content type per post and generate the markup themselves. For most sites, this is sufficient and the most maintainable. If you use Yoast, start by reviewing the content type settings before adding anything manually.
A snippet manager. If you need a specific block on a specific page, a manager like WPCode lets you insert it with conditions on where it appears, without touching the theme files. We have a guide on WPCode as a snippet manager which covers exactly this case.
The child theme. Only if you know what you're doing and need logic that depends on site data. Remember it must be a child theme: if you put it in the parent theme, the next update will override it.
How to know if it's really working
Validating the block in a tool tells you that the syntax is correct. It doesn't tell you if Google is using it. For that, you have to look at Search Console, and it's advisable to do so a couple of weeks after publishing.
In the sidebar menu, under Enhancements, an entry appears for each type of markup Google has detected on your site: "FAQs", "Products", "Breadcrumbs" and those that apply. If you have put FAQPage and after two weeks no FAQ section appears, Google is not processing it and something is wrong.
Each report divides pages into three states that are worth understanding:
- Valid: the markup has been processed correctly. That's the goal.
- Valid with warnings: it works, but recommended fields are missing. It's worth reviewing them because optional fields are often what make the result more attractive: an image, a rating, a price.
- Invalid: a mandatory field is missing and the markup is discarded. These are priorities.
A practical detail: the report groups errors by type, not by page. If eighty pages appear with the same error, it's almost always a single template error repeated eighty times. You fix one and all are corrected, so don't be scared by the number.
And a warning about the pace: after correcting, the report doesn't update instantly. Google has to re-crawl the affected pages, and that can take days to weeks. You can speed it up by requesting indexing for a specific page from the URL inspection tool, but don't do it for all eighty: request one, check that it's already valid, and let the rest process on their own.
Frequently Asked Questions
How long does it take for the rich result to appear?
First, Google has to re-crawl the page, which can take days to weeks depending on how often it visits your site. Then it decides whether to display it. In Search Console, the improvements section tells you how many pages have valid markup, which is the sign that it has at least processed it correctly.
Can I mark a page with several types at once?
Yes, and it's normal. An article can be Article, to have BreadcrumbList and also a block FAQPage for its FAQs. What you shouldn't do is duplicate the same type twice with different data.
Is schema useful for AI search engines?
It helps, though not in the way it helps classic rich results. Well-structured and explicit content about what it is and who signs it is easier for any system reading the web to interpret and cite correctly. It's not a direct lever, but it rows in its favor.
What if my theme already includes schema on its own?
Many commercial themes do it, and that's where most duplicates appear. Run a page through Google's testing tool and see how many blocks it detects. If you see two Article, deactivate one of the two sources: normally it's easier to deactivate the theme's and stick with the SEO plugin's, which updates more often.
In summary
Structured markup is one of the few things in technical SEO with a visible and verifiable result: either the validator says it's good, or it says what's missing.
AI saves you the tedious part of writing it, with two non-negotiable conditions: give it real data and forbid it from inventing missing data, and always validate the result before publishing it. With these two, you go from a specialist's job to a ten-minute task per template.