Cómo optimizar la velocidad de PrestaShop en tu hosting compartido
¿Tu tienda PrestaShop va lenta y no sabes por qué? Es una de las consultas más habituales que recibimos en soporte. Un PrestaShop lento en hosting no solo frustra a tus clientes, sino que también dispara el porcentaje de rebote y hunde tu posicionamiento en Google. La buena noticia es que, en la mayoría de los casos, no necesitas cambiar de servidor ni contratar un plan carísimo. Con una serie de ajustes prácticos y una limpieza a fondo, puedes acelerar Prestashop de forma notable incluso en un plan compartido.
En esta guía extensa y paso a paso, vamos a desgranar todas las técnicas, desde las más básicas hasta las más avanzadas, para que puedas optimizar PrestaShop velocidad sin ser un experto en servidores. Vamos a ello.
¿Por qué PrestaShop es tan exigente con el hosting?
Antes de empezar a tocar botones, conviene entender el problema. PrestaShop es un software muy potente y completo, pero también es un "devorador" de recursos. Cada vez que un visitante entra en tu tienda, el servidor tiene que ejecutar decenas de archivos PHP, consultar la base de datos varias veces y generar la página desde cero. En un hosting compartido, donde los recursos (CPU y memoria RAM) se reparten entre cientos de cuentas, este proceso puede volverse lentísimo.
El error más común es pensar que el problema es "del hosting". A veces lo es, pero en mi experiencia, el 80% de las tiendas lentas tienen configuraciones internas mejorables. Vamos a por ellas.
Fase 1: Diagnóstico rápido (¿Dónde está el cuello de botella?)
No se puede optimizar lo que no se mide. Antes de aplicar cambios, necesitas saber qué está fallando. Te propongo dos métodos muy sencillos.
1.1. Prueba de velocidad externa
Usa herramientas gratuitas como GTmetrix o PageSpeed Insights de Google. Introduce tu URL y espera el informe. Presta atención a dos métricas:
- Tiempo hasta el primer byte (TTFB): Si supera los 800ms o 1 segundo, el problema es del servidor o de la configuración de PHP.
- Tiempo de carga total: Si supera los 3 segundos, tienes trabajo por delante.
1.2. Revisa el panel de control de tu hosting
Entra en tu panel (cPanel, Plesk o Syspanel). Si usas Syspanel, recuerda que el acceso se realiza a través del puerto 2106 (ejemplo: https://tu-dominio.com:2106). Busca la sección de "Métricas de recursos" o "Uso de CPU". Si ves que tu cuenta está constantemente al 100% de CPU, significa que tu web está consumiendo demasiado. Esto nos confirma que hay que optimizar sí o sí.
Fase 2: Configuración interna de PrestaShop (Ajustes clave)
Aquí es donde más partido le vas a sacar. Vamos a la administración de tu tienda (tu-dominio.com/admin) y ajustamos los parámetros que más influyen en la velocidad.
2.1. Activa el modo rendimiento (Compilación de plantillas)
Este es el primer paso y el más importante. Si lo tienes mal configurado, PrestaShop recompila las plantillas en cada visita, lo cual es un lastre enorme.
- Ve a Parámetros avanzados > Rendimiento.
- Busca la opción "Modo de compilación de plantillas".
- Selecciona "Forzar compilación" SOLO si estás editando tu tema. Para producción, elige "Recompilar si los archivos han sido modificados" o, mejor aún, "Nunca recompilar archivos de plantilla" (esta última es la más rápida, pero si cambias el tema, tendrás que borrar la carpeta
var/cachemanualmente).
2.2. Combina y comprime archivos (CSS y JavaScript)
PrestaShop tiene una función integrada para reducir el número de peticiones HTTP. Cada archivo CSS o JS que se carga es una petición extra al servidor. Al combinarlos, solo se hace una.
En la misma página de Rendimiento, busca la sección "Combinar archivos":
- Activa "Combinar archivos JavaScript".
- Activa "Combinar archivos CSS".
- Activa "Comprimir archivos JavaScript" y "Comprimir archivos CSS" (esto usa gzip).
[WARNING]: Después de activar esto, revisa tu tienda en varios dispositivos y navegadores. A veces una combinación agresiva rompe el diseño. Si ves algo raro, desactiva la combinación y usa un plugin de caché (lo veremos más adelante).
2.3. Activa la caché de resultados de consultas (MySQL)
PrestaShop consulta la base de datos constantemente. Si activamos la caché, las consultas repetidas se almacenan y no se vuelven a ejecutar.
- En la misma página de Rendimiento, ve a "Caché de resultados de consultas".
- Elige "Usar Cache" y selecciona el tipo "Memcached" o "APCu" (si tu hosting lo soporta; si no, elige "File System" como opción segura).
2.4. Activa la caché de Smarty (Caché de plantillas)
Esta es diferente a la anterior. Guarda las páginas HTML ya generadas para no tener que procesarlas de nuevo.
- En Rendimiento, busca "Caché de plantillas".
- Activa "Usar la caché".
- En "Nivel de caché", elige "Nivel 2 – Rendimiento óptimo".
2.5. Desactiva los "Profiler" y el modo depuración
Esto es básico pero a veces se olvida. Si tienes el modo debug activado, la tienda es mucho más lenta.
- Ve a Parámetros avanzados > Información de rendimiento.
- Asegúrate de que "Modo depuración" esté en "Nunca".
- El "Profiler" debe estar en "Desactivado".
Fase 3: Optimización de la base de datos
Con el tiempo, la base de datos de PrestaShop se llena de basura: pedidos anulados, carritos abandonados, sesiones antiguas y tablas fragmentadas. Limpiarla es vital para optimizar PrestaShop velocidad.
3.1. Limpieza manual desde el BackOffice
- Ve a Parámetros avanzados > Base de datos.
- Verás una lista de tablas con su tamaño.
- Marca las tablas que empiezan por
ps_connections,ps_connections_page,ps_guestyps_sessions. Estas contienen datos temporales. - Haz clic en "Vaciar" para limpiarlas. No borres las tablas de productos ni pedidos, solo las de sesiones y conexiones.
3.2. Optimizar tablas (Desfragmentación)
En la misma página, arriba del todo, hay un botón que dice "Optimizar tablas". Ejecútalo. Esto es como desfragmentar un disco duro; reorganiza los datos para que las consultas sean más rápidas.
3.3. Limpieza de carritos abandonados
Los carritos que no se completan son un lastre. Puedes eliminarlos desde Pedidos > Carritos o directamente con una consulta SQL si te atreves (yo no lo recomiendo si no tienes experiencia). Si usas un módulo de limpieza, mejor.
[INFO]: Existen módulos gratuitos como "Advanced MySQL" o "Cleaner" que automatizan este proceso. Búscalos en el marketplace de PrestaShop.
Fase 4: Configuración del hosting y PHP
Ahora pasamos a la parte del servidor. Aunque estés en un hosting compartido, tienes margen de maniobra.
4.1. Versión de PHP (Crítico)
PrestaShop corre mucho mejor en PHP 7.4 o PHP 8.x que en versiones antiguas como PHP 5.6. Si tu hosting te permite cambiar la versión (en cPanel o Syspanel), hazlo.
- Busca la sección "Select PHP Version" o "Administrador de PHP".
- Cambia a la versión más reciente y estable que soporte tu PrestaShop (normalmente 7.4 o 8.1).
- Guarda los cambios.
[WARNING]: Antes de cambiar de versión, haz una copia de seguridad completa. A veces un módulo antiguo no es compatible con PHP 8 y da error. Si pasa, revierte el cambio.
4.2. Ajustes de PHP (Límite de memoria)
PrestaShop necesita memoria para funcionar. Si el límite es muy bajo, se vuelve lento o da errores 500.
- En la configuración de PHP, busca
memory_limit. - Cámbialo a
512Mo al menos256M.
4.3. Activa la caché de opcode (OPcache)
OPcache guarda el código PHP compilado en memoria, evitando que se procese en cada petición. Es un acelerador brutal.
- En la configuración de PHP, busca
opcache.enable. - Ponlo en
On. - También puedes ajustar
opcache.memory_consumptiona128o256.
4.4. ¿Y si tu hosting tiene LiteSpeed?
Si tu hosting usa LiteSpeed (pregunta al soporte), puedes activar LiteSpeed Cache para PrestaShop. Es un plugin que hace maravillas con la caché de páginas y es mucho más eficiente que la caché nativa de PrestaShop.
Fase 5: Caché de navegador y CDN
Aquí ya no tocamos el servidor, sino la entrega de contenido al usuario.
5.1. Caché del navegador (Leverage Browser Caching)
Así le dices al navegador del cliente que guarde ciertos archivos (imágenes, CSS, JS) en su disco local durante un tiempo. Así, cuando vuelva a visitarte, no tendrá que descargarlos de nuevo.
Esto se configura en el archivo .htaccess de la raíz de tu tienda. Añade este código al final:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
</IfModule>
Guarda el archivo y sube por FTP. Si no sabes editar, muchos módulos de caché lo hacen automáticamente.
5.2. Usa una CDN (Red de Distribución de Contenidos)
Una CDN guarda tus imágenes y archivos estáticos en servidores repartidos por todo el mundo. Cuando un cliente de México entra en tu tienda, la imagen se carga desde el servidor de México, no desde el de Estados Unidos o Europa.
- Cloudflare es la opción gratuita más popular. Solo tienes que crear una cuenta, añadir tu dominio y cambiar los servidores DNS en tu registrador. Es un proceso de 15 minutos y vale muchísimo la pena.
- Cloudflare también ofrece protección contra ataques DDoS y una caché de página básica.
Fase 6: Optimización de imágenes (El peso de las fotos)
Las imágenes son el 60% del peso de una página de producto. Si subes fotos de 2MB directamente desde la cámara, tu tienda será un desastre.
6.1. Redimensiona antes de subir
Idealmente, una imagen de producto debe pesar entre 50KB y 150KB. Usa herramientas como TinyPNG o Squoosh para comprimirlas antes de subirlas.
6.2. Activa el formato WebP
PrestaShop 1.7 y 8.x tienen soporte nativo para WebP (si tu hosting tiene la librería GD instalada). Ve a Parámetros avanzados > Rendimiento > Imágenes y activa la generación de WebP. Este formato reduce el peso un 30-50% sin perder calidad.
6.3. Configura el tamaño de las imágenes
En Diseño > Imágenes, verás todos los tamaños que se generan. Desactiva los que no uses (por ejemplo, si no usas miniaturas en el carrito, desactiva ese tamaño). Cada tamaño que se genera consume CPU en cada subida.
Fase 7: Módulos y temas (Haz limpieza)
El exceso de módulos es la causa número uno de PrestaShop lento en hosting.
7.1. Desactiva los módulos que no uses
Ve a Módulos > Módulos y servicios. Verás una lista enorme. Desactiva todo lo que no estés usando activamente. Especialmente:
- Módulos de redes sociales que cargan scripts externos.
- Módulos de "productos relacionados" que hacen consultas pesadas.
- Módulos de análisis que no miras.
7.2. Cuidado con los módulos de caché de terceros
A veces un módulo de caché mal configurado hace más daño que bien. Si tienes uno instalado y la tienda sigue lenta, desactívalo y prueba con la caché nativa de PrestaShop.
7.3. Usa un tema ligero
Los temas premium con miles de efectos de animación (sliders, parallax, etc.) son preciosos pero muy pesados. Si tu hosting es compartido, prioriza un tema minimalista y limpio. No necesitas 20 librerías JavaScript para una tienda de zapatos.
Fase 8: Herramientas avanzadas (Para usuarios valientes)
Si has hecho todo lo anterior y aún quieres más, aquí tienes opciones más técnicas.
8.1. Caché de páginas con Varnish
Varnish es un acelerador de aplicaciones web que guarda una copia estática de tus páginas en memoria. Es brutal. Sin embargo, configurarlo en un hosting compartido es complicado y requiere acceso root. Si tu hosting lo ofrece como opción en cPanel, pruébalo. Si no, olvídate.
8.2. Módulo "Prefetch" y optimización de consultas SQL
Hay módulos de pago (como "Speedup" o "Advanced PrestaShop Cache") que analizan las consultas lentas en tu base de datos y las optimizan. Son útiles si manejas un catálogo muy grande (más de 10,000 productos).
Preguntas Frecuentes (FAQ)
¿Cuánto tiempo se tarda en ver mejoras?
Inmediatamente. Al activar la caché de plantillas y combinar archivos, notarás una mejora del 30-50% en el tiempo de carga en cuestión de minutos.
¿Es peligroso activar todas las cachés?
Si, puede serlo. Si activas la caché de plantillas y luego editas un archivo de tu tema, los cambios no se verán hasta que borres la caché. Por eso, guarda siempre una copia de seguridad antes de tocar nada.
Mi hosting es muy limitado, ¿debería cambiarme?
Si después de aplicar todos estos pasos tu tienda sigue tardando más de 4 segundos en cargar, puede que tu plan compartido sea demasiado pequeño. En ese caso, plantéate pasar a un plan VPS o a un hosting especializado en PrestaShop que ofrezca LiteSpeed y más recursos.
¿Cada cuánto debo limpiar la base de datos?
Depende del tráfico. Si tienes muchas ventas, una vez al mes. Si es una tienda pequeña, cada 3 meses es suficiente.
¿Cloudflare es gratis?
Sí, el plan gratuito de Cloudflare es suficiente para la mayoría de tiendas pequeñas y medianas. Te ofrece CDN, caché básica y protección SSL.
Conclusión final
Acelerar PrestaShop en un hosting compartido es totalmente posible si sigues un orden lógico: primero ajusta la configuración interna de la tienda, luego optimiza la base de datos y después trabaja en el servidor y la entrega de contenido. No necesitas ser un ingeniero de sistemas; solo paciencia y seguir estos pasos.
[TIP]: Si después de todo
