Tipos de schema JSON-LD y cuándo usar cada uno
Google soporta decenas de tipos de schema.org, pero los que generan rich results con mayor impacto en CTR son un grupo reducido. Esta tabla muestra los más importantes con sus casos de uso y el rich result que activan:
| Tipo de schema | Cuándo usarlo | Rich result que activa |
|---|---|---|
| 📄 Article | Artículos de blog, noticias, guías editoriales | Fecha, autor e imagen en resultados |
| ❓ FAQPage | Páginas con sección de preguntas frecuentes visibles | Acordeones desplegables bajo el resultado |
| 🛠️ HowTo | Guías con pasos numerados y claros | Pasos numerados en los resultados |
| 🛒 Product | Páginas de producto con precio y disponibilidad | Precio, estrellas y disponibilidad |
| 🍞 BreadcrumbList | Cualquier página con ruta de navegación | Ruta de migas de pan en la URL del resultado |
| 🏢 Organization | Páginas de empresa, sobre nosotros, contacto | Panel de conocimiento en búsqueda de marca |
| 📍 LocalBusiness | Negocios físicos con dirección y horario | Horarios, dirección y teléfono en resultados locales |
| 📅 Event | Eventos con fecha, lugar y precio de entrada | Fecha, lugar y botón de tickets en resultados |
Cómo implementar el schema JSON-LD generado en tu web
Una vez generado el código, hay tres formas principales de añadirlo a tu web según la plataforma que uses:
WordPress manual. Copia el código generado y pégalo en el functions.php de tu tema dentro de un hook wp_head: add_action('wp_head', function(){ echo '<script type="application/ld+json">...</script>'; });. También puedes usar el campo de cabecera personalizada de tu plugin SEO (Rank Math o Yoast tienen campos específicos para schema).
WordPress con plugin SEO. Rank Math y Yoast generan schema automáticamente, pero puedes sobreescribir o complementar con el tuyo propio pegándolo en el campo "Additional Schema" o "Custom Schema" que ambos plugins ofrecen.
HTML estático o cualquier plataforma. Pega el bloque completo <script type="application/ld+json">...</script> dentro del elemento <head> de tu HTML.
Después de implementarlo, valídalo con la herramienta Rich Results Test de Google para confirmar que no hay errores y qué rich results activará.
✓ Guía oficial: Google Search Central — Understand how structured data worksErrores comunes al implementar schema JSON-LD
Los errores más frecuentes que detecta Google Search Console en las implementaciones de schema son: marcar contenido que no es visible en la página (el schema debe reflejar solo lo que el usuario puede ver), usar propiedades obligatorias incorrectas o vacías (como un Product sin precio o un Article sin headline), tener el JSON malformado con comas faltantes o llaves sin cerrar, y marcar tipos incorrectos para el contenido real de la página.
Google también penaliza el schema spam: usar FAQPage en páginas sin preguntas visibles, marcar una página de categoría como Product, o usar Review schema con valoraciones falsas. Estos usos pueden resultar en una acción manual que elimina los rich results de todo el sitio. Verifica siempre en Google Search Console → Mejoras que no haya errores en el schema implementado.
✓ Guía de errores: Google Search Central — Structured Data PoliciesPreguntas frecuentes sobre schema JSON-LD
Schema JSON-LD es un formato de datos estructurados recomendado por Google que permite a los motores de búsqueda entender mejor el contenido de una página. Se implementa como un bloque de código JavaScript en el head del HTML y describe el tipo de contenido (artículo, producto, FAQ, guía paso a paso, etc.) junto con sus propiedades principales. Google usa esta información para mostrar resultados enriquecidos (rich results) en las búsquedas: estrellas de valoración, preguntas desplegables, migas de pan, precios de productos y más. Implementar schema correcto puede aumentar el CTR de un resultado en Google sin necesidad de subir posiciones. Verifica siempre con la herramienta Rich Results Test de Google.
Los tipos de schema con mayor impacto en SEO son: Article (para artículos de blog y noticias), FAQPage (para páginas con preguntas frecuentes — activa los acordeones en los resultados de búsqueda), HowTo (para guías paso a paso), Product (para páginas de producto con precio y valoración), BreadcrumbList (para mostrar la ruta de navegación en el resultado), Organization (para páginas de empresa), LocalBusiness (para negocios físicos con dirección y horario), Recipe (para recetas de cocina), Event (para eventos) y Review (para valoraciones). Los más fáciles de implementar con mayor retorno inmediato son FAQPage y BreadcrumbList.
El schema JSON-LD debe colocarse dentro del elemento head del HTML, envuelto en una etiqueta script con el atributo type="application/ld+json". Google también acepta el schema en el body de la página, pero la práctica recomendada es ponerlo en el head para que los crawlers lo procesen lo antes posible. En WordPress, la forma más limpia es añadirlo mediante la función wp_head() con add_action en el functions.php, o usando un plugin de SEO como Rank Math o Yoast que lo gestiona automáticamente. Verifica que está correctamente implementado con la herramienta de prueba de resultados enriquecidos de Google en search.google.com/test/rich-results.
El schema no es directamente un factor de ranking — Google ha confirmado que no mejora la posición en los resultados por el simple hecho de tenerlo. Sin embargo, sí mejora el CTR (click-through rate) porque activa los rich results que hacen que tu resultado ocupe más espacio y tenga más elementos visuales que los competidores. Un resultado con FAQPage schema que muestra 3-4 preguntas desplegables puede doblar o triplicar el CTR frente a un resultado estándar, lo que indirectamente sí puede mejorar el posicionamiento al generar más señales positivas. El mayor impacto se ve en nichos con alta competencia donde el CTR diferencia los resultados.
Hay tres herramientas principales para validar schema JSON-LD: la herramienta oficial de Google Rich Results Test en search.google.com/test/rich-results (muestra qué rich results activa el schema y si hay errores), el validador de schema.org en validator.schema.org (verifica la estructura semántica del markup), y la herramienta de inspección de URLs de Google Search Console (muestra cómo ve Google la página ya indexada incluyendo los datos estructurados detectados). El flujo recomendado es: generar el schema → pegarlo en la página → validar con Rich Results Test antes de publicar → comprobar en Search Console 48-72 horas después de que Google lo indexe.
Sí, puedes tener múltiples tipos de schema en la misma página. De hecho, es lo recomendado. Por ejemplo, un artículo de blog puede tener Article + FAQPage + BreadcrumbList en el mismo head. Un producto puede tener Product + BreadcrumbList + FAQPage. Cada tipo se pone en su propio bloque script separado o se combinan en un array JSON. Google procesa todos los tipos y activa los rich results correspondientes para cada uno. La única regla es que cada tipo debe corresponderse con el contenido real visible en la página — no puedes poner FAQPage schema si no hay preguntas y respuestas visibles en la página.
Sí, el schema FAQPage sigue siendo compatible con Google aunque con algunas restricciones actualizadas. Google limita los rich results de FAQPage a sitios de alta autoridad para ciertas consultas, pero el schema sigue activando los acordeones desplegables en los resultados de búsqueda cuando se cumplen las condiciones. Las preguntas y respuestas del schema deben ser idénticas al contenido visible en la página — no puedes tener preguntas solo en el schema que no aparezcan en el HTML. Verifica el estado de tus rich results de FAQ en Google Search Console → Mejoras → FAQPage.
BlogPosting es un subtipo más específico de Article. Article es el tipo genérico para cualquier artículo o contenido editorial. BlogPosting es específico para entradas de blog. Desde el punto de vista de Google, ambos activan los mismos rich results (fecha de publicación, autor, imagen en los resultados). Para un blog creado con WordPress, BlogPosting es técnicamente más preciso. Para una revista digital o sitio de noticias, NewsArticle (otro subtipo de Article) es lo más apropiado. En la práctica, usar Article genérico funciona igual de bien que el subtipo específico para la mayoría de propósitos. Lo más importante son las propiedades incluidas (headline, datePublished, author, image) no el subtipo exacto.