Capacidades por plataforma
No toda señal que Clione genera puede escribirse en toda plataforma para todo tipo de entidad. Cada API de catálogo de plataforma tiene sus rarezas — qué campos son escribibles, qué tipos acepta, qué es de solo lectura, dónde vive el JSON-LD.
Esta página documenta la matriz de capacidades para que puedas predecir qué esperar cuando enriquezcas una categoría de BC vs una página de Shopify.
Matriz señal a señal
| Señal | BC Products | BC Categories | BC Pages | Shopify Products | Shopify Collections | Shopify Pages |
|---|---|---|---|---|---|---|
| meta_title | Sí | Sí | Sí | Sí | Sí | Sí |
| meta_description | Sí | Sí | Sí | Sí (tope 255 char) | Sí (tope 255 char) | Sí (tope 255 char) |
| meta_keywords | Sí (array) | Sí (array) | Sí (string!) | N/A | N/A | N/A |
| search_keywords (búsqueda interna BC) | Sí | Sí | Sí | N/A | N/A | N/A |
| canonical_url | Sí | Solo lectura vía sync | Sí | Sí | Sí | Sí |
| JSON-LD | Sí (Schema Injector) | Planeado | Planeado | Sí (theme app block) | Planeado | Planeado |
| OG tags | Sí | Planeado | Planeado | Sí (metafield) | Planeado | Planeado |
Rarezas que deberías conocer
Los tipos de meta_keywords difieren dentro de la misma plataforma
En BigCommerce:
- Products: array de strings.
- Categories: array de strings.
- Pages: un único string, separado por comas.
Usar el tipo equivocado devuelve un 422 de la API de la plataforma. Clione lo gestiona internamente, pero quien construye una integración custom debe respetarlo.
En Shopify, meta_keywords no existe como campo. Google lo ignora desde 2009, así que la ausencia no es pérdida para SEO — pero sí significa que las keywords bilingües de Clione van solo al JSON-LD en Shopify, no a una meta tag.
Forma de canonical_url
En BigCommerce, custom URL se guarda como { url: "/path/", is_customized: false } en nuestros metadatos. No como string plano. Tras actualizar los mappers para leer esto, las entidades existentes necesitan re-sync para popular la nueva forma — ese es el #1 falso negativo para verificaciones de "canonical URL missing".
En Shopify, canonical_url es un string simple, pero el storefront de Shopify renderiza la canónica desde la URL primaria del producto automáticamente. La escritura de Clione aquí es una confirmación, no una creación.
La entrega de JSON-LD es específica por plataforma
| Plataforma | Mecanismo | ¿Server-rendered? |
|---|---|---|
| BC Stencil | Etiqueta script del Schema Injector (registrada vía la Scripts API de BC) | No (renderizado por JS en runtime) |
| BC Catalyst / headless | SDK @clione/seo o API directa | Sí (controlas el renderizado) |
| Tema Liquid de Shopify | Theme app extension (bloque Liquid) | Sí (renderizado server-side) |
| Hydrogen / headless de Shopify | SDK @clione/seo o API directa | Sí (controlas el renderizado) |
El JSON-LD para productos funciona en ambas plataformas. El JSON-LD para categorías/colecciones/páginas está en la roadmap pero aún no lanzado en ninguna plataforma.
Límite de caracteres de metafield de Shopify
El tipo de metafield single_line_text_field que Shopify usa para meta description tope en 255 caracteres. Clione puede enriquecer hasta 320 caracteres; en Shopify, el valor se trunca en un límite de frase y Verification lo marca como Warn (no Fail).
Si necesitas los 320 chars completos en Shopify, el único camino hoy es headless: usa el SDK @clione/seo y renderiza la meta description completa de Clione directamente en tu head, saltándote el metafield espejo.
OG tags
En BC, los campos OG (open_graph_type, open_graph_title, open_graph_description, open_graph_use_meta_description, open_graph_use_product_name, open_graph_use_image) se mapean a platform_metadata.seo y se propagan normalmente.
En Shopify, los OG tags se guardan en metafields. El Liquid del <head> del tema debe leerlos, cosa que la theme app extension de Clione gestiona.
Datos a nivel tienda de BC
BC requiere el scope Information & Settings en el token de API para leer la divisa de tienda y la zona horaria. Sin él, el JSON-LD puede caer a USD (un bug real que enviamos y arreglamos — task #39). Esto está documentado en Conecta BigCommerce.
Gestión de webhooks
Los productos de BC tienen gestión de webhooks para eventos store/product/updated que dispara una sincronización por producto. La gestión de webhooks de Shopify es parcial hoy — la sincronización es mayoritariamente pull-based en horario programado.
Lo que intencionalmente aún no se soporta
| Capacidad | Por qué aún no |
|---|---|
| Meta a nivel variant para Shopify | Las variants no tienen campos meta en la API de Shopify. Tendríamos que renderizar el JSON-LD de variants como schemas Product separados — planeado. |
| JSON-LD multi-divisa | Un solo producto en una tienda multi-región tiene distintos precios por región. Hoy el JSON-LD se escribe con la divisa primaria de la tienda. La decisión (array de Offers vs request-aware) está abierta — task #40. |
| Modo metafield headless de BC | El modo metafield de @clione/seo funciona para Shopify pero aún no para BC. Planeado. |
| Pipeline completo de señal FAQ | El generador de JSON-LD de FAQ existe (generateFaqJsonLd() en semantic-core), pero la auto-generación LLM de pares Q&A + propagación al storefront vía mecanismos por plataforma es parcial. El widget de embed renderiza FAQs y JSON-LD de FAQ client-side hoy, lo que funciona para crawlers que ejecutan JS. La inyección server-side completa de FAQ está en roadmap. |
Guía práctica
- Enriquece todo lo que Clione te deje enriquecer. Aun cuando una señal no esté propagada del todo todavía (p. ej. JSON-LD en categorías), los datos subyacentes se guardan y empezarán a propagarse en el momento que enviemos el adapter.
- Trata la longitud de meta description igual en ambas plataformas — por debajo de 255 chars es la longitud segura. Pasarse funciona en BC (y en Shopify headless) pero se trunca en modo metafield de Shopify.
- Para deployments headless, prefiere la API + SDK sobre el metafield espejo. Menos sorpresas, sin límites de caracteres, debugging más fácil.
- Lanza Verification tras cada bulk enrich. Un Verify verde es la única verdad sobre el terreno de que el storefront en vivo tiene las nuevas señales.
Mira también:
- Propagación de señales — qué pasa entre Enrich y el storefront en vivo.
- Verification — cómo confirmar que las señales aterrizaron.
- Schema Injector — los mecanismos de entrega de JSON-LD de BC + Shopify en detalle.