Parte de nuestra serie Performance & Scalability
Leer la guía completaOptimización de la velocidad de Shopify: Core Web Vitals en 2026
Una tienda Shopify que tarda 4 segundos en cargarse pierde aproximadamente el 25% de sus visitantes potenciales antes de que la página termine de renderizarse. A los 6 segundos, ese número sube al 50%. Lo que es más importante para el SEO: los Core Web Vitals de Google ahora están integrados en el algoritmo de clasificación de búsqueda: las tiendas con puntuaciones bajas de LCP, INP y CLS tienen una clasificación más baja para las mismas palabras clave que competidores más rápidos.
En 2026, la optimización de la velocidad de Shopify requiere abordar todo el conjunto de rendimiento: entrega de imágenes, ejecución de JavaScript, recursos de bloqueo de renderizado, scripts de terceros y la métrica INP emergente que ahora mide la calidad de la interactividad. Esta guía proporciona las técnicas específicas que mueven las tiendas Shopify de la zona "Necesita mejorar" a la zona "Buena" en todos los Core Web Vitals.
Conclusiones clave
- LCP (Largest Contentful Paint) por encima de 2,5 segundos es el fallo de Core Web Vital más común en las tiendas Shopify
- La imagen principal es un elemento LCP en más del 80 % de los diseños de productos y páginas de inicio de Shopify: optimízala específicamente
- INP (Interacción con la siguiente pintura) reemplazó a FID en 2024: mide todas las interacciones de la página, no solo la primera
- Los scripts de aplicaciones son el principal factor determinante del rendimiento: cada aplicación tiene un promedio de 30 a 100 KB y 150 a 300 ms de tiempo de bloqueo.
- El CDN nativo de Shopify maneja la entrega de imágenes, pero la selección de formato (WebP vs AVIF) requiere una configuración explícita
- CLS generalmente es causado por imágenes sin dimensiones, incrustaciones de carga tardía y reflujo de intercambio de fuentes
- El tiempo de renderizado líquido en los servidores de Shopify es en promedio de 50 a 200 ms; las plantillas complejas multiplican esto
- Una mejora de LCP de 1 segundo se correlaciona con una mejora de la tasa de conversión del 10 al 15 % para el comercio electrónico.
Medición de su línea base de desempeño actual
Antes de optimizar, mida. Sin una línea de base, no se pueden cuantificar las mejoras ni identificar las oportunidades de mayor impacto.
Herramientas de medición primarias:
| Herramienta | Tipo de datos | Caso de uso |
|---|---|---|
| Información de PageSpeed | Datos de laboratorio + campo | Diagnóstico inicial, comparación antes/después |
| Informe de experiencia del usuario de Chrome (CrUX) | Datos reales del usuario | Rendimiento real del usuario durante 28 días |
| Consola de búsqueda de Google > Elementos básicos de la Web | Datos de campo por grupo de URL | Identificación de grupos de URL problemáticos |
| Prueba de página web | Análisis detallado de la cascada | Profundice el rendimiento de una página específica |
| Faro en Chrome DevTools | Datos de laboratorio | Pruebas del entorno de desarrollo |
Leer PageSpeed Insights correctamente:
PageSpeed Insights muestra tanto "datos de laboratorio" (simulados, controlados) como "datos de campo" (usuarios reales de Chrome). Para fines de clasificación, Google utiliza datos de campo (CrUX). Los datos de laboratorio son útiles para diagnosticar y probar correcciones, pero los datos de campo le indican dónde se encuentra realmente.
Umbrales de Core Web Vitals:
| Métrica | Bueno | Necesita mejorar | Pobre |
|---|---|---|---|
| LCP | ≤ 2,5 s | 2,5 s-4,0 s | > 4.0s |
| ENP | ≤ 200 ms | 200 ms-500 ms | > 500 ms |
| CLS | ≤ 0,1 | 0,1-0,25 | > 0,25 |
Ejecución de una medición de referencia:
- Abra PageSpeed Insights (pagespeed.web.dev)
- Pruebe estas páginas clave: página de inicio, página de colección principal, página de producto más vendido, página de carrito
- Registre los valores de LCP, INP y CLS tanto para dispositivos móviles como de escritorio
- Haga una captura de pantalla de las secciones Oportunidades y Diagnóstico.
- Esta es su línea de base: vuelva a realizar la prueba después de cada sprint de optimización
Optimización LCP: el problema de la imagen heroica
LCP mide cuándo se representa completamente el elemento de contenido visible más grande. En las tiendas Shopify, esta es casi siempre la imagen principal en la página de inicio o la imagen principal del producto en las páginas de productos.
Diagnóstico de su elemento LCP:
Abra Chrome DevTools > pestaña Rendimiento > Registrar la carga de una página. Busque el marcador "LCP" en la línea de tiempo. Alternativamente: en la consola de DevTools, ejecute:
new PerformanceObserver((list) => {
const entries = list.getEntries();
const lastEntry = entries[entries.length - 1];
console.log('LCP element:', lastEntry.element);
console.log('LCP time:', lastEntry.startTime);
}).observe({ type: 'largest-contentful-paint', buffered: true });
Secuencia de optimización de la imagen principal:
Paso 1: sirva del tamaño correcto: La CDN de Shopify acepta parámetros de tamaño en las URL de imágenes. Nunca publique una imagen de 2000 px de ancho en una pantalla móvil de 400 px.
<!-- Shopify Liquid: responsive hero image -->
<img
src="{{ section.settings.image | image_url: width: 1200 }}"
srcset="{{ section.settings.image | image_url: width: 400 }} 400w,
{{ section.settings.image | image_url: width: 800 }} 800w,
{{ section.settings.image | image_url: width: 1200 }} 1200w,
{{ section.settings.image | image_url: width: 1600 }} 1600w"
sizes="(max-width: 768px) 100vw, (max-width: 1200px) 80vw, 1200px"
width="1200"
height="600"
alt="{{ section.settings.image.alt | escape }}"
fetchpriority="high"
loading="eager"
>
Paso 2: precarga la imagen principal: Agregue una etiqueta de enlace de precarga específicamente para la imagen principal. Esto le indica al navegador que lo busque con la prioridad más alta, antes de encontrar la etiqueta de imagen en el HTML.
<!-- In theme.liquid <head> -->
{% if request.page_type == 'index' %}
<link rel="preload"
as="image"
href="{{ section.settings.hero_image | image_url: width: 1200 }}"
imagesrcset="{{ section.settings.hero_image | image_url: width: 400 }} 400w,
{{ section.settings.hero_image | image_url: width: 800 }} 800w,
{{ section.settings.hero_image | image_url: width: 1200 }} 1200w"
imagesizes="(max-width: 768px) 100vw, 80vw"
>
{% endif %}
Paso 3: asegúrese del formato WebP: La CDN de Shopify sirve WebP de forma predeterminada cuando el navegador lo admite. Verifique revisando el encabezado de respuesta Content-Type para ver las URL de las imágenes. WebP reduce el tamaño del archivo entre un 25 y un 35 % en comparación con JPEG con calidad equivalente.
Paso 4: elimina las animaciones de la imagen principal:
Animaciones CSS que se activan al retrasar la carga LCP. Si su héroe tiene un efecto de aparición gradual o deslizamiento, la imagen técnicamente se carga pero no es "visible" hasta que se completa la animación; los navegadores cuentan esto como un retraso de LCP. Elimina las animaciones del héroe o usa animation-delay: 0 y animation-duration: 0.001s para hacerlas instantáneas en la carga inicial.
Optimización LCP de la página del producto:
La imagen principal del producto determina el LCP en las páginas del producto. Agregue fetchpriority="high" y loading="eager" a la imagen principal del producto. Asegúrese de que las dimensiones de la imagen (atributos de ancho/alto) sean correctas para evitar cambios de diseño que puedan interferir con la medición de LCP.
Optimización INP: mejora de la interactividad
INP (Interacción con la siguiente pintura) mide el tiempo entre las interacciones del usuario (clics, pulsaciones de teclas, toques) y la siguiente respuesta visible. Un INP alto significa que es lento interactuar con su tienda: botones que responden con lentitud, filtros que se retrasan, actualizaciones del carrito que tardan demasiado.
Diagnóstico de problemas de INP:
En la pestaña Chrome DevTools > Rendimiento, busque "Tareas largas" (marcas rojas en la línea de tiempo del hilo principal). Las tareas que superan los 50 ms son "tareas largas" que bloquean el hilo principal y retrasan las respuestas a las entradas del usuario.
Culpables comunes del INP en las tiendas Shopify:
- Scripts de aplicaciones pesadas: revise aplicaciones que carguen más de 500 nodos DOM, widgets de chat que inicialicen grandes marcos de JavaScript
- Lógica del selector de variantes: JavaScript complejo que recalcula precios, imágenes y disponibilidad en la selección de variantes
- Actualizaciones del cajón del carrito: Recuperar y volver a representar el cajón del carrito en cada acción de agregar al carrito
- Inicialización de la aplicación de búsqueda: busque aplicaciones que generen índices grandes al cargar la página.
Técnicas de reducción de INP:
Técnica 1: aplazar JavaScript no crítico:
<!-- Defer app scripts that are not needed for initial interaction -->
<script src="https://third-party-app.com/widget.js" defer></script>
<!-- Or load after first user interaction -->
<script>
document.addEventListener('click', function loadHeavyScript() {
const script = document.createElement('script');
script.src = 'https://heavy-app.com/widget.js';
document.body.appendChild(script);
document.removeEventListener('click', loadHeavyScript);
}, { once: true });
</script>
Técnica 2: optimizar la selección de variantes:
Reemplace los cálculos de variantes sincrónicas con actualizaciones asincrónicas y sin rebotes. El tema Shopify Dawn maneja esto bien: si su tema tiene una lógica de variante personalizada, asegúrese de que las actualizaciones de precios e imágenes utilicen requestAnimationFrame y no bloqueen el hilo principal.
Técnica 3: optimizar las llamadas a la API del carrito:
Almacene en caché el estado del carrito en JavaScript en lugar de volver a buscar el carrito completo en cada interacción. Utilice la API de Shopify Cart (/cart.js) para actualizaciones y actualice el DOM de forma incremental en lugar de volver a representar el cajón del carrito completo.
Optimización de CLS: prevención de cambios de diseño
CLS (Cumulative Layout Shift) mide el movimiento inesperado de los elementos de la página durante la carga. Un botón que salta hacia abajo cuando se carga una imagen encima de él, o un precio que cambia cuando se carga una fuente, crea una mala experiencia de usuario y una penalización CLS.
Diagnóstico de CLS:
En Chrome DevTools, habilite "regiones de cambio de diseño" en el panel de renderizado. Vuelva a cargar la página: los cambios de diseño se resaltan en azul. Haga clic en cualquier región de desplazamiento para ver qué elemento se desplazó, cuándo y cuánto.
Causas comunes de CLS en Shopify:
- Imágenes sin dimensiones explícitas: el navegador no puede reservar espacio antes de que se cargue la imagen, lo que provoca un reflujo.
<!-- Wrong: browser doesn't know the dimensions until image loads -->
<img src="{{ product.featured_image | image_url: width: 600 }}" alt="{{ product.featured_image.alt }}">
<!-- Correct: browser reserves exactly the right space -->
<img
src="{{ product.featured_image | image_url: width: 600 }}"
width="{{ product.featured_image.width | at_most: 600 }}"
height="{{ product.featured_image.height | times: 600 | divided_by: product.featured_image.width }}"
alt="{{ product.featured_image.alt | escape }}"
>
- Fuentes web que se cargan tarde y provocan FOUT (destello de texto sin estilo):
/* Add font-display: swap or optional to all @font-face declarations */
@font-face {
font-family: 'YourFont';
src: url('your-font.woff2') format('woff2');
font-display: swap; /* Text visible in fallback font, swaps when loaded */
}
-
Contenido dinámico insertado sobre el contenido existente: las barras de banner, los avisos de cookies o los widgets de aplicaciones que aparecen encima del héroe empujan el contenido hacia abajo. Utilice CSS
position: stickyo asigne previamente espacio para contenido dinámico. -
Barras de anuncios de Shopify: muchos temas de Shopify cargan el contenido de la barra de anuncios de forma dinámica después de que se muestra la página. Utilice CSS
min-heighten el contenedor de la barra de anuncios para reservar espacio antes de que se cargue el contenido.
Gestión de scripts de terceros
Los scripts de terceros son el problema de rendimiento más importante y que más se pasa por alto en las tiendas Shopify. Cada aplicación instalada potencialmente agrega scripts a cada página, independientemente de si la funcionalidad de la aplicación es relevante en esa página.
Auditando la carga de tu script:
- Abra la pestaña Chrome DevTools > Red.
- Vuelva a cargar la página con el caché borrado (Ctrl+Shift+R)
- Filtrar por tipo "JS"
- Ordenar por Tamaño descendente
- Identifique todos los scripts no servidos desde
cdn.shopify.com: estos son scripts de terceros
Hoja de trabajo de auditoría de script:
| Dominio de secuencia de comandos | Aplicación | Tamaño | Tiempo de carga | ¿Básico? | ¿Se puede aplazar? |
|---|---|---|---|---|---|
| cdn.klaviyo.com | Correo electrónico | 45 KB | 280 ms | Sí (captura de correo electrónico) | Sí (retraso 2 s) |
| widget.intercom.io | Charla | 180 KB | 450 ms | No (página de inicio) | Carga en interacción |
| estático.hotjar.com | Análisis | 30 KB | 180 ms | Sí | Sí (retraso 3 s) |
| a.klaviyo.com | Seguimiento | 15 KB | 90 ms | Sí | Sí (asincrónico) |
Implementación del patrón "carga en interacción":
// Load chat widget only when user tries to interact with chat button
// This saves 180KB and 450ms for users who never use chat
const chatButton = document.getElementById('chat-trigger');
chatButton.addEventListener('click', function() {
// Load Intercom (or whatever chat app) here
window.Intercom('boot', { app_id: 'your_app_id' });
}, { once: true });
Estrategia de carga de scripts recomendada por categoría:
| Tipo de guión | Estrategia de carga |
|---|---|
| Análisis (GA4, Píxel) | Asíncrono, sin demora |
| Mapas de calor (Hotjar, FullStory) | Aplazar 3-5 segundos |
| Widgets de chat | Carga sobre la interacción del usuario |
| Revisar widgets | Cargar después de que el elemento LCP sea visible |
| Widgets del programa de fidelización | Cargar al desplazarse o interactuar |
| Guiones de prueba A/B | Async, necesario para la prevención de cambios repentinos |
Optimización del tema de Shopify
Las plantillas Liquid de su tema y la arquitectura JavaScript tienen un impacto significativo en el rendimiento.
Optimización de renderizado de secciones:
Shopify renderiza secciones del lado del servidor a través de Liquid. Las secciones complejas con muchas búsquedas de metacampos, bucles grandes o llamadas a plantillas anidadas aumentan el tiempo de respuesta del servidor. Perfila tus secciones:
- En theme.liquid, agregue
{% render 'timer' %}antes y después de las secciones pesadas (cree un fragmento detimer.liquidque genereDate.now()) - Compare marcas de tiempo para identificar qué secciones tardan más en renderizarse.
- Optimice las secciones costosas: guarde en caché los resultados con variables de Liquid, reduzca los bucles anidados, simplifique la lógica condicional
Arquitectura JavaScript:
Los temas modernos de Shopify (Dawn, Sense, Refresh) utilizan una arquitectura JavaScript básica y liviana. Evite los temas que cargan marcos de JavaScript pesados (los temas dependientes de jQuery agregan 30 KB+, los temas basados en React agregan 100 KB+) para las páginas esencialmente renderizadas en servidor de Shopify.
Optimización CSS:
El tema Dawn de Shopify utiliza propiedades personalizadas de CSS y una especificidad mínima. Los temas con archivos CSS grandes (más de 100 KB) se benefician de:
- Eliminación de CSS no utilizado (PurgeCSS o la advertencia de CSS no utilizado incorporada en Shopify)
- Dividir CSS y cargar estilos específicos de sección de forma condicional
- Incorporación de CSS crítico en etiquetas
<style>en<head>para estilos en la mitad superior de la página
Configuración de carga diferida:
Aplique loading="lazy" a todas las imágenes debajo del pliegue. Regla crítica: nunca aplique carga diferida a la imagen LCP (normalmente la primera imagen del producto o el héroe). El tema Dawn de Shopify maneja esto correctamente; verifica que tu tema también lo haga.
Monitoreo del rendimiento después de la optimización
La optimización del rendimiento no es un proyecto único. Las instalaciones de nuevas aplicaciones, las actualizaciones de temas y las adiciones de contenido afectan continuamente el rendimiento.
Configuración de monitoreo automatizado:
- Configure alertas de Google Search Console para la degradación de Core Web Vitals
- Utilice Calibre o SpeedCurve para realizar pruebas de rendimiento diarias automatizadas con alertas
- Programe comprobaciones mensuales de PageSpeed Insights en más de 5 páginas clave
- Agregue comprobaciones de rendimiento al proceso de actualización de su tema: pruebe antes y después de cada actualización de tema
Presupuesto de rendimiento:
Defina valores máximos para:
- Peso total de la página: 1,5 MB para dispositivos móviles, 2,5 MB para computadoras de escritorio
- Carga útil de JavaScript: 500 KB analizados/ejecutados
- LCP: 2,5 segundos máximo
- Número de scripts de terceros: Máximo 8
Cuando cualquier métrica exceda el presupuesto, investigue y corrija antes del próximo lanzamiento.
Preguntas frecuentes
¿Cuál es el tema de Shopify más rápido para Core Web Vitals en 2026?
El tema Dawn oficial de Shopify obtiene constantemente la puntuación más alta en las pruebas de Core Web Vitals porque fue diseñado específicamente para el rendimiento: JavaScript básico, CSS mínimo, sin jQuery, representación de secciones eficiente. Entre los temas pagos, Prestige, Impulse y Turbo (de Out of the Sandbox) obtienen consistentemente buenos puntajes. Sin embargo, la selección del tema es secundaria a la configuración: una tienda bien optimizada en un tema promedio supera a una tienda mal configurada en el tema más rápido.
¿Cuántas aplicaciones de Shopify son demasiadas para el rendimiento?
No existe un límite estricto, pero la correlación es clara: las tiendas con 5 aplicaciones o menos superan consistentemente a las tiendas con más de 15 aplicaciones en Core Web Vitals. Cada aplicación que inyecta JavaScript a nivel de página agrega riesgo. Audite sus aplicaciones instaladas trimestralmente: si una aplicación no se utiliza activamente o no genera un retorno de la inversión medible, desinstálela. Tenga en cuenta que desinstalar una aplicación de Shopify no siempre elimina sus scripts de los archivos de su tema; verifíquelos y límpielos manualmente.
¿La puntuación de velocidad de la tienda en línea de Shopify en el Administrador refleja con precisión los Core Web Vitals de Google?
No. La puntuación de velocidad del administrador de Shopify utiliza una metodología diferente a la de Core Web Vitals de Google. Es direccionalmente útil pero no se correlaciona precisamente con sus datos de CrUX (usuario real) en Search Console. Utilice siempre PageSpeed Insights (que muestra datos CrUX) y el informe Core Web Vitals de Google Search Console como fuentes autorizadas de medición del rendimiento para fines de SEO.
¿Puedo usar una CDN además de la CDN integrada de Shopify?
La infraestructura de Shopify ya utiliza la CDN de Fastly para la entrega de activos. Agregar otra CDN (Cloudflare) delante de Shopify puede mejorar el rendimiento en regiones desatendidas por la red PoP de Fastly, pero requiere una configuración cuidadosa para evitar reglas de almacenamiento en caché conflictivas. La mayoría de los comerciantes no ven mejoras significativas en el rendimiento al agregar Cloudflare a Shopify. Si su principal base de clientes se encuentra en una región geográfica donde su tienda tiene un desempeño deficiente, pruebe Cloudflare específicamente en esa audiencia.
¿Cuánto tiempo después de las optimizaciones mejoran las puntuaciones de Core Web Vitals en Search Console?
El informe Core Web Vitals de Google Search Console utiliza una ventana continua de 28 días de datos de usuarios reales de Chrome. Las mejoras realizadas hoy comenzarán a aparecer en el informe dentro del próximo período de 28 días. El informe va por detrás de su rendimiento real: es posible que una solución implementada hoy no se refleje completamente en el informe de Search Console durante 28 a 35 días. Utilice PageSpeed Insights y pruebas de laboratorio para obtener comentarios inmediatos sobre la eficacia de la optimización.
Próximos pasos
Lograr y mantener puntuaciones "buenas" de Core Web Vitals en una tienda Shopify con muchas aplicaciones, grandes catálogos de productos y temas complejos requiere atención técnica continua.
Los servicios de optimización de velocidad de Shopify de ECOSIRE incluyen una auditoría de rendimiento integral, corrección de LCP/INP/CLS, administración de secuencias de comandos de terceros, optimización de temas y monitoreo de rendimiento mensual para mantener sus puntajes de Core Web Vitals.
Obtén una auditoría de Core Web Vitals gratuita para tu tienda Shopify y recibe una hoja de ruta de optimización priorizada dentro de las 48 horas.
Escrito por
ECOSIRE Research and Development Team
Construyendo productos digitales de nivel empresarial en ECOSIRE. Compartiendo perspectivas sobre integraciones Odoo, automatización de eCommerce y soluciones empresariales impulsadas por IA.
Artículos relacionados
Case Study: eCommerce Migration to Shopify with Odoo Backend
How a fashion retailer migrated from WooCommerce to Shopify and connected it to Odoo ERP, cutting order fulfillment time by 71% and growing revenue 43%.
Integrating GoHighLevel CRM with eCommerce Stores
Step-by-step guide to integrating GoHighLevel CRM with Shopify and WooCommerce. Sync orders, automate post-purchase flows, and recover abandoned carts at scale.
k6 Load Testing: Stress-Test Your APIs Before Launch
Master k6 load testing for Node.js APIs. Covers virtual user ramp-ups, thresholds, scenarios, HTTP/2, WebSocket testing, Grafana dashboards, and CI integration patterns.
Más de Performance & Scalability
k6 Load Testing: Stress-Test Your APIs Before Launch
Master k6 load testing for Node.js APIs. Covers virtual user ramp-ups, thresholds, scenarios, HTTP/2, WebSocket testing, Grafana dashboards, and CI integration patterns.
Nginx Production Configuration: SSL, Caching, and Security
Nginx production configuration guide: SSL termination, HTTP/2, caching headers, security headers, rate limiting, reverse proxy setup, and Cloudflare integration patterns.
Odoo Performance Tuning: PostgreSQL and Server Optimization
Expert guide to Odoo 19 performance tuning. Covers PostgreSQL configuration, indexing, query optimization, Nginx caching, and server sizing for enterprise deployments.
Odoo vs Acumatica: Cloud ERP for Growing Businesses
Odoo vs Acumatica compared for 2026: unique pricing models, scalability, manufacturing depth, and which cloud ERP fits your growth trajectory.
Testing and Monitoring AI Agents in Production
A complete guide to testing and monitoring AI agents in production environments. Covers evaluation frameworks, observability, drift detection, and incident response for OpenClaw deployments.
Compliance Monitoring Agents with OpenClaw
Deploy OpenClaw AI agents for continuous compliance monitoring. Automate regulatory checks, policy enforcement, audit trail generation, and compliance reporting.