Guía para acelerar PrestaShop en cPanel con caché y optimización
¿Tu tienda PrestaShop va lenta? No te preocupes, no eres el único. Una tienda online lenta es uno de los mayores enemigos de las ventas, ya que los usuarios abandonan la página si tarda más de 3 segundos en cargar. Además, Google penaliza la velocidad en su ranking, lo que afecta directamente a tu posicionamiento SEO.
La buena noticia es que acelerar PrestaShop en cPanel es totalmente posible y no necesitas ser un experto en programación para lograrlo. En esta guía extensa y práctica, te voy a explicar paso a paso, con un lenguaje claro y sencillo, cómo optimizar la velocidad de PrestaShop activando el caché de PrestaShop y otras configuraciones clave que marcarán una diferencia enorme en el rendimiento de tu web.
Vamos a ir de lo más básico a lo más avanzado, pero siempre con explicaciones fáciles de seguir. Coge papel y lápiz (o abre un bloc de notas) y prepárate para transformar la velocidad de tu tienda.
¿Por qué tu PrestaShop es lento? Diagnóstico rápido antes de empezar
Antes de lanzarnos a activar opciones, es fundamental entender qué está frenando tu tienda. No sirve de nada activar el caché de PrestaShop si tienes un problema de servidor o imágenes gigantescas.
Para hacer un diagnóstico inicial rápido, te recomiendo usar herramientas gratuitas como GTmetrix o PageSpeed Insights de Google. Solo tienes que introducir la URL de tu tienda y te darán una puntuación y una lista de elementos que debes corregir.
Si la puntuación es muy baja (por debajo de 50), el problema suele estar en varios frentes. Los culpables más comunes de una tienda lenta son:
- Imágenes sin optimizar: Archivos PNG o JPG que pesan 1 MB o más.
- Demasiadas peticiones HTTP: Cada archivo (CSS, JS, imágenes) genera una solicitud al servidor.
- Caché desactivado: El servidor tiene que generar la página desde cero en cada visita.
- Módulos pesados o mal configurados: A veces un módulo de terceros consume demasiados recursos.
- Servidor de hosting compartido saturado: Si tu vecino de servidor consume muchos recursos, tu tienda se resiente.
Una vez identificados los puntos débiles, pasamos a la acción. Sigue estos pasos en orden y verás una mejora sustancial.
Activar el Caché de PrestaShop: El primer gran paso
El caché de PrestaShop es la herramienta más eficaz para optimizar la velocidad de PrestaShop. ¿Qué hace? Guarda una copia estática de tus páginas. Cuando un usuario visita tu tienda, el servidor no tiene que volver a ejecutar todo el código PHP y las consultas a la base de datos; simplemente envía la copia guardada. Esto reduce el tiempo de carga hasta en un 70%.
### Cómo activar el caché en PrestaShop 1.7 y 1.8
Accede a tu panel de administración de PrestaShop y sigue estos pasos:
- Ve al menú Parámetros avanzados en el menú lateral izquierdo.
- Haz clic en Rendimiento.
- En la sección Caché, verás un selector. Cámbialo de "No" a "Sí".
- A la derecha, en "Sistema de caché", elige "Memcached" o "APC" si tu hosting lo permite. Si no estás seguro, deja la opción "Caché de archivos" (File Cache), que es la más segura y no requiere configuración extra.
- Haz clic en Guardar en la parte inferior.
[TIP] Si tu hosting usa LiteSpeed (muy común en cPanel), activa el Caché de archivos y luego instala el plugin LiteSpeed Cache desde el mercado de módulos. Es una combinación ganadora.
### Ajustes adicionales en la página de Rendimiento
Mientras estás en esa página, aprovecha para configurar estas opciones que también ayudan a acelerar PrestaShop en cPanel:
- Combinar archivos JavaScript y CSS: Busca la sección "Combinar JavaScript" y "Combinar CSS" y actívalas. Esto reduce el número de peticiones HTTP, ya que junta varios archivos en uno solo.
- Forzar la compresión (Gzip): En la misma sección, activa "Comprimir el código HTML", "Comprimir el código JavaScript" y "Comprimir el código CSS". Esto encoge los archivos antes de enviarlos al navegador del usuario.
- Optimizar el redondeo y el cálculo: En "Rendimiento", activa la opción "No volver a cargar el carrito" y "No volver a cargar la página de pago" si están disponibles. Esto evita procesos innecesarios.
[WARNING] Después de activar la combinación de archivos, revisa tu tienda en modo incógnito. Si algo se ve roto o sin estilos, desactiva esa opción y prueba solo con la compresión. A veces, un módulo no es compatible con la combinación.
Optimizar las imágenes: El impacto visual que pesa
Las imágenes son el elemento que más peso añade a una página web. Si vendes productos, necesitas que se vean bien, pero no a costa de la velocidad.
### Redimensionar antes de subir
Nunca subas una imagen de 4000x4000 píxeles si tu tienda solo la mostrará en un cuadrado de 800x800. Antes de subirla, usa un editor como Paint, Photoshop o herramientas online gratuitas para redimensionarla al tamaño exacto que necesitas.
### Usar el formato WebP
El formato WebP es un 30-40% más ligero que el JPG o PNG con la misma calidad visual. PrestaShop 1.7.5 y versiones superiores tienen soporte nativo para WebP.
- Ve a Parámetros avanzados > Rendimiento.
- Busca la opción "Formato de imagen" y selecciona "WebP".
Si tu versión no lo tiene, puedes instalar un módulo gratuito de conversión a WebP.
### Activar la compresión en cPanel
Puedes forzar la compresión de imágenes desde el propio cPanel usando el módulo "Optimizar el sitio web" (Optimize Website), que suele venir con la herramienta "Jetpack" o similar.
- En tu cPanel, busca la sección "Dominios" o "Optimizar el sitio web".
- Selecciona tu dominio y activa la compresión "Compress all content" o "Compress all images".
[INFO] Si tu hosting usa Syspanel (el antiguo HestiaCP), el acceso se realiza a través del puerto 2106 (ejemplo:
https://tu-dominio.com:2106). Una vez dentro, busca la sección de "Optimización" o "Caché" en el menú lateral para activar la compresión de imágenes a nivel de servidor.
Activar el Caché del Navegador (Leverage Browser Caching)
Cuando un usuario visita tu tienda por primera vez, su navegador descarga todos los archivos. Si no le dices que los guarde en su caché local, la segunda visita será tan lenta como la primera. Al activar el caché del navegador, le indicas que guarde las imágenes, CSS y JS durante un tiempo determinado.
### Configurar el archivo .htaccess
Este es el archivo de configuración más importante en Apache (el servidor más usado en cPanel). Para editarlo:
- Ve a Administrador de archivos en cPanel.
- Navega hasta la carpeta
public_html(o la carpeta raíz de tu tienda). - Busca el archivo
.htaccess. Si no lo ves, activa la opción "Mostrar archivos ocultos" en la esquina superior derecha. - Haz clic derecho sobre el archivo y selecciona "Editar".
- Al final del archivo, pega el siguiente código:
<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 text/javascript "access plus 1 month"
</IfModule>
- Guarda los cambios.
[WARNING] Antes de editar el
.htaccess, descarga una copia del archivo original a tu ordenador. Un error de sintaxis puede hacer que tu web muestre un error 500. Si eso ocurre, sube la copia de vuelta y listo.
### Usar el caché de LiteSpeed si está disponible
Si tu hosting usa LiteSpeed, no necesitas editar el .htaccess manualmente. Puedes instalar el módulo LiteSpeed Cache for PrestaShop desde el back-office. Este módulo gestiona automáticamente el caché del navegador, el caché de página y la optimización de imágenes, todo desde un solo panel.
Optimizar la Base de Datos: Limpieza profunda
PrestaShop guarda mucha información temporal en su base de datos. Con el tiempo, se acumulan registros de sesiones antiguas, carritos abandonados y tablas fragmentadas. Esto ralentiza las consultas y, por tanto, tu tienda.
### Limpiar con el módulo nativo
PrestaShop tiene una herramienta básica de limpieza:
- Ve a Parámetros Avanzados > Base de datos.
- Verás una lista de tablas con su tamaño.
- Selecciona las tablas que empiezan por
ps_y tienen nombres comops_connections,ps_connections_page,ps_guest,ps_sessions,ps_cart. - Haz clic en "Optimizar" o "Vaciar" para las tablas de sesiones y conexiones.
### Usar phpMyAdmin para una limpieza más profunda
Para una limpieza más exhaustiva, usa phpMyAdmin desde cPanel:
- En cPanel, busca el icono de phpMyAdmin.
- Selecciona la base de datos de tu tienda en el menú izquierdo.
- Haz clic en la pestaña "SQL" en la parte superior.
- Ejecuta la siguiente consulta para eliminar carritos abandonados de más de 30 días:
DELETE FROM ps_cart WHERE date_add < DATE_SUB(NOW(), INTERVAL 30 DAY);
- Después, ejecuta esta otra para limpiar sesiones antiguas:
DELETE FROM ps_connections WHERE date_add < DATE_SUB(NOW(), INTERVAL 30 DAY);
DELETE FROM ps_connections_page WHERE time_start < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 DAY));
[INFO] No ejecutes consultas de eliminación si no estás seguro de lo que haces. Si tienes dudas, contacta con el soporte de tu hosting o con un desarrollador. Una mala consulta puede borrar datos importantes.
Configurar el Servidor: PHP y MySQL
El rendimiento de tu PrestaShop también depende de la configuración del servidor. En cPanel, tienes control sobre la versión de PHP y los límites de memoria.
### Seleccionar la versión de PHP adecuada
PrestaShop 1.7 y 1.8 funcionan mejor con PHP 7.4, 8.0 o 8.1. Usar una versión desactualizada como PHP 5.6 es un lastre para la velocidad.
- En cPanel, busca la herramienta "Select PHP Version" (o "MultiPHP Manager").
- Selecciona tu dominio y elige la versión más reciente y estable (por ejemplo, PHP 8.0).
- Haz clic en "Set as current".
### Aumentar el límite de memoria
PrestaShop necesita al menos 256 MB de memoria PHP para funcionar sin errores. Para aumentarlo:
- En la misma herramienta "Select PHP Version", haz clic en la pestaña "Options" o "Switch to PHP Options".
- Busca la variable
memory_limit. - Cámbiala a 512M (o al menos 256M).
- Guarda los cambios.
También puedes aumentar el límite desde el .htaccess añadiendo esta línea al principio:
php_value memory_limit 512M
### Configurar MySQL
Asegúrate de que tu base de datos esté usando el motor InnoDB en lugar de MyISAM. InnoDB es más rápido y fiable para transacciones.
- Ve a phpMyAdmin.
- Haz clic en tu base de datos.
- En la pestaña "Buscar" o "SQL", ejecuta:
ALTER TABLE ps_orders ENGINE=InnoDB;
ALTER TABLE ps_order_detail ENGINE=InnoDB;
ALTER TABLE ps_customer ENGINE=InnoDB;
ALTER TABLE ps_product ENGINE=InnoDB;
Desactivar Módulos Innecesarios y Optimizar el Tema
A veces, la lentitud viene de un exceso de módulos que se cargan en todas las páginas, incluso si no se usan.
### Auditar tus módulos
- Ve a Módulos > Módulos y servicios.
- Haz clic en la pestaña "Instalados".
- Revisa la lista y desactiva aquellos que no estés usando activamente en tu tienda.
- Presta especial atención a los módulos de "Búsqueda", "Social" o "Newsletter" que a veces se quedan activos por defecto.
[TIP] Un truco para saber qué módulo te está ralentizando la web es activar el modo "Depuración" en PrestaShop. Ve a Parámetros Avanzados > Información y activa el "Modo de depuración". Recarga tu web y verás el tiempo de ejecución de cada módulo en la parte inferior. Desactiva el que más tiempo consuma.
### Usar un tema optimizado
Si tu tema es muy pesado, con muchos efectos JavaScript y animaciones, la velocidad se resentirá. Considera usar un tema ligero como "Classic" (el tema por defecto) o un tema premium optimizado para velocidad. A veces, menos es más.
Configurar el Caché de Servidor: LiteSpeed vs Apache
Si tienes acceso a cPanel, es probable que tu hosting ofrezca LiteSpeed como servidor web. Si es así, tienes una ventaja enorme.
### Activar LiteSpeed Cache
- Ve a tu cPanel y busca la sección "LiteSpeed Web Cache Manager".
- Activa el "Cache" para tu dominio.
- Instala el módulo "LiteSpeed Cache for PrestaShop" desde el back-office de tu tienda.
- Configúralo siguiendo las instrucciones del módulo. Normalmente, basta con activar el "Caché de página" y el "Caché de objetos".
[WARNING] Si usas Syspanel (el antiguo HestiaCP) en lugar de cPanel, el proceso es diferente. Accede a tu panel de control a través del puerto 2106 y busca la sección de "Servidor Web" o "Caché" para activar las opciones de caché. No todas las configuraciones de cPanel se aplican a Syspanel, pero las opciones de caché de PrestaShop sí son universales.
Preguntas Frecuentes (FAQ) sobre la velocidad de PrestaShop
Aquí tienes las respuestas a las dudas más comunes que nos llegan al soporte.
### ¿Cuál es la mejor opción de caché en PrestaShop?
La mejor opción es Memcached si tu hosting lo tiene disponible. Si no, la "Caché de archivos" es la más fiable y fácil de configurar. Si usas LiteSpeed, el módulo LiteSpeed Cache es la opción ganadora.
### ¿Es seguro editar el archivo .htaccess?
Sí, es seguro si haces una copia de seguridad antes de editarlo. Un error de sintaxis puede causar un error
