Cada 100ms adicionales de tiempo de carga te cuestan conversiones. En el e-commerce, la velocidad no es un lujo – impacta directamente en tus ingresos. Esta guia se centra en las optimizaciones especificas y ejecutables que marcan la mayor diferencia para las tiendas PrestaShop.
Empieza por medir
Antes de optimizar nada, necesitas una linea base. Usa estas herramientas:
- Google PageSpeed Insights – proporciona los Core Web Vitals (LCP, FID, CLS) y una puntuacion de rendimiento
- GTmetrix – ofrece graficos de cascada mostrando exactamente que se carga y cuando
- MySQL slow query log – activalo temporalmente para encontrar consultas que tardan mas de 1 segundo
- Xdebug profiler – para identificar cuellos de botella a nivel PHP (usa cachegrind para el analisis)
Mide primero, optimiza despues y mide de nuevo. De lo contrario, solo estas adivinando.
Optimizacion de base de datos
La base de datos es el cuello de botella mas comun en PrestaShop. Esto es lo que debes revisar:
Indexa tus tablas personalizadas
Si tus modulos crean tablas personalizadas, asegurate de que tengan indices adecuados. Un indice faltante en una columna consultada frecuentemente puede convertir una consulta de 10ms en un escaneo de tabla de 3 segundos.
ALTER TABLE ps_my_module_data ADD INDEX idx_id_product (id_product);
ALTER TABLE ps_my_module_data ADD INDEX idx_date_add (date_add);
Limpia datos antiguos
PrestaShop acumula datos que ralentizan todo con el tiempo:
ps_connectionsyps_connections_page– pueden crecer a millones de filasps_log– trunca regularmenteps_mail– los registros de correos antiguos se acumulan- Carritos abandonados de mas de 30 dias – seguros para eliminar en la mayoria de casos
Optimiza las consultas
Usa EXPLAIN en cualquier consulta que toque tablas grandes. Vigila type: ALL (escaneo completo de tabla) y Using temporary; Using filesort – ambos son senales de alarma.
PHP y OPcache
La optimizacion a nivel PHP suele pasarse por alto:
- PHP 8.2+ – significativamente mas rapido que 7.4, y PrestaShop 8.x/9.x lo soporta
- OPcache – activalo y establece
opcache.revalidate_freq=60en produccion (no 0) - Cache realpath – aumenta
realpath_cache_sizea 4096K para tiendas grandes - Limite de memoria – establecer al menos 512M para evitar presion del recolector de basura
Redis para cache y sesiones
Reemplaza la cache basada en archivos con Redis:
- La cache de Smarty, la cache de Symfony y las caches de modulos se benefician de Redis
- El almacenamiento de sesiones en Redis elimina problemas de bloqueo de archivos bajo alta concurrencia
- Una sola instancia de Redis puede manejar todas estas cargas para una tienda tipica
Optimizacion front-end
- CCC (Combine, Compress, Cache) – activalo en la configuracion de rendimiento, pero prueba a fondo
- Lazy loading – usa el nativo
loading="lazy"en imagenes de productos - Imagenes WebP – 25-35% mas pequenas que JPEG a calidad equivalente
- CDN – descarga recursos estaticos a Cloudflare o similar; establece la URL del servidor de medios en PrestaShop
- Critical CSS – inserta inline los estilos above-the-fold para eliminar peticiones que bloquean el renderizado
Full Page Cache
Para tiendas con mucho trafico y catalogos relativamente estaticos, un Full Page Cache (Varnish o nginx FastCGI cache) puede reducir los tiempos de respuesta de 500ms a menos de 50ms. La parte complicada es la invalidacion del cache – necesitas purgar correctamente cuando cambian los precios, se actualizan las existencias o las promociones empiezan y terminan.
Empieza con las optimizaciones de base de datos y PHP – dan los mejores resultados con el menor riesgo. Anade cache front-end y full page una vez que la base sea solida.
Comentarios (3)
Dejar un comentario