Schema Markup
Elige los tipos de datos estructurados adecuados para una página, genera JSON-LD válido y evita errores que bloquean los resultados enriquecidos.
Nativa para agentes
Ejecútala en Claude, las apps MCP personalizadas de ChatGPT, OpenClaw, Hermes, Codex, Claude Code, Cursor, VS Code u otro cliente compatible con MCP. Sin flujo de GUI dedicado y sin clave API de LLM aparte.
Un marco, no una caja negra
Esta skill es criterio y estructura que ejecuta tu propio asistente — incluye el marco, las reglas de decisión y las plantillas, sin necesidad de llamadas a la API.
Componible y de código abierto
Las skills se referencian entre sí y viven en un repo público de estilo MIT. Lee el SKILL.md completo en GitHub, haz un fork o ejecútala tal cual dentro de tu agente.
Pega esto en Codex o Claude Code
El prompt es intencionadamente editable. Reemplaza los handles, el mercado, el presupuesto y el objetivo de la campaña, y luego deja que el agente llame a UnifAPI MCP cuando necesite datos públicos en vivo.
Recommend and generate the JSON-LD schema for this product page, then explain which rich results it can earn and how to validate it.
La skill completa, renderizada desde su SKILL.md
Eres un experto en datos estructurados. Tu objetivo es elegir los tipos correctos de schema.org para una página, generar JSON-LD válido y evitar los errores que descalifican los rich results — para que los motores de búsqueda entiendan el contenido y la página sea elegible para resultados enriquecidos.
Esta es una skill de consejo — aquí no se llama a UnifAPI. Recomienda tipos y genera JSON-LD; tu propio asistente lo escribe en el sitio. (Cuando necesites leer el JSON-LD inyectado por JS que ya hay en una página en vivo antes de cambiarlo, la skill seo-audit lo hace vía browser/html / browser/markdown — un fetch estático no puede ver el schema inyectado del lado del cliente.)
Flujo de trabajo
- Lee el contexto primero. Si existe
.agents/product-marketing.md(o.claude/product-marketing.md, o el legacyproduct-marketing-context.md), léelo antes de hacer preguntas; pregunta solo por lo que no cubra. - Identifica el tipo de página y los rich results que puede ganar — cuál es el contenido principal, y qué resultado enriquecido está realistamente disponible (ver Common Schema Types).
- Inventaría el markup existente. Anota qué schema (si lo hay) ya está presente y si da error. Para leer el JSON-LD inyectado por JS en la página en vivo, entrega a seo-audit (
browser/html/browser/markdown); unweb_fetch/curlelimina las etiquetas<script>y se lo perderá. - Elige los tipos y propiedades correctos — empareja cada uno con sus campos requeridos y recomendados (Quick Reference). Cuando una página es legítimamente más de una cosa, combina los tipos bajo
@graphen lugar de emitir bloques separados y desconectados. - Genera JSON-LD válido para la página, reflejando con precisión el contenido visible (Output Format; ejemplos completos en references/schema-examples.md).
- Valida con el Rich Results Test y el Schema.org Validator, corrige errores/advertencias, luego entrega el markup a tu propio asistente para añadirlo al sitio.
Principios fundamentales
- La precisión primero — el markup debe representar contenido que realmente esté en la página; no marques lo que no está ahí; mantenlo sincronizado cuando el contenido cambie. Un schema que no coincide hace que se revoquen los rich results.
- Usa JSON-LD — el formato recomendado por Google; el más fácil de mantener. Colócalo en
<head>o al final de<body>. - Sigue las directrices de Google — usa solo los tipos/propiedades que Google admite para rich results; comprueba los requisitos de elegibilidad; evita el markup spammy.
- Valida todo — prueba antes de desplegar; monitoriza los Enhancements de Search Console; corrige los errores con prontitud.
Common Schema Types
| Type | Use For | Required Properties |
|---|---|---|
| Organization | Company homepage/about | name, url |
| WebSite | Homepage (sitelinks search) | name, url |
| Article/BlogPosting | Blog posts, news | headline, image, datePublished, author |
| Product | Product pages | name, image, offers |
| SoftwareApplication | SaaS/app pages | name, offers |
| FAQPage | FAQ content | mainEntity (Q&A array) |
| HowTo | Tutorials | name, step |
| BreadcrumbList | Any page with breadcrumbs | itemListElement |
| LocalBusiness | Local business pages | name, address |
| Event | Events, webinars | name, startDate, location |
El JSON-LD completo de cada uno está en references/schema-examples.md.
Quick Reference (requerido + recomendado)
- Organization — req: name, url · rec: logo, sameAs (perfiles sociales), contactPoint
- Article/BlogPosting — req: headline, image, datePublished, author · rec: dateModified, publisher, description
- Product — req: name, image, offers (price + availability) · rec: sku, brand, aggregateRating, review
- SoftwareApplication — req: name, offers · rec: applicationCategory, operatingSystem, aggregateRating
- FAQPage — req: mainEntity (array de Question/Answer) · solo para Q&A genuinas y visibles
- BreadcrumbList — req: itemListElement (cada uno con position, name, item)
Múltiples tipos de schema (@graph)
Cuando una página es legítimamente varias cosas a la vez (p. ej. una homepage que es una Organization y un WebSite y tiene breadcrumbs), combínalas bajo un único @graph y referéncialas cruzadamente con @id para que las entidades se enlacen en lugar de flotar como bloques desconectados:
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "Organization", "@id": "https://example.com/#org", "name": "...", "url": "..." },
{
"@type": "WebSite",
"@id": "https://example.com/#website",
"url": "...",
"publisher": { "@id": "https://example.com/#org" }
},
{ "@type": "BreadcrumbList", "itemListElement": [] }
]
}
Validación y pruebas
- Google Rich Results Test — https://search.google.com/test/rich-results (renderiza JavaScript; detecta problemas de elegibilidad)
- Schema.org Validator — https://validator.schema.org/
- Search Console — informes de Enhancements (monitorización tras el despliegue)
Errores comunes: faltan propiedades requeridas; valores no válidos (las fechas deben ser ISO 8601, las URLs totalmente cualificadas, las enumeraciones exactas, p. ej. https://schema.org/InStock); markup que no coincide con el contenido visible de la página.
Notas de implementación
- Sitios estáticos — JSON-LD directamente en la plantilla; usa includes/partials para los bloques reutilizables.
- Dinámicos (React/Next.js) — un componente que serializa los datos a JSON-LD, renderizado del lado del servidor. Ver el ejemplo de Next.js en la referencia.
- CMS/WordPress — plugins Yoast / Rank Math / Schema Pro (nota: estos inyectan vía JS — ver la advertencia de detección en vivo de arriba), ediciones del tema o mapeo de campos personalizados.
Formato de salida
Devuelve el bloque JSON-LD más un checklist de pruebas.
{
"@context": "https://schema.org",
"@type": "...",
"// complete, valid markup populated from the actual page": "..."
}
Testing checklist
[ ] Validates in Rich Results Test
[ ] No errors or warnings
[ ] Every field matches visible page content
[ ] All required properties present
[ ] (multi-type) entities linked via @id under @graph
Salvaguardas
- Solo consejo + generación ("ojos, no manos"): esta skill produce JSON-LD y guía de validación; el propio asistente del operador lo escribe en el sitio.
- Precisión sobre cobertura: nunca marques contenido que no esté en la página, y nunca inventes ratings/precios/fechas para calificar para un rich result — el markup fabricado hace que se revoquen los resultados y arriesga una acción manual.
- Afirma que un rich result es alcanzable solo cuando el tipo está admitido por Google y la página cumple sus requisitos de elegibilidad; valida antes de declarar hecho.
Referencias
- references/schema-examples.md — JSON-LD completo para Organization, WebSite, Article, Product, SoftwareApplication, FAQPage, HowTo, BreadcrumbList, LocalBusiness, Event,
@graphy una implementación en Next.js.
Skills relacionados
- seo-audit (SEO Agent): SEO general, incluida la lectura del schema inyectado por JS que ya hay en una página en vivo (
browser/html/browser/markdown). - ai-seo (AI Visibility Agent): los datos estructurados ayudan a los motores de AI a extraer y citar el contenido.
- programmatic-seo: schema con plantilla generado a escala a través de muchas páginas.
- site-architecture: estructura de breadcrumbs y planificación del schema de navegación.
- unifapi: la skill de datos compartida (solo relevante vía seo-audit, para leer el markup en vivo de la página).
Fuente: schema/SKILL.md en GitHub — abre un PR ahí para mejorarla.
Combina con estas APIs en vivo
Esta skill es solo de marco, pero combina con estas plataformas de UnifAPI cuando necesitas evidencia en vivo.
- Tipos de schema.org recomendados para la página
- JSON-LD válido listo para pegar
- Pasos de validación y comprobaciones de errores comunes
Más skills en el SEO Agent
Encadénalas en el mismo agente para pasar de un artefacto de decisión al siguiente — cada una tiene su propio prompt de ejecución, flujo de trabajo y salida esperada.
Auditoría SEO
Audita la rastreabilidad, el on-page y el contenido frente a evidencia en vivo de SERP y posiciones — no un checklist estático.
Abrir Auditoría SEOCorrecciones SEO
Convierte la evidencia de una auditoría SEO en vivo en correcciones priorizadas, responsables y comprobaciones de aceptación.
Abrir Correcciones SEOKeyword research
Convierte una lista semilla en oportunidades de keywords clasificadas y brechas frente a competidores a partir de datos en vivo de SERP y volumen.
Abrir Keyword research