Volver al blog

Schema markup en Webflow: guía completa con JSON-LD

Cómo implementar Schema.org en Webflow con JSON-LD: Article, Product, FAQ, LocalBusiness, BreadcrumbList. Plantillas listas para copiar y validar.

Tabla de contenido

Schema markup es la diferencia entre aparecer en Google como un resultado azul más, o aparecer con rich snippets, FAQ desplegables, breadcrumbs y precio destacado. En 2026, también es la diferencia entre ser citado por ChatGPT/Perplexity o ser invisible para AI search.

La buena noticia: Webflow soporta Schema markup nativamente vía custom code. La mala: nadie lo configura bien porque la documentación es escasa. Esta guía cierra ese hueco.

Qué es Schema markup (versión sin BS)

Schema.org es un vocabulario estandarizado que le dice a buscadores e IAs qué tipo de cosa es cada cosa en tu página: “esto es un artículo”, “esto es un producto”, “esto es una pregunta frecuente”.

Sin schema, Google adivina leyendo el HTML. Con schema, Google sabe.

Formatos posibles:

  • JSON-LD (recomendado por Google desde 2016) — bloque <script> separado del HTML visible
  • Microdata — atributos HTML inline (itemtype, itemprop)
  • RDFa — similar a microdata, casi obsoleto

Usa siempre JSON-LD. Es más limpio, más fácil de mantener, y es lo que recomienda Google.

Por qué Schema importa más en 2026

Tres razones concretas:

1. Rich results en Google

FAQ desplegables, estrellas de review, breadcrumbs, precio, disponibilidad — todo eso requiere schema. Sin schema, no aparecen.

2. AI Overviews y citaciones de LLMs

ChatGPT Search, Perplexity y Google AI Overviews leen schema explícitamente cuando deciden qué citar. Un artículo con Article schema bien estructurado tiene 3-4x más probabilidad de ser citado que uno sin schema.

3. Knowledge Graph

Google construye su Knowledge Graph parcialmente a partir de schema. Organization, Person, LocalBusiness schemas alimentan los paneles que aparecen al lado derecho de los resultados.

Schemas que sí debes implementar (priorizados)

No todos los schemas tienen ROI parejo. Estos son los que mueven la aguja para sitios marketing en LATAM:

  1. Organization (en todas las páginas, vía site-wide head)
  2. WebSite con SearchAction (en todas las páginas)
  3. BreadcrumbList (en páginas de detalle: posts, productos, servicios)
  4. Article / BlogPosting (en cada post de blog)
  5. FAQPage (cuando hay sección de preguntas frecuentes real)
  6. LocalBusiness (si tienes oficina física)
  7. Product (e-commerce)
  8. Service (páginas de servicios)

El resto (Event, Recipe, Course, etc.) solo si aplica a tu negocio.

Dónde meter el schema en Webflow

Tres opciones, ordenadas por preferencia:

Opción 1: Project Settings → Custom Code → Head (site-wide)

Para schemas que van en TODAS las páginas: Organization, WebSite.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Webflow Colombia",
  "url": "https://webflowcolombia.com",
  "logo": "https://webflowcolombia.com/logo.png"
}
</script>

Opción 2: Page Settings → Inside tag (por página)

Para schemas únicos por página: LocalBusiness en /contacto, FAQPage en /servicios, etc.

Opción 3: CMS field con embed (dinámico)

Para schemas que dependen del contenido CMS (cada blog post, cada producto):

  1. En tu CMS Collection, agrega un campo Plain Text llamado schemaJson
  2. En cada item, escribe el schema correspondiente
  3. En el template, mete un Embed element con:
<script type="application/ld+json">
{{wf {"path":"schemaJson","type":"PlainText"} }}
</script>

Esto genera schema único por cada item del CMS.

Mejor aún: armar el schema dinámicamente desde los campos del CMS directamente, sin un campo aparte.

Plantillas listas para copiar

Todas las plantillas siguientes son JSON-LD válido. Reemplaza los placeholders entre {{ }} con tus datos reales.

Organization (site-wide)

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "{{ Tu Empresa }}",
  "alternateName": "{{ Acrónimo o nombre corto }}",
  "url": "https://tudominio.com",
  "logo": "https://tudominio.com/logo.png",
  "description": "{{ Una línea sobre qué hacen }}",
  "foundingDate": "{{ YYYY }}",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "{{ Calle 123 # 45-67 }}",
    "addressLocality": "Bogotá",
    "addressRegion": "Cundinamarca",
    "postalCode": "110111",
    "addressCountry": "CO"
  },
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+57-300-000-0000",
    "contactType": "customer service",
    "email": "[email protected]",
    "availableLanguage": ["Spanish", "English"]
  },
  "sameAs": [
    "https://www.linkedin.com/company/tu-empresa",
    "https://www.instagram.com/tuempresa",
    "https://x.com/tuempresa"
  ]
}
</script>

WebSite con SearchAction

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "url": "https://tudominio.com",
  "name": "{{ Tu Empresa }}",
  "potentialAction": {
    "@type": "SearchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "https://tudominio.com/buscar?q={search_term_string}"
    },
    "query-input": "required name=search_term_string"
  }
}
</script>

Si no tienes buscador interno, omite el potentialAction.

Article / BlogPosting (cada post)

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "{{ Título del post }}",
  "description": "{{ Excerpt del post }}",
  "image": "https://tudominio.com/{{ slug-imagen-hero.jpg }}",
  "datePublished": "{{ YYYY-MM-DD }}",
  "dateModified": "{{ YYYY-MM-DD }}",
  "author": {
    "@type": "Person",
    "name": "{{ Nombre Autor }}",
    "url": "https://tudominio.com/autor/{{ slug }}"
  },
  "publisher": {
    "@type": "Organization",
    "name": "{{ Tu Empresa }}",
    "logo": {
      "@type": "ImageObject",
      "url": "https://tudominio.com/logo.png"
    }
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://tudominio.com/blog/{{ slug }}"
  }
}
</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Inicio",
      "item": "https://tudominio.com"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Blog",
      "item": "https://tudominio.com/blog"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "{{ Título del post }}"
    }
  ]
}
</script>

Nota: el último ítem NO lleva item (URL), porque ya estás en él.

FAQPage

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "¿Cuánto cuesta un sitio Webflow?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Un sitio Webflow profesional en LATAM cuesta entre USD $3.000 y $12.000 dependiendo de alcance. Incluye diseño custom, CMS, integraciones y SEO técnico."
      }
    },
    {
      "@type": "Question",
      "name": "¿Cuánto tiempo toma construir un sitio Webflow?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Un sitio marketing típico de 10-15 páginas toma 4-6 semanas: 1 semana de discovery, 2 de diseño, 2 de build, 1 de QA y lanzamiento."
      }
    }
  ]
}
</script>

Cuidado: las preguntas y respuestas deben coincidir 1:1 con el contenido visible en la página. Si el FAQ schema dice “X” pero en la página dice “Y”, Google lo marca como spam.

LocalBusiness

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "{{ Tu Empresa }}",
  "image": "https://tudominio.com/oficina.jpg",
  "url": "https://tudominio.com",
  "telephone": "+57-300-000-0000",
  "priceRange": "$$",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Calle 100 # 11-20",
    "addressLocality": "Bogotá",
    "addressRegion": "Cundinamarca",
    "postalCode": "110111",
    "addressCountry": "CO"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 4.6826,
    "longitude": -74.0476
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "09:00",
      "closes": "18:00"
    }
  ]
}
</script>

Para agencias, consultoras, abogados, médicos: usa el tipo específico (ProfessionalService, Attorney, MedicalBusiness, etc.) en vez de LocalBusiness genérico.

Product (e-commerce)

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "{{ Nombre del producto }}",
  "image": [
    "https://tudominio.com/producto-1.jpg",
    "https://tudominio.com/producto-2.jpg"
  ],
  "description": "{{ Descripción del producto }}",
  "sku": "{{ SKU }}",
  "brand": {
    "@type": "Brand",
    "name": "{{ Marca }}"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://tudominio.com/productos/{{ slug }}",
    "priceCurrency": "COP",
    "price": "120000",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "23"
  }
}
</script>

aggregateRating solo si tienes reviews reales en la página. Inventar reviews es la vía rápida a una penalización manual.

Service

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Service",
  "serviceType": "Desarrollo de sitios web en Webflow",
  "provider": {
    "@type": "Organization",
    "name": "Webflow Colombia"
  },
  "areaServed": {
    "@type": "Country",
    "name": "Colombia"
  },
  "description": "Diseño y desarrollo de sitios Webflow custom para empresas B2B en LATAM."
}
</script>

Cómo validar tu schema

Implementar sin validar es perder el tiempo. Tres herramientas:

1. Schema Markup Validator (Schema.org oficial)

validator.schema.org — pega tu URL o código, te dice si el schema es estructuralmente válido.

2. Rich Results Test (Google oficial)

search.google.com/test/rich-results — te dice si Google puede usar tu schema para rich results específicos. Más estricto que el validator de Schema.org.

3. Google Search Console → Enhancements

Después de que Google rastree tu sitio, Search Console te muestra qué schemas detectó, cuántas páginas tienen rich results elegibles, y qué errores hay.

Workflow:

  1. Implementa el schema en Webflow
  2. Publica
  3. Valida con Schema Markup Validator
  4. Valida con Rich Results Test
  5. Espera 1-2 semanas a que Google rastree
  6. Revisa Search Console → Enhancements

Errores comunes en Webflow

Error 1: Schema en el body en vez del head

El <script type="application/ld+json"> puede ir en <head> o <body>. Google acepta ambos, pero por convención va en head. En Webflow, mete schemas estáticos en Page Settings → Inside <head>.

Error 2: Datos del schema no coinciden con la página

Si el schema dice “precio: $100” pero la página muestra “$200”, Google detecta inconsistencia y marca como spam. El schema debe reflejar exactamente el contenido visible.

Error 3: Inventar reviews o ratings

aggregateRating requiere reviews reales en la página o vinculadas a una plataforma de reviews. Inventar reviews es penalización manual segura.

Error 4: FAQ schema con preguntas que no están en la página

El contenido del FAQPage schema debe estar visible en la página. Si las preguntas solo existen en el schema, Google las considera spam.

Error 5: Duplicar Organization en cada página

Una sola declaración de Organization en site-wide custom code. Repetirlo en cada página es redundante (no daña pero ensucia).

Error 6: No actualizar dateModified

BlogPosting schema con datePublished: 2022 y dateModified: 2022 para un post que actualizaste en 2026 — Google ve un post “viejo” y deprioriza.

Schema para AI search (GEO)

En 2026, los LLMs leen schema explícitamente. Recomendaciones para ser citado:

1. BlogPosting completo, no parcial

LLMs prefieren artículos con author, publisher, dateModified, mainEntityOfPage completos. Schema incompleto = baja confianza = menos citaciones.

2. Person schema para autores con sameAs

Conecta el autor con su LinkedIn, perfiles públicos, ORCID. Eso construye E-E-A-T y aumenta probabilidad de cita.

3. Organization con sameAs a tus perfiles

Linkedln, X, Crunchbase, Wikipedia (si aplica). Los LLMs cruzan estas señales.

4. FAQPage para preguntas que la gente hace literalmente

Si tu FAQ schema tiene “¿Cuánto cuesta un sitio Webflow?”, y alguien le pregunta eso a ChatGPT, tu sitio es candidato a citación.

Lee más sobre esto en cómo aparecer en AI Overviews de Google en 2026 (próximamente).

Stack que aplicamos a cada cliente

Para sitios marketing B2B típicos:

  1. Site-wide head: Organization + WebSite
  2. Cada blog post: BlogPosting + BreadcrumbList
  3. Página de servicios: Service (uno por servicio principal) + BreadcrumbList
  4. Página de contacto: LocalBusiness (si hay oficina)
  5. FAQs: FAQPage en /servicios y /precios cuando hay sección real

Total: 4-5 tipos de schema. No necesitas implementar los 800+ tipos de Schema.org. Estos cubren el 95% de los rich results y citaciones.

Próximos pasos

Si quieres que revisemos qué schema tiene tu sitio actualmente y qué le falta, solicita la auditoría SEO gratuita — incluye un análisis de Schema.org y plan de implementación priorizado por impacto.

Si vas a construir un sitio nuevo en Webflow, en Webflow Colombia implementamos schema correcto desde el día uno como parte del entregable, no como add-on. Y si esto es para tu propio aprendizaje: empieza por Organization site-wide, luego BlogPosting en cada post, luego BreadcrumbList. Esos tres cubren el 80% del valor con el 20% del esfuerzo.

¿Listo para llevar tu presencia digital al siguiente nivel?