Cómo optimizar la velocidad de PrestaShop en cPanel (Cache, Gzip y más)
¿Por qué tu PrestaShop va lento y cómo empezar a acelerarlo desde cPanel?
Si estás leyendo esto, probablemente ya has experimentado la frustración de ver cómo tu tienda online tarda una eternidad en cargar. Un PrestaShop lento en cPanel no solo irrita a tus clientes, sino que también afecta tu posicionamiento en Google. Las páginas que tardan más de 3 segundos en cargar pierden más de la mitad de sus visitantes. Pero no te preocupes, hoy vamos a desgranar, paso a paso, cómo optimizar PrestaShop velocidad sin necesidad de ser un experto en programación.
La buena noticia es que cPanel nos da acceso a herramientas muy potentes. La clave está en saber dónde mirar y qué ajustes realizar. A lo largo de esta guía, te explicaré cómo activar la caché, comprimir tus archivos con Gzip y aplicar otros trucos que marcarán una diferencia abismal. Al final, tu tienda volará y tus clientes (y Google) te lo agradecerán.
Antes de empezar, ten en cuenta que estos cambios son seguros, pero siempre es recomendable hacer una copia de seguridad de tu sitio antes de modificar archivos importantes. Si tu hosting usa Syspanel (antes conocido como HestiaCP), recuerda que el acceso se realiza a través del puerto 2106, pero los principios de optimización que veremos aquí son exactamente los mismos.
## Paso 1: Activa la caché de PrestaShop (el ajuste más importante)
La caché es, sin lugar a dudas, la primera línea de ataque contra la lentitud. ¿Qué hace? Guarda versiones "estáticas" de tus páginas para que el servidor no tenga que procesarlas desde cero cada vez que alguien las visita. Es como tener la tienda ya montada y no tener que colocar los estantes cada vez que entra un cliente.
### Cómo activar la caché en el panel de administración
- Accede a tu panel de administración de PrestaShop (normalmente en
tudominio.com/admin). - Ve al menú Parámetros avanzados y luego a Rendimiento.
- En la sección Caché, selecciona la opción Sí, usar caché para este sitio.
- En el desplegable Combinar, comprimir y almacenar en caché (CCC), marca las opciones de CSS, JavaScript y HTML. Esto reduce el número de peticiones al servidor.
- Guarda los cambios.
### Caché de Smarty: el motor de plantillas
Justo debajo, encontrarás la Caché de Smarty. Actívala también. Esta caché es específica para las plantillas de tu tema. Puedes elegir entre "Reasignar archivos de plantillas" o "Forzar la compilación". Para una tienda en producción, lo ideal es Reasignar archivos de plantillas, ya que es más rápida. La opción de "Forzar compilación" solo debe usarse mientras estás editando el diseño, ya que ralentiza el sitio.
[TIP] Si después de activar la caché ves que tu tienda se ve "rara" o no se actualizan los cambios de diseño, ve a Parámetros avanzados > Rendimiento y pulsa el botón Vaciar la caché. Es una solución mágica para muchos problemas visuales.
## Paso 2: Comprime tu sitio con Gzip (reduce el peso hasta un 70%)
Imagina que tienes que enviar un paquete por correo. ¿No sería más barato y rápido comprimirlo en una bolsa de vacío? Eso es exactamente lo que hace Gzip con tus archivos HTML, CSS y JavaScript. El servidor los comprime antes de enviarlos al navegador del visitante, y este los descomprime al instante. El resultado es una carga mucho más rápida.
### Activar Gzip desde cPanel
La mayoría de los hosts con cPanel tienen una opción llamada Optimizar sitio web dentro de la sección Software o Rendimiento. Ahí puedes elegir entre "Comprimir todo el contenido" (que es Gzip) o "Comprimir el contenido MIME". Te recomiendo la primera opción.
### Activar Gzip manualmente con un archivo .htaccess
Si tu cPanel no tiene esa opción o prefieres hacerlo a mano, puedes crear o editar el archivo .htaccess en la raíz de tu tienda. Para ello:
- Ve a Administrador de archivos en cPanel.
- Abre la carpeta
public_html(o la carpeta donde esté instalada tu tienda). - Busca el archivo
.htaccess. Si no lo ves, activa la opción "Mostrar archivos ocultos" en la configuración. - Haz clic derecho sobre él y selecciona Editar.
- Añade el siguiente código al final del archivo:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>
- Guarda los cambios.
[WARNING] Asegúrate de que tu hosting usa Apache o LiteSpeed. Si usas Nginx, este código no funcionará y deberías contactar con tu proveedor. La mayoría de los planes de cPanel usan Apache o LiteSpeed, así que es muy probable que te funcione.
## Paso 3: Aprovecha la caché del navegador (Cache-Control y Expires)
No es suficiente con que el servidor sea rápido; también debemos decirle al navegador del cliente que guarde ciertos archivos en su disco duro para no tener que descargarlos en cada visita. Esto es la "caché del navegador" o "caché de recursos estáticos".
### Configurar el archivo .htaccess para la caché del navegador
Volvemos a nuestro archivo .htaccess. Añade este otro bloque de código al final:
<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 image/webp "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
</IfModule>
Este código le dice al navegador: "guarda estas imágenes durante un año y estos estilos y scripts durante un mes". Así, cuando un cliente vuelva a tu tienda, la carga será casi instantánea porque ya tiene la mayoría de los archivos en su caché local.
## Paso 4: Optimiza las imágenes (el peso pesado de tu tienda)
Las imágenes son, con diferencia, el recurso que más pesa en una tienda online. Unas fotos de producto mal optimizadas pueden hacer que tu PrestaShop lento en cPanel sea una pesadilla. No necesitas ser un diseñador gráfico para solucionarlo.
### Consejos prácticos para imágenes
- Redimensiona antes de subir: No subas una imagen de 4000px de ancho si tu tienda solo la muestra a 800px. Usa un editor como Paint, Photoshop o herramientas online gratuitas como Canva para ajustar el tamaño.
- Usa el formato correcto: Para fotos de producto, usa JPEG. Para gráficos, logotipos o imágenes con texto, usa PNG. El nuevo formato WebP es incluso mejor, ya que ofrece una gran calidad con un peso mucho menor.
- Comprime las imágenes: Herramientas como TinyPNG o Compressor.io reducen el peso de tus imágenes sin que se note la pérdida de calidad. Es un paso sencillo que puede reducir el peso de tus imágenes en un 70%.
[INFO] PrestaShop tiene un módulo llamado "PrestaShop 1.7 - Image optimization" (o similar en versiones anteriores) que te permite configurar la compresión de imágenes y generar versiones WebP automáticamente. Búscalo en el marketplace oficial de PrestaShop.
## Paso 5: Activa la caché de MySQL y optimiza las tablas
La base de datos es el cerebro de tu tienda. Si está desorganizada o con tablas llenas de "basura", todo se ralentiza. cPanel nos ofrece herramientas para ponerla a punto.
### Optimizar tablas desde phpMyAdmin
- Entra en phpMyAdmin desde cPanel.
- Selecciona la base de datos de tu PrestaShop (la encontrarás en el archivo
config/settings.inc.phpoapp/config/parameters.php). - Abajo del todo, verás un enlace que dice Marcar todas.
- En el desplegable "Con seleccionados", elige Optimizar tabla.
Esto es como pasar la aspiradora a tu base de datos. Deberías hacerlo al menos una vez al mes.
### Activar la caché de MySQL en PrestaShop
En el mismo menú de Parámetros avanzados > Rendimiento, busca la sección Caché de MySQL. Actívala y selecciona Memcached si tu hosting lo ofrece. Si no, la opción "File System" (sistema de archivos) también es una buena alternativa.
## Paso 6: Desactiva módulos y características que no uses
PrestaShop es muy potente, pero a veces acumulamos módulos que ya no usamos. Cada módulo activo consume recursos, aunque no lo parezca. Es como tener un montón de electrodomésticos enchufados aunque no los uses: siguen gastando energía.
- Ve a Módulos > Módulos y servicios.
- Revisa la lista y desactiva todos aquellos que no estés utilizando.
- Si hay módulos que están activos pero no recuerdas para qué sirven, investiga antes de desactivarlos. Si no los usas, desactívalos o incluso desinstálalos.
### Desactiva el modo de depuración
En Parámetros avanzados > Rendimiento, asegúrate de que el Modo de depuración esté en No. Si está activado, la tienda registra muchísima información que ralentiza el servidor.
## Paso 7: Usa una CDN (Red de Distribución de Contenidos)
Una CDN es una red de servidores repartidos por todo el mundo que guardan una copia de tu tienda (estática). Cuando un cliente visita tu web, se conecta al servidor más cercano a su ubicación, lo que reduce drásticamente la latencia.
### ¿Cómo configurar una CDN?
- Regístrate en un servicio de CDN como Cloudflare (tiene un plan gratuito excelente).
- Cambia los servidores DNS de tu dominio para que apunten a los de Cloudflare (te lo indicarán paso a paso).
- Activa la opción de "Caché" y "Compresión" en el panel de Cloudflare.
[TIP] Cloudflare es una de las formas más rápidas y efectivas de acelerar PrestaShop sin tocar una sola línea de código. Además, te protege de ataques DDoS.
## Paso 8: Elige un buen hosting (el factor olvidado)
Por mucho que optimices, si tu servidor es un "patata", el resultado será limitado. A veces, el problema de un PrestaShop lento en cPanel no es de configuración, sino de recursos.
- Asegúrate de que tu plan de hosting tiene suficiente RAM y CPU.
- Verifica que uses SSD en lugar de discos duros mecánicos (HDD). La diferencia es abismal.
- Considera cambiar a un hosting con LiteSpeed, ya que es mucho más rápido que Apache.
[WARNING] Si tu hosting es muy básico y compartido, puede que llegue un punto en el que necesites cambiar a un VPS o un servidor dedicado. PrestaShop es una plataforma exigente, y un hosting de 1€ al mes no suele ser suficiente para una tienda con tráfico real.
## Preguntas frecuentes sobre la velocidad de PrestaShop
### ¿Por qué mi PrestaShop es tan lento en cPanel?
Las causas más comunes son: caché desactivada, imágenes sin optimizar, demasiados módulos activos, una base de datos desorganizada y un hosting con recursos limitados. Revisa los pasos anteriores y verás una gran mejora.
### ¿Es seguro modificar el archivo .htaccess?
Sí, siempre que hagas una copia de seguridad antes de editarlo. Si cometes un error, tu tienda puede dar un error 500, pero puedes restaurar el archivo original desde la copia de seguridad.
### ¿Qué es mejor, la caché de Smarty o la caché de MySQL?
Son complementarias. La caché de Smarty acelera la generación de las páginas (la plantilla), mientras que la caché de MySQL acelera las consultas a la base de datos. Activa ambas para obtener el máximo rendimiento.
### ¿Cuánto tiempo tardaré en ver los resultados?
Deberías notar una mejora inmediata después de activar la caché y Gzip. La optimización de imágenes y la limpieza de la base de datos también dan resultados muy visibles en poco tiempo.
### ¿Puedo usar estos mismos pasos en Syspanel?
Sí, absolutamente. Aunque la interfaz de Syspanel (accesible en el puerto 2106) es diferente a la de cPanel, los conceptos son los mismos. Deberías buscar las herramientas equivalentes para administrar archivos (un administrador de archivos) y bases de datos (phpMyAdmin). El archivo .htaccess y el panel de administración de PrestaShop funcionan de forma idéntica.
## Conclusión: pon en marcha estos cambios hoy mismo
Optimizar PrestaShop velocidad no es una tarea de un solo día, sino un proceso continuo. Te recomiendo que empieces por los pasos 1, 2 y 4, que son los que dan un mayor impacto con menor esfuerzo. Luego, ve aplicando el resto de cambios poco a poco.
Recuerda que una tienda rápida no solo mejora la experiencia del usuario, sino que también aumenta tus conversiones y tu posicionamiento en Google. No lo dejes para mañana; tu tienda (y tus clientes) te lo agradecerán.
Si después de aplicar todos estos consejos sigues teniendo problemas de velocidad, puede que sea el momento de contactar con tu proveedor de hosting y preguntarles si tu plan es adecuado para PrestaShop. A veces, la solución más sencilla es una simple actualización de plan.
¡Manos a la obra y a disfrutar de una tienda veloz!
