seojuice

Optimizaciones de Theme.liquid para el SEO en Shopify (las victorias aburridas)

Vadim Kravcenko
Vadim Kravcenko
· Updated · 13 min read

TL;DR: El mayor logro SEO en theme.liquid suele ser eliminar código global, no añadir otro snippet. Mantén las señales SEO universales en el layout, traslada el trabajo específico de la página a plantillas o secciones y asegúrate de que el HTML que recibe Google sea rápido, claro y menos dependiente de scripts de apps.

Deja de tratar theme.liquid como si fuera un plugin de SEO

Antes solía buscar primero la etiqueta que faltaba. Mala costumbre. En mindnow, las tiendas de Shopify con los problemas de SEO más feos rara vez necesitaban un snippet más en theme.liquid; necesitaban borrar cinco snippets antiguos que Google y los clientes cargaban en cada página.

En una tienda, el tema fue acusado de tener “mal SEO en Shopify”. El problema real eran seis snippets de apps, dos bloques de schema duplicados y un feed de ofertas de productos pegado en el layout. Mismo patrón en vadimkravcenko.com y seojuice.io: el <head> debe describir la página — no dirigir el negocio.

«Liquid es un lenguaje de plantillas de código abierto creado por Shopify y escrito en Ruby. Es la columna vertebral de los temas de Shopify y se usa para cargar contenido dinámico en el escaparate.»

Esa definición de Shopify importa porque pone la culpa en el lugar correcto. Liquid no es el villano. El trabajo global descuidado en el tema sí lo es.

Qué suele controlar theme.liquid

theme.liquid es el contenedor principal para la mayoría de las páginas del escaparate de Shopify (la “cáscara” que envuelve plantillas y secciones). Suele incluir el <head>, content_for_header, referencias CSS, app embeds, etiquetas de tracking, snippets de schema, preload hints y el marcado de apertura del layout.

Esa potencia es justo la razón por la que el archivo debe permanecer aburrido. Si un error está en una sección de producto, afecta a las páginas de producto. Si está en theme.liquid, se propaga a todo el sitio.

Diagrama que muestra cómo theme.liquid envuelve cada plantilla del escaparate de Shopify
FUENTE: Playbook de SEOJuice para SEO en Shopify Liquid, basado en la documentación de rendimiento y la arquitectura de temas de Shopify.

Por qué los archivos globales generan daños globales

Los mejores resultados de búsqueda aciertan en parte. La documentación de rendimiento de Shopify da la base técnica más sólida. La guía SEO general de Shopify explica estructura, metadatos y datos estructurados. Speed Boostr se acerca más al trabajo de velocidad que sienten los comerciantes.

Lo que normalmente no te dan es gobernanza: qué pertenece al layout, qué pertenece a las plantillas y qué jamás debió instalarse de forma global.

Solo lo universal va en archivos universales

Esa es la regla para el resto del artículo. Los elementos de todo el sitio pueden vivir en theme.liquid. La lógica de producto, colección, artículo, FAQ y breadcrumb suele vivir más cerca de la plantilla que la necesita.

El trabajo SEO que sí pertenece a theme.liquid

La respuesta no es “elimina todo”. Shopify necesita algo de salida global en el head. Tu tienda necesita algunos assets de todo el sitio. Tu analítica puede requerir una carga consciente del consentimiento en todo el escaparate. El trabajo es mantener el layout honesto.

Pertenece a theme.liquid Normalmente no pertenece allí
Salida base del atributo <html> lang Schema específico de producto hardcodeado globalmente
content_for_header Texto o metadatos específicos de colección
CSS global y preload de recursos críticos Cada script de app en cada plantilla
JSON-LD de Organization o WebSite de todo el sitio JSON-LD duplicado de review, offer y breadcrumb
Tracking con gestión de consentimiento Lógica de plantilla que ejecuta loops costosos

Mantén universales las señales SEO universales

El layout puede alojar con seguridad señales que describen todo el negocio: idioma, viewport, salida obligatoria de Shopify en el head, framework de consentimiento, CSS principal, quizá schema de Organization y quizá WebSite con SearchAction si tu URL de búsqueda es estable.

Ahí también van algunos resource hints. Un único preload de fuente o referencia a CSS crítico pueden tener sentido globalmente. Cinco preloads en competencia para imágenes que solo aparecen en una plantilla no.

Limita el SEO específico de la página a plantillas y secciones

El schema de producto pertenece a los datos de producto. El schema de artículo pertenece a los artículos. El schema FAQPage solo debe aparecer en páginas donde el texto FAQ sea visible. El schema de breadcrumb pertenece a un snippet de breadcrumb o a una sección consciente de la plantilla.

Aquí es donde muchos proyectos de datos estructurados para ecommerce se descarrilan. El comerciante pide “schema en Shopify”, alguien pega JSON-LD en theme.liquid y cada colección, artículo y landing page empieza a fingir que es un producto.

No luches contra la salida obligatoria de Shopify en el head

content_for_header no es opcional. Es la etiqueta que Shopify usa para conectar scripts de la plataforma, comportamiento de apps, analítica y funcionalidades del escaparate. No la elimines porque un waterfall se vea desordenado.

Audita lo que llega a través de ella. App embeds, extensiones de tema y código antiguo de apps aún pueden añadir peso. La solución es la propiedad, no el pánico.

Audita el layout antes de optimizarlo

No edites el tema en vivo durante una ventana de tráfico. Consejo básico. Sigue siendo la frase que más dinero ahorra.

  1. Duplica el tema.
  2. Abre layout/theme.liquid.
  3. Mapea cada script, stylesheet, bloque de schema, preload e include de app.
  4. Etiqueta cada ítem como global, específico de plantilla, propiedad de app o desconocido.
  5. Prueba una vista previa con scripts globales no esenciales deshabilitados.
  6. Mueve el código específico de página a la plantilla o sección correcta.
  7. Compara el HTML renderizado en las plantillas de inicio, producto, colección, página y artículo.
Matriz de auditoría de theme.liquid para scripts, schema y resource hints en Shopify
FUENTE: Framework de auditoría de theme.liquid de SEOJuice para Shopify.

Haz un mapa del archivo

Copia el layout en un documento de trabajo y anótalo como una escena del crimen. Una tienda llegó a nosotros porque las colecciones se sentían lentas y la prueba de resultados enriquecidos de Google mostraba advertencias de producto. La solución llevó menos de dos horas: schema Offer de producto en páginas de colección, dos librerías de A/B testing abandonadas y un snippet de app de reseñas desinstalado meses antes.

El tema fue culpado (suele pasar). El archivo de layout solo cargaba fantasmas.

Separa el código global del específico de página

Hallazgo Por qué perjudica el SEO Corrección más segura
JSON-LD de producto aparece en páginas de colección Confunde a los parsers de datos estructurados Moverlo a la plantilla de producto
Tres apps de reseñas generan schema Crea marcado de producto duplicado o en conflicto Elegir una sola fuente
Widget de chat se carga en todo el sitio Añade JS antes de que exista intención de compra Cargar tras interacción o solo en plantillas seleccionadas
Imagen hero se carga de forma lazy Puede retrasar el LCP Cargar el contenido above-the-fold de forma eager
Ordenamiento ocurre dentro de loops Liquid Desperdicia trabajo de renderizado Ordenar antes del loop

Trata los snippets de apps desconocidos como culpables hasta probarlos

Desconocido no significa malo. Significa sin dueño. Si nadie puede explicar por qué un snippet está en theme.liquid, desactívalo en un tema duplicado y prueba flujos: menú, búsqueda, formulario de producto, carrito, traspaso a checkout, reseñas, tracking y consentimiento.

Aquí es donde una auditoría SEO técnica real supera a una checklist. El riesgo rara vez es una línea mala. Son cinco herramientas decentes, todas asumiendo que merecen prioridad global.

Limpia los scripts sin romper el escaparate

«JavaScript no debería ser obligatorio para la funcionalidad básica de tu tema, como encontrar o comprar productos.»

Esa frase de Shopify es el estándar. Si el menú, el formulario de producto, la selección de variantes, la búsqueda o el carrito dependen de un script bloqueante que falla en silencio, no solo tienes un problema de SEO. Tienes un problema de escaparate.

«Los escaparates Liquid son muy rápidos»

Lo dijo Sia Karamalegos en el blog de rendimiento de Shopify y la implicación incomoda. Las tiendas lentas en Shopify suelen ser lentas porque los comerciantes añaden trabajo global en cada ruta. Las apps a menudo dejan código tras la desinstalación — a veces años después — y el archivo de layout sigue sirviéndolo.

La hinchazón de apps suele ser global antes de ser visible

Widgets de reseñas, chats, scripts de A/B testing, heatmaps, programas de fidelidad, apps de bundles, personalización y pop-ups adoran el layout. Algunas requieren acceso global. Muchas no.

Empieza con los app embeds en el editor de temas, luego inspecciona content_for_header y después busca includes que mencionen nombres de apps antiguas. Si una app solo afecta a páginas de producto, su código no debería ejecutarse en artículos y colecciones.

Difiere con cuidado, no a ciegas

Diferir scripts puede ayudar. También puede romper la selección de variantes, el tracking de consentimiento, la atribución de analítica, los selectores de moneda y la visualización de reseñas. Prueba en vista previa antes de publicar.

Un patrón seguro es aburrido: elimina primero el código muerto, retrasa los widgets de marketing hasta la interacción, difiere scripts no críticos solo después de probar y permite que el descubrimiento de productos funcione sin JavaScript cuando sea posible (en 2026 ya no es opcional).

Mantén la posibilidad de comprar sin JavaScript

JavaScript puede mejorar la experiencia. No debería ser la única vía de ingresos. Los enlaces de producto deben ser rastreables. Las páginas de búsqueda deben mostrar resultados. El add-to-cart debe degradar con seguridad. Las URLs de variantes y las opciones seleccionadas no deben volverse invisibles para crawlers ni clientes.

Si estás luchando contra el coste de hidratación o contenido de producto renderizado en cliente, lee una guía de SEO para JavaScript antes de culpar a Liquid. El problema de renderizado puede estar en la capa de la app, no en el lenguaje del tema.

Mide con datos de campo, no con puntuaciones de ego

«PageSpeed NO es una buena forma de medir la velocidad de una tienda.»

Kurt Elster es directo por una razón. Una puntuación alta que rompe tracking, reseñas o variantes no es una victoria; una puntuación baja que señala un retraso real en LCP sí es útil. La puntuación es una pista, no el KPI.

Corrige los datos estructurados en Liquid sin crear duplicados

«Actualmente preferimos el marcado JSON-LD. Creo que la mayoría de los datos estructurados nuevos salen primero en JSON-LD. Así que es lo que preferimos.»

El punto de John Mueller zanja el debate de formato para la mayoría de las tiendas Shopify. Usa JSON-LD. La pregunta más difícil es la propiedad.

JSON-LD es preferido, pero la propiedad es lo primero

Muchos posts de SEO en Shopify dicen “añade schema”. Es un consejo incompleto. Si tu tema, la app de reseñas, la app de feeds de producto y la app SEO emiten schema de Producto, el formato deja de ser el problema.

Elige un propietario para cada tipo de schema. Luego elimina o desactiva los demás.

Mapa de propiedad de schema JSON-LD para SEO en Shopify theme.liquid
FUENTE: Referencia de propiedad de schema de SEOJuice para Shopify, basada en la guía de datos estructurados de Google.

Qué schema puede ser global

Tipo de schema Mejor ubicación
Organization theme.liquid o un snippet global
WebSite con SearchAction theme.liquid si la búsqueda es estable
Product Plantilla o sección de producto
BreadcrumbList Plantilla o snippet de breadcrumb
Article Plantilla de artículo del blog
CollectionPage Plantilla de colección
FAQPage Solo en páginas con contenido FAQ visible

El schema de producto no debe estar hardcodeado en el layout

El schema de producto necesita el título, imagen, descripción, SKU, precio, disponibilidad, variantes, marca, ofertas y a veces datos de reseñas del producto actual. Ese contexto no existe en todas las páginas.

Las apps de reseñas merecen sospecha especial. A menudo inyectan marcado de Product, AggregateRating, Offer y Review. Si el tema también emite esos campos, las herramientas de rich results pueden mostrar conflictos aunque la página se vea bien.

Prueba con las dos herramientas de Google

Usa Rich Results Test para ver elegibilidad en funciones de Google. Usa Schema Markup Validator para validar en general. Prueba la página renderizada, no un fragmento pegado de tu archivo de tema.

Haz que los loops de Liquid cuesten menos antes de que se conviertan en síntomas SEO

«Si quieres ordenar los productos de una colección por precio, hazlo antes de recorrer los productos, no dentro del loop.»

Esta guía de Shopify parece pequeña. No lo es. Los problemas de rendimiento en Liquid suelen esconderse en snippets llamados por theme.liquid: header, mega menú, barra de anuncios, selector de localización, franja de recomendaciones o un carrusel global de colecciones.

El layout suele ser lento por los snippets incluidos

Tu archivo de layout puede verse limpio mientras los snippets incluidos hacen el trabajo costoso. Un mega menú puede recorrer colecciones en cada página. Un header puede consultar datos de producto que nadie ve. Un selector de localización puede repetir lógica que debería asignarse una sola vez.

Vigila all_products, menús grandes, búsquedas repetidas de metafields y loops anidados. El problema rara vez es un loop; es la repetición en cada ruta.

Mueve el trabajo fuera de los loops

Ordena antes del loop. Filtra antes del loop. Asigna valores repetidos una sola vez cuando mejore la claridad. Limita los loops cuando solo necesites cuatro ítems.

El patrón malo es: recorrer cada producto y decidir dentro del loop qué productos importan. El patrón mejor es: preparar el conjunto relevante primero y luego recorrer el conjunto pequeño.

Mantén aburrida la lógica de navegación y header

Los mega menús son un impuesto común al rendimiento SEO. Parecen navegación. Se comportan como una consulta de datos de todo el sitio.

Mantén la lógica del header predecible. Si el menú necesita tarjetas promocionales ricas, hazlas ajustes explícitos en lugar de lookups dinámicos de productos en todo el catálogo.

Arregla la carga de imágenes desde el layout hacia abajo

«Nada que aparezca above the fold debería cargarse de forma lazy.»

Esa frase de Shopify debería acabar con muchos malos consejos sobre imágenes. El lazy loading indiscriminado parece inteligente hasta que la imagen hero, los medios de producto o el banner de colección se convierten en el candidato LCP y esperan demasiado.

Diagrama de prioridad de carga de imágenes en Shopify para LCP y lazy loading
FUENTE: Playbook de SEOJuice para SEO en Shopify Liquid, basado en la documentación de rendimiento de Shopify y la guía de Core Web Vitals.

La imagen LCP no debe esperar

No hagas lazy-load de la imagen que probablemente sea el LCP. Dale a Shopify suficiente información de ancho y alto para evitar el layout shift. Usa salida de imagen responsive con filtros y tags de imagen de Shopify en lugar de un asset sobredimensionado.

Preload solo la imagen realmente prioritaria, no cinco assets en competencia. El preload es una promesa al navegador. Rompe esa promesa demasiadas veces y crearás un cuello de botella diferente.

El lazy loading global es una herramienta burda

Muchas apps de imágenes aplican una sola regla en todo el sitio. La decisión correcta depende de la plantilla y la posición. Una miniatura de galería de producto debajo del fold puede esperar. La primera imagen de producto, normalmente no.

Esto se relaciona con theme.liquid: los resource hints y scripts de lazy loading globales suelen vivir allí, pero la decisión correcta pertenece más cerca de la sección que renderiza la imagen.

Las etiquetas head, canonicals y reglas robots necesitan barandillas

Las etiquetas SEO clásicas siguen importando. Solo se vuelven arriesgadas cuando un archivo de layout intenta controlar cada plantilla con una cascada de condicionales.

Canonicals y robots deben ser intencionados

Usa la salida canonical integrada de Shopify cuando sea posible. No hardcodees un patrón canonical único para todas las plantillas. El ordenamiento de colecciones, la paginación, los filtros y las URLs de producto necesitan manejo consciente de plantilla.

Las directivas robots deben ser raras y obvias. Una etiqueta canonical duplicada — de esas que chocan silenciosamente con la salida integrada de Shopify — puede pasar desapercibida durante meses. Un noindex suelto puede hacer más daño en una sola publicación que un script de app lento.

Yo mismo he publicado uno de esos árboles condicionales largos (y lo desenredé tras una actualización de app). Algunas condiciones están bien. Un archivo de layout que finge ser un CMS huele mal.

El HTML renderizado es la respuesta final

No confíes solo en ver código fuente. Inspecciona el HTML renderizado (la URL actual tras la ejecución en el navegador) y confirma título, descripción, canonical, robots, hreflang si aplica y datos estructurados.

Si una app reescribe etiquetas tras la carga, Google puede aún renderizarlas, pero has hecho que una señal simple dependa del timing en cliente. Evita eso salvo que no haya opción más limpia.

Cómo probar si tus cambios en theme.liquid ayudaron al SEO

Las pruebas deben comparar las mismas plantillas antes y después. Ganar en la home no prueba que ganes en producto. Ganar en producto no prueba que el template de artículo siga limpio.

Panel de pruebas antes y después para cambios SEO en theme.liquid de Shopify
FUENTE: Playbook de SEOJuice para SEO en Shopify Liquid — protocolo de pruebas usado en auditorías SEO técnicas.
Prueba Lo que te indica
Ver HTML renderizado Si Google puede ver etiquetas y contenido finales
Inspección de URL en Google Si Google indexó lo que crees que indexó
Rich Results Test Si los datos estructurados son válidos para rich results
WebPageTest Waterfalls, candidato LCP y archivos que bloquean render
Panel Performance de Chrome Tareas largas y coste de scripts
Core Web Vitals en Search Console Tendencia de datos de campo
Vista previa del tema en Shopify Comparación segura antes de publicar

Compara antes y después en las mismas plantillas

Prueba home, producto, colección, página, artículo y búsqueda. Captura HTML renderizado, candidato LCP, CLS, tareas largas, canonical, robots y salida de schema.

En seojuice.io me importa menos una puntuación de laboratorio perfecta y más que el HTML se entregue limpio, el canonical sea estable y la página no haga esperar a Google para entenderla.

Observa Search Console tras publicar

«Un sitio bueno y rápido no hace daño. Uno lento no ayuda. No creo que sea el todo y fin que se ha querido pintar.»

El enfoque de Kurt Elster es el sensato. La velocidad apoya al SEO. No reemplaza contenido, enlaces, demanda ni merchandising.

Después de publicar, vigila indexación, enhancements, merchant listings, snippets de producto y Core Web Vitals para ecommerce. Espera que los datos de campo tarden. Las herramientas de laboratorio reaccionan hoy; Search Console lleva tiempo.

Checklist SEO segura para theme.liquid

  • Duplica el tema antes de editar.
  • Mantén content_for_header.
  • Elimina snippets de apps muertos.
  • Mueve schema de producto, artículo, colección y FAQ fuera del layout global.
  • Mantén solo schema realmente sitewide en theme.liquid.
  • No hagas lazy-load de la imagen LCP.
  • Difiere o retrasa scripts no críticos solo tras probar.
  • Mantén el descubrimiento de productos y la compra utilizables sin JavaScript obligatorio.
  • Mueve ordenamiento y filtrado fuera de loops Liquid.
  • Revisa el HTML renderizado tras cada cambio relevante.
  • Valida los datos estructurados.
  • Compara LCP, CLS y tareas largas antes y después.
  • Observa Search Console para cambios en indexación o enhancements.

El objetivo no es un theme.liquid ingenioso. El objetivo es un archivo de layout aburrido que deje a cada plantilla hacer su trabajo.

FAQ

¿theme.liquid afecta al SEO en Shopify?

Sí. Puede afectar claridad de rastreo, datos estructurados, coste de renderizado, Core Web Vitals, canonicals, etiquetas robots y peso de scripts. El peligro es que un error en el layout afecta a casi todas las páginas del escaparate.

¿Debo añadir código SEO a theme.liquid?

Solo si el código es realmente global. Schema de Organization, schema de WebSite, salida de idioma y la salida obligatoria del head de Shopify pueden vivir allí. La lógica específica de producto, artículo, FAQ, breadcrumb y colección suele ir en otro sitio.

¿Puedo eliminar content_for_header para ganar velocidad?

No. Mantenlo. Audita qué añaden las apps y embeds a través de él, pero no elimines la salida obligatoria de Shopify en el head.

¿Por qué mi schema en Shopify muestra duplicados?

La causa habitual es la multipropiedad. Tu tema, app de reseñas, app SEO o app de feeds pueden emitir schema de Producto, Oferta, Reseña o AggregateRating. Elige una fuente y desactiva las demás cuando sea posible.

¿PageSpeed Insights basta para probar cambios SEO en Shopify?

No. Úsalo como un input de diagnóstico (no solo una puntuación). También prueba HTML renderizado, Inspección de URL, Rich Results Test, WebPageTest, Performance de Chrome y los datos de campo de Search Console.

¿Quieres un archivo de layout de Shopify más limpio?

SEOJuice puede ayudarte a auditar tu configuración SEO en Shopify Liquid, identificar qué debe ser global, qué debe moverse a plantillas y qué puede eliminarse con seguridad. Si el theme.liquid de tu tienda se ha convertido en un cementerio de apps, empieza por limpiar el layout antes de añadir otro snippet de SEO.

SEOJuice
Stay visible everywhere
Get discovered across Google and AI platforms with research-based optimizations.
Works with any CMS
Automated Internal Links
On-Page SEO Optimizations
Get Started Free

no credit card required

More articles

No related articles found.