Saltar al contenido
Citora
Técnico5 min de lectura

Cómo implementar el schema JSON-LD

Guía paso a paso para pegar el schema en tu web, sea cual sea tu CMS.

Cómo implementar el schema JSON-LD

Esta guía es para cuando te entregamos el schema y necesitas tú (o tu equipo técnico) pegarlo en tu web. Paso a paso y agnóstico al CMS.

¿Por qué importa?

El schema JSON-LD le dice a Google, a los LLMs y a cualquier crawler qué es cada página de forma estructurada. No es marketing. Es la diferencia entre que la IA "lea tu web" o que la "entienda". Con schema bien hecho, si alguien le pregunta a ChatGPT por tu sector, el modelo tiene datos fiables para citarte con precisión (sede, precios, servicios, horarios).

Qué te entregamos

Al final de la semana 1 del onboarding te mandamos un archivo schema-[tu-empresa]-YYYY-MM-DD.json con entre 2 y 5 bloques de JSON-LD:

  • Organization (o LocalBusiness si aplica) — la entidad principal.
  • WebSite — tu dominio con SearchAction si tenéis buscador interno.
  • BreadcrumbList — migas de pan para estructura.
  • Service × N — uno por servicio concreto.
  • FAQPage — en páginas que tengan FAQs reales.
  • Article — plantilla para tus posts de blog.

Cada bloque es un <script type="application/ld+json"> que se pega dentro del <head> o justo antes de cerrar el <body>.

Opción A — Si usas WordPress (la más común)

Con plugin Rank Math o Yoast SEO

Ambos plugins generan schema automáticamente. El que nos interesa es el que NO están cubriendo:

  1. Instala el plugin Insert Headers and Footers (WPBeginner) o Code Snippets.
  2. En Ajustes → Insertar scripts pega nuestro <script type="application/ld+json"> en la sección <head>.
  3. Guarda.
  4. Verifica con Google Rich Results Test (ver final del doc).

Sin plugin (en el tema)

  1. Edita header.php (o functions.php si prefieres añadir vía wp_head).
  2. Pega el bloque justo antes de </head>.
  3. Guarda. Verifica.

Opción B — Si usas Shopify

  1. Tienda online → Temas → Editar código.
  2. Abre theme.liquid.
  3. Pega el bloque justo antes de </head>.
  4. Guarda.
  5. Si quieres schema específico por producto/colección, usamos {% if template contains 'product' %} — te pasamos la versión adaptada.

Opción C — Si usas Next.js, Nuxt, Astro, etc.

Usa el componente nativo del framework:

Next.js 13+ App Router

En app/layout.tsx:

<head>
  <script
    type="application/ld+json"
    dangerouslySetInnerHTML={{ __html: JSON.stringify(schemaOrgJson) }}
  />
</head>

Astro

En Layout.astro:

<script type="application/ld+json" set:html={JSON.stringify(schemaOrgJson)} />

Nuxt 3

Usa useHead con script type application/ld+json.

Opción D — Si usas Wix, Squarespace, Webflow

Wix

  1. Settings → Custom Code.
  2. Add custom code → Pega el <script type="application/ld+json">.
  3. Aplica a todas las páginas.

Squarespace

  1. Settings → Advanced → Code Injection → Header.
  2. Pega el bloque.

Webflow

  1. Project Settings → Custom Code → Head Code.
  2. Pega el bloque.
  3. Publica.

Opción E — Si tienes Google Tag Manager

Útil cuando no quieres (o no puedes) tocar el CMS directamente:

  1. GTM → Tags → New → Custom HTML.
  2. Pega el <script type="application/ld+json"> entero.
  3. Trigger: All Pages (o específico).
  4. Guarda y publica el contenedor.

Opción F — Hacerlo nosotros por ti

Si nos das acceso editor, lo instalamos nosotros. Es la vía más rápida. El acceso necesario:

  • WordPress: rol "Editor" si usamos plugin, "Administrator" si tocamos functions.php.
  • Shopify: colaborador con permisos de tema.
  • Wix/Squarespace/Webflow: compartir el proyecto con hola@citora.es.
  • GTM: usuario "Editar" en el contenedor.

Verificación — cómo saber que está bien

1. Google Rich Results Test

https://search.google.com/test/rich-results

  • Pega la URL de tu web.
  • Google detecta los tipos de schema y te dice si son válidos.

2. Schema.org Validator

https://validator.schema.org/

  • Más estricto. Si pasa aquí, pasa en cualquier LLM.

3. Ver el HTML renderizado

  • Botón derecho → Ver código fuente.
  • Busca application/ld+json.
  • Debe aparecer nuestro bloque completo. Si falta, el CMS no lo renderizó.

Qué NO hacer

  • No mezcles JSON-LD con microdata inline. Elige un sistema. JSON-LD es el recomendado.
  • No pongas datos falsos. Si dices que tu rating es 4.9 cuando es 3.2, Google te penaliza (y los LLMs detectan inconsistencias).
  • No dupliques el bloque en varias partes del HTML.
  • No modifiques campos sin avisarnos. Te dejamos una versión válida — si la editas, puede romperse.

Qué hacer cuando cambies la web

Cada vez que hagas un cambio estructural (rediseño, nuevo CMS, nueva landing, cambio de URLs) avísanos. Si no, el schema puede quedar inválido silenciosamente y se pierde el trabajo. Tenemos una skill schema que regenera todo en 10 minutos, pero tenemos que saberlo.

También monitorizamos cambios automáticamente (sistema de web-diff) — si detectamos movimiento, te avisamos antes de que se rompa nada.

Dudas frecuentes

¿Hay que re-implementar cada mes? No. Se implementa una vez y solo se toca cuando cambias la estructura.

¿Por qué no me lo hace el plugin SEO que ya tenía? Los plugins SEO clásicos cubren parcialmente Organization y Article. No suelen cubrir LocalBusiness, Service detallado, FAQPage ni BreadcrumbList correctamente. Y no ajustan los campos a tu caso real. Por eso lo hacemos a mano.

¿Es reversible? Sí. Quitar el <script type="application/ld+json"> restaura el estado previo. No afecta al diseño ni al funcionamiento de la web.

¿Penaliza algo? Al contrario: bien hecho, solo suma. Mal hecho (datos falsos), Google puede penalizar. Por eso lo validamos antes de entregarlo.

¿Tienes una duda específica?

Escríbenos a hola@citora.es y te contestamos en menos de 48h laborables.

Escribir a soporte

Otras guías de técnico

Audit gratis →