Optimizar velocidad de PrestaShop en servidor compartido
¿Tu tienda online con PrestaShop va lenta y estás en un plan de hosting compartido? No te preocupes, es una situación muy común. Los servidores compartidos tienen recursos limitados, pero con una buena estrategia de optimizar PrestaShop, puedes lograr una velocidad PrestaShop excelente sin necesidad de migrar a un servidor dedicado. En esta guía extensa y práctica, te explicaré paso a paso cómo mejorar el rendimiento tienda online en un entorno de PrestaShop hosting compartido. Vamos a exprimir al máximo cada recurso.
¿Por qué mi PrestaShop va lento en un hosting compartido?
Antes de lanzarnos a las soluciones, es importante entender el problema. En un hosting compartido, tu tienda comparte CPU, RAM y disco con otros sitios web. Si un vecino tiene mucho tráfico o un script mal optimizado, puede afectar tu rendimiento. Además, PrestaShop es un CMS potente pero pesado, con muchas consultas a la base de datos y archivos estáticos (CSS, JS, imágenes).
Las causas más comunes de lentitud en PrestaShop hosting compartido son:
- Falta de caché: Sin caché, cada visita genera consultas a la base de datos y procesa PHP desde cero.
- Imágenes sin optimizar: Fotos de productos en alta resolución que pesan 2-3 MB cada una.
- Módulos innecesarios: Muchas extensiones activas consumen recursos incluso si no las usas.
- Base de datos desordenada: Tablas llenas de registros temporales, carritos abandonados y logs.
- JavaScript y CSS sin combinar: Cada archivo adicional genera peticiones HTTP que ralentizan la carga.
Pero no te alarmes, con los pasos que te daré a continuación, podrás acelerar PrestaShop de forma notable.
Configura la caché interna de PrestaShop (el primer paso obligatorio)
La caché es la herramienta más poderosa para optimizar PrestaShop. Guarda versiones estáticas de tus páginas para que no se generen desde cero en cada visita.
### Activar la caché de rendimiento
- Ve al panel de administración de PrestaShop: Parámetros Avanzados > Rendimiento.
- En "Caché", selecciona "Sí".
- En "Sistema de almacenamiento en caché", elige "Caché de archivos" si tu hosting no tiene Memcached o Redis. Si tu proveedor lo ofrece, puedes usar Memcached (pregunta en soporte).
- Guarda los cambios.
[TIP] Si tu hosting no tiene Memcached, no te preocupes. La caché de archivos funciona bien en servidores compartidos.
### Activar la compresión CCC (Combine, Compress and Cache)
En la misma página de Rendimiento, verás la sección "Plantillas" y "Archivos JavaScript y CSS". Activa estas opciones:
- "Combinar, comprimir y almacenar en caché archivos JavaScript"
- "Combinar, comprimir y almacenar en caché archivos CSS"
Esto reduce el número de peticiones HTTP y el peso de los archivos.
[WARNING] Si después de activar esto ves tu tienda rota o con errores visuales, desactiva las opciones una por una para identificar el conflicto. Algunos temas o módulos no son compatibles.
Optimiza las imágenes de tus productos (la mayor ganancia de velocidad)
Las imágenes son el principal lastre de velocidad en una tienda online. Una foto de producto sin optimizar puede pesar 1-2 MB, y si tienes 100 productos, eso son 200 MB de descarga para un usuario que vea todos.
### Redimensiona y comprime antes de subir
- Usa herramientas como TinyPNG o ImageOptim para comprimir las imágenes sin perder calidad.
- Sube imágenes con el tamaño exacto que necesitas. Por ejemplo, si tu tema muestra imágenes de 800x800 px, no subas una de 4000x4000 px.
### Configura la generación de imágenes en PrestaShop
- Ve a Parámetros Avanzados > Imágenes.
- Revisa los tamaños definidos para productos, categorías, etc. Elimina los que no uses (por ejemplo, si no usas vista de lista, elimina ese tamaño).
- Marca la opción "Usar solo el tamaño de imagen más pequeño disponible" si tu tema lo permite. Esto evita que se generen versiones innecesarias.
### Activa el formato WebP (si tu hosting lo soporta)
WebP es un formato moderno que pesa mucho menos que JPEG o PNG. En PrestaShop 8+ puedes activarlo en Parámetros Avanzados > Rendimiento > Imágenes en formato WebP.
[INFO] Si tu hosting es antiguo, puede que no soporte WebP. Pregunta a tu proveedor o haz una prueba con una imagen.
Minimiza el uso de módulos y temas (menos es más)
Cada módulo activo consume recursos, incluso si no está en uso. Un tema pesado con muchos efectos visuales también ralentiza.
### Audita tus módulos
- Ve a Módulos > Gestor de módulos.
- Desinstala y elimina los módulos que no uses. No solo los desactives, elimínalos por completo.
- Revisa módulos nativos como "Bloque de búsqueda", "Bloque de categorías" o "Bloque de opiniones" que suelen ser pesados. Si no los necesitas, quítalos.
### Elige un tema ligero
Si tu tema actual carga muchos scripts de slider, animaciones o fuentes externas, considera cambiarlo por uno optimizado para velocidad. Temas como "Classic" de PrestaShop o "Warehouse" (versión ligera) son buenas opciones.
[WARNING] Evita temas que prometen "mega menús" o "efectos parallax" si tu hosting es compartido. Prioriza la funcionalidad sobre lo visual.
Configura la base de datos para que no se atasque
La base de datos es el corazón de PrestaShop. Con el tiempo se llena de datos basura que ralentizan las consultas.
### Limpia tablas periódicamente
- Accede a tu base de datos vía phpMyAdmin (desde el panel de tu hosting).
- Busca tablas como
ps_connections,ps_connections_page,ps_guest,ps_statssearch(el prefijo puede variar). - Selecciona estas tablas y haz clic en "Vaciar" (no "Eliminar"). Esto borra los registros sin borrar la estructura.
### Optimiza las tablas
En phpMyAdmin, selecciona todas las tablas de tu base de datos y en el menú desplegable elige "Optimizar tabla". Esto reconstruye los índices y libera espacio.
### Programa limpiezas automáticas
En PrestaShop, ve a Parámetros Avanzados > Base de datos y activa la opción "Limpiar automáticamente las tablas de estadísticas". Define un período (ej. cada 7 días).
Activa la compresión GZIP y el almacenamiento en caché del navegador
Esto se configura desde el archivo .htaccess de tu tienda (en la raíz del servidor). Si no te sientes cómodo editándolo, pide ayuda a tu proveedor de hosting.
### Añade estas líneas al .htaccess
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType text/html "access plus 1 day"
</IfModule>
[TIP] Si tu hosting usa Syspanel (antes conocido como HestiaCP), el acceso a los archivos del servidor se realiza por el puerto 2106 vía SFTP. Pide las credenciales a tu proveedor.
Usa una red de distribución de contenido (CDN) gratuita
Un CDN almacena copias de tus archivos estáticos (imágenes, CSS, JS) en servidores de todo el mundo. Así, un usuario en México descarga los archivos desde un servidor cercano, no desde el tuyo.
### Cloudflare (gratuito)
- Regístrate en Cloudflare.
- Añade tu dominio y cambia los servidores DNS que te indiquen.
- En el panel de Cloudflare, activa "Auto Minify" para CSS, JS y HTML.
- Activa "Brotli" (compresión más potente que GZIP).
- En "Caching", configura "Always Online" para que tu tienda siga funcionando si tu servidor se cae.
[WARNING] Si usas Cloudflare, desactiva la opción "Rocket Loader" para PrestaShop, ya que puede romper scripts de carrito o formularios.
Configura correctamente el servidor (si tienes acceso)
Si tu hosting te permite configurar PHP y MySQL, haz estos ajustes:
### Ajustes de PHP
- Memory Limit: 256 MB mínimo, 512 MB recomendado.
- Max Execution Time: 30 segundos (suficiente para PrestaShop).
- Max Input Vars: 5000 (para evitar problemas con formularios grandes).
Estos valores se configuran desde el panel de control (cPanel, Plesk o Syspanel en puerto 2106). Busca "PHP Settings" o "Select PHP Version".
### Ajustes de MySQL
- query_cache_size: 64 MB (si tu hosting lo permite).
- tmp_table_size y max_heap_table_size: 64 MB cada uno.
Si no tienes acceso a estos parámetros, no te preocupes, los pasos anteriores ya harán una gran diferencia.
Monitorea el rendimiento y repite el proceso
La optimización no es de una sola vez. Cada vez que añadas productos, módulos o cambies de tema, revisa la velocidad.
### Herramientas gratuitas para medir
- GTmetrix: Te da un desglose de lo que falla.
- Google PageSpeed Insights: Enfocado en la experiencia de usuario móvil.
- Pingdom Tools: Mide el tiempo de carga desde diferentes ubicaciones.
### Checklist de mantenimiento mensual
- Limpia la base de datos (tablas de estadísticas).
- Revisa módulos activos y elimina los que no uses.
- Actualiza PrestaShop y todos los módulos a la última versión (las actualizaciones suelen incluir mejoras de rendimiento).
- Vuelve a comprimir imágenes nuevas.
- Revisa el
.htaccesspor si se ha sobrescrito con alguna actualización.
Preguntas frecuentes (FAQ)
¿Puedo tener una tienda rápida en un hosting compartido?
Sí, siguiendo los pasos de esta guía puedes lograr tiempos de carga de 2-3 segundos, que es el estándar aceptable. Si necesitas menos de 1 segundo, plantéate migrar a un VPS.
¿Qué hago si mi hosting no permite modificar el .htaccess?
Algunos proveedores bloquean el acceso. Pide a soporte que activen la compresión GZIP y la caché del navegador. También puedes usar Cloudflare, que hace esto sin tocar el servidor.
¿Debo desactivar los módulos de estadísticas?
Sí, especialmente "Google Analytics" o "Módulo de estadísticas interno" si no los usas. Consumen recursos cada vez que se registra una visita.
¿El uso de Syspanel afecta al rendimiento?
No, Syspanel (antes HestiaCP) es solo un panel de control. Si tu hosting lo usa, el rendimiento depende de los recursos asignados. Accede por el puerto 2106 para gestionar archivos y bases de datos.
¿Qué hago si después de todo sigue lento?
Prueba a desactivar todos los módulos no esenciales y usa el tema por defecto. Si aún así va lento, el problema es de tu proveedor de hosting. Pide un reembolso y busca uno mejor, como SiteGround o Hostinger (planes Business).
Conclusión
Optimizar PrestaShop en un entorno de PrestaShop hosting compartido es totalmente posible si aplicas estas técnicas. No necesitas ser un experto en servidores, solo paciencia para seguir los pasos uno a uno. Recuerda que la clave está en la caché, la compresión de imágenes y la limpieza de la base de datos. Con estos tres pilares, tu velocidad PrestaShop mejorará notablemente y tus clientes notarán la diferencia.
Si tienes dudas, deja un comentario o consulta con tu proveedor de hosting. ¡Tu tienda online merece ser rápida!
