Cómo acelerar PrestaShop en Plesk (caché y rendimiento)
¡Hola! Si estás leyendo esto, seguramente tienes una tienda online hecha con PrestaShop y sientes que va lenta. No te preocupes, es uno de los problemas más comunes, y la buena noticia es que tiene solución.
En esta guía completa y paso a paso, vamos a desgranar cómo acelerar PrestaShop en Plesk, centrándonos en la configuración de caché y otros ajustes de rendimiento que marcarán la diferencia. No necesitas ser un experto en informática, solo seguir las instrucciones con calma. Al final, tu tienda volará y tus clientes te lo agradecerán.
Vamos a ello.
Entendiendo por qué tu PrestaShop va lento
Antes de lanzarnos a tocar botones, es importante entender qué está pasando. Imagina que tu tienda es un restaurante. El "cocinero" (el servidor) tiene que preparar cada plato (página web) desde cero cada vez que un cliente lo pide. Eso lleva tiempo y recursos.
PrestaShop es un software muy completo, pero por defecto genera las páginas dinámicamente en cada visita. Esto significa que cada vez que un usuario entra a tu web, el servidor consulta la base de datos, ejecuta los módulos, genera el HTML y luego lo envía al navegador. Es un proceso costoso.
Aquí es donde entra la caché. La caché es como tener platos ya preparados en la vitrina. En lugar de cocinar desde cero, el servidor guarda una copia de la página ya terminada y la sirve directamente. El resultado es una velocidad PrestaShop mucho mayor y una carga de trabajo reducida para el servidor.
Preparación: Activa el modo desarrollador y los logs
Este es un primer paso fundamental que muchos pasan por alto. Antes de hacer cualquier cambio, vamos a decirle a PrestaShop que nos muestre los errores en lugar de esconderlos. Esto nos ayudará a diagnosticar problemas si algo sale mal.
- Accede a tu panel de control de Plesk.
- Ve a Archivos o Administrador de archivos y navega hasta la carpeta raíz donde está instalada tu tienda (normalmente
httpdocsopublic_html). - Busca el archivo llamado
config/defines.inc.php. - Ábrelo con el editor de texto de Plesk.
- Busca la línea que dice
define('_PS_MODE_DEV_', false);. - Cambia
falseportruey guarda el archivo. IMPORTANTE: Recuerda cambiar esto de vuelta afalsecuando termines de configurar todo, por seguridad.
Ahora, si hay algún error, lo verás en pantalla. Para ver los logs, en el mismo archivo, busca define('_PS_LOGS_', false); y cámbialo a true. Esto activará el registro de errores.
Optimizar PrestaShop: La Configuración de Caché en el Back Office
Esta es la parte más importante. Vamos a activar las opciones de caché que incluye PrestaShop de serie. Es el primer gran paso para acelerar PrestaShop.
### Paso 1: Activar la Caché de Rendimiento
- Entra en el panel de administración de tu tienda (tu Back Office).
- Ve al menú Parámetros avanzados -> Rendimiento.
- En la sección Caché, encontrarás la opción "Usar caché". Actívala (ponla en Sí).
- Justo debajo, elige el "Combinar, comprimir y cachear". Te recomiendo que elijas "Combinar, comprimir y cachear" para que tanto el CSS como el JavaScript se fusionen en archivos más pequeños.
### Paso 2: Configurar la Caché de Combinación
En la misma página de Rendimiento, baja hasta la sección "Combinar, comprimir y cachear (CCC)". Esta es una mina de oro para la optimización PrestaShop.
- Caché de hojas de estilos (CSS): Actívala. Esto unificará todos tus archivos CSS en uno solo, reduciendo las peticiones al servidor.
- Caché de JavaScript (JS): Actívala. Igual que el CSS, unificará los archivos JS.
- Mover JS al final: Actívalo. Esto hace que el contenido visible de tu web cargue primero, y los scripts que no son esenciales carguen después. Mejora mucho la percepción de velocidad.
- Apache optimización: Si tu hosting usa Apache (lo más común en Plesk), actívala. Esto optimiza las cabeceras de los archivos.
[TIP] Después de activar la caché, si ves que tu web se ve rara o rota, es muy probable que sea un conflicto de caché. Ve a Parámetros avanzados -> Rendimiento y haz clic en el botón "Vaciar la caché" en la parte superior. Esto forzará a PrestaShop a regenerar los archivos combinados.
Ajustes de PHP para un Mayor Rendimiento
PrestaShop está hecho en PHP, y la configuración de PHP en Plesk puede marcar la diferencia entre una tienda lenta y una rápida. Vamos a ajustar algunos parámetros clave.
### Ajustar el Límite de Memoria (Memory Limit)
PrestaShop es un "glotón" de memoria, especialmente si tienes muchos módulos. Si el límite es bajo, la tienda se ralentizará o dará errores.
- En Plesk, ve a Configuración de PHP (a menudo dentro de la sección de tu dominio).
- Busca la opción
memory_limit. - Cambia el valor a
512M(512 Megabytes). Si tu plan de hosting lo permite, incluso puedes poner1024M(1 Gigabyte).
### Activar el Acelerador de PHP (OPcache)
OPcache es una caché para el código PHP. En lugar de interpretar el código cada vez, lo guarda en memoria. Esencial para acelerar PrestaShop.
- En la misma Configuración de PHP, busca la sección de OPcache.
- Asegúrate de que esté Habilitado.
- Ajusta la
opcache.memory_consumptiona256y laopcache.max_accelerated_filesa20000o más.
[INFO] No todos los servidores tienen OPcache activado por defecto. Si no lo ves en la lista, puede que necesites activarlo desde el panel de Plesk o contactar con tu proveedor de hosting.
Optimización de la Base de Datos: El Corazón de tu Tienda
La base de datos es donde se guarda todo: productos, clientes, pedidos. Si está desordenada, todo va más lento. La velocidad PrestaShop depende mucho de esto.
### Usar el Mantenimiento de Base de Datos de PrestaShop
PrestaShop tiene una herramienta integrada que, aunque no es perfecta, puede ayudar.
- Ve a Parámetros avanzados -> Base de datos en tu Back Office.
- Verás una lista de tablas. Selecciona todas y en el menú desplegable elige "Optimizar". Esto ejecutará comandos básicos de limpieza.
### Limpieza Manual con phpMyAdmin (Más Efectivo)
Para una limpieza más profunda, usaremos phpMyAdmin, que está disponible en Plesk.
- En Plesk, busca la base de datos de tu tienda y haz clic en phpMyAdmin.
- Haz clic en tu base de datos para seleccionarla.
- Ve a la pestaña SQL y ejecuta el siguiente comando. CUIDADO: Haz una copia de seguridad antes.
OPTIMIZE TABLE `ps_connections`, `ps_connections_page`, `ps_connections_source`, `ps_guest`, `ps_sekeyword`, `ps_smarty_cache`;
[WARNING] Este comando borra temporalmente datos de sesiones antiguas y estadísticas. Es seguro y muy recomendable para liberar espacio y acelerar la base de datos. No borra pedidos ni clientes.
Aprovecha la Caché del Navegador y el Servidor
La caché no solo está dentro de PrestaShop. Podemos configurar el servidor para que le diga al navegador del cliente que guarde ciertos archivos (imágenes, CSS, JS) durante un tiempo. Así, cuando el cliente vuelva a visitar tu tienda, no tendrá que descargarlos de nuevo.
### Configurar Cabeceras de Caché en Plesk
Plesk nos permite modificar un archivo llamado .htaccess (si usas Apache) para añadir estas reglas. No te asustes, es más fácil de lo que parece.
- En el administrador de archivos de Plesk, muestra los archivos ocultos (suele haber un botón para ello).
- Busca el archivo
.htaccessen la raíz de tu instalación de PrestaShop. - Ábrelo con el editor y añade este 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 text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/javascript "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>
- Guarda el archivo.
[TIP] Este código le dice al navegador que las imágenes se pueden guardar durante un año y los archivos de código (CSS/JS) durante un mes. Esto reduce drásticamente el tiempo de carga en visitas repetidas.
Desactivar Módulos y Temas que no usas
Es muy común instalar módulos para probarlos y olvidarse de ellos. Cada módulo activo consume recursos. Para optimizar PrestaShop, menos es más.
- Ve a Módulos -> Módulos y servicios en tu Back Office.
- Revisa la lista y desinstala todo lo que no uses activamente. Si no estás seguro, puedes desactivarlos primero (no desinstalarlos) y ver si tu tienda sigue funcionando correctamente.
- Haz lo mismo con los temas: ve a Diseño -> Tema y logotipo. Si tienes varios temas instalados, elimina los que no uses.
Activar el Modo Mantenimiento para Pruebas (Opcional)
Cuando estés haciendo estos cambios, es buena idea poner tu tienda en modo mantenimiento para que los clientes no vean errores temporales.
- Ve a Parámetros avanzados -> Mantenimiento.
- Activa el modo mantenimiento y guarda.
- Cuando termines de hacer todos los cambios, desactívalo.
Preguntas Frecuentes (FAQ)
¿Cuál es la mejor configuración de caché en PrestaShop?
La mejor configuración es activar la Caché de rendimiento (usar caché) y el Combinar, comprimir y cachear (CCC) para CSS y JS. Además, asegúrate de que OPcache esté activado en PHP.
¿Por qué mi PrestaShop sigue lento después de activar la caché?
Puede ser por varias razones: tu servidor puede ser lento, tienes demasiados módulos activos, tu base de datos está muy llena, o necesitas un sistema de caché más avanzado como Memcached o Redis. También puede ser que tu tema no esté bien optimizado.
¿Es seguro optimizar la base de datos manualmente con SQL?
Sí, pero siempre con una copia de seguridad previa. Los comandos que te he mostrado son seguros y estándar. Evita borrar tablas completas a menos que sepas exactamente lo que estás haciendo.
¿Qué es OPcache y por qué es importante?
OPcache es una extensión de PHP que almacena el código PHP compilado en la memoria. Esto evita que el servidor tenga que "leer e interpretar" el código cada vez que un usuario visita una página. Es crucial para la velocidad PrestaShop.
¿Merece la pena usar un módulo de caché de terceros?
Sí, muchos módulos de pago como NitroPack o LiteSpeed Cache (si tu servidor usa LiteSpeed) ofrecen funcionalidades más avanzadas, como caché de páginas completas y optimización de imágenes. Si tu tienda tiene mucho tráfico, son una excelente inversión.
Conclusión y Próximos Pasos
Hemos recorrido los pasos más importantes para acelerar PrestaShop en Plesk. Recuerda que la optimización PrestaShop es un proceso continuo, no un evento único.
Resumen de lo que has aprendido:
- Activar el modo desarrollador para ver errores.
- Configurar la caché nativa de PrestaShop (Rendimiento y CCC).
- Ajustar la memoria PHP y activar OPcache.
- Optimizar la base de datos con phpMyAdmin.
- Configurar las cabeceras de caché del navegador en
.htaccess. - Desactivar módulos y temas innecesarios.
Te recomiendo que hagas estos cambios de uno en uno y vayas comprobando la velocidad de tu tienda después de cada paso. Puedes usar herramientas gratuitas como GTmetrix o PageSpeed Insights de Google para medir el rendimiento antes y después.
Si después de esto tu tienda sigue lenta, puede que sea el momento de considerar mejorar tu plan de hosting. No es lo mismo un hosting compartido básico que un servidor VPS o dedicado.
[WARNING] Si en algún momento del proceso tu tienda se queda en blanco o da un error, no te asustes. Accede a tu panel de Plesk, ve al administrador de archivos y revierte el último cambio que hiciste. Si el problema persiste, contacta con tu proveedor de hosting, ellos podrán ayudarte a restaurar una copia de seguridad.
Espero que esta guía te haya sido de gran ayuda. Con paciencia y estos ajustes, tu tienda PrestaShop será mucho más rápida y ofrecerá una mejor experiencia a tus clientes. ¡Mucha suerte con tu negocio!
