Cómo optimizar la velocidad de un sitio PrestaShop en Plesk
¿Por qué tu tienda PrestaShop va lenta y cómo afecta a tus ventas?
Si tienes una tienda online hecha con PrestaShop, sabrás que la velocidad es un factor crítico. Un estudio de Google indica que el 53% de los usuarios abandonan un sitio que tarda más de 3 segundos en cargar. En el mundo del ecommerce, cada segundo cuenta: un retraso de un segundo puede reducir las conversiones hasta en un 7%.
Cuando tu tienda está alojada en un servidor con panel Plesk, tienes un gran potencial de optimización a tu alcance, pero también varios puntos que pueden estar frenando el rendimiento. Este artículo te guiará paso a paso, sin tecnicismos innecesarios, para que aprendas a optimizar PrestaShop en tu servidor Plesk y consigas una tienda rápida, fluida y que convierta mejor.
No necesitas ser un experto en Linux ni en administración de sistemas. Solo sigue estas instrucciones y verás una mejora notable en la velocidad de carga.
Diagnóstico inicial: ¿Cuál es tu punto de partida?
Antes de tocar nada, necesitas saber dónde estás parado. No se puede mejorar lo que no se mide.
Herramientas para medir la velocidad
Existen varias herramientas gratuitas que te darán una puntuación clara sobre el rendimiento de tu tienda. Te recomiendo usar al menos dos:
- GTmetrix: Te da un desglose detallado del tiempo de carga, el tamaño de la página y una calificación de A a F.
- Google PageSpeed Insights: La herramienta de Google. Muy útil porque te muestra problemas específicos de tu web, tanto en móvil como en escritorio.
- Pingdom Tools: Otra opción clásica para medir el tiempo de respuesta desde diferentes partes del mundo.
Cómo usarlas: Simplemente copia la URL de tu tienda, pégala en la herramienta y ejecuta la prueba. Anota el tiempo total de carga, el tamaño de la página y el número de peticiones (requests). Este será tu punto de referencia. Después de cada cambio que hagas, vuelve a medir para ver si mejoraste.
El problema más común: el alojamiento compartido
Si tu tienda está en un plan de hosting compartido, es muy probable que el servidor tenga limitaciones de recursos. En un entorno compartido, tu sitio comparte CPU, memoria RAM y disco con otros cientos de sitios web. Si un vecino tiene un pico de tráfico, tu tienda se resentirá.
[WARNING]: Si tienes un plan de hosting compartido muy básico y tu tienda ya tiene un tráfico considerable, ninguna optimización de software te dará resultados espectaculares. Considera migrar a un servidor VPS o dedicado, o al menos a un plan de hosting optimizado para PrestaShop.
Optimización a nivel de servidor en Plesk
Plesk es tu panel de control. Aquí puedes gestionar casi todos los aspectos de tu servidor y tu sitio web. Vamos a empezar por la base: el servidor.
1. Activa la compresión Gzip o Brotli
La compresión reduce el tamaño de los archivos que se envían desde el servidor al navegador del usuario. Es como enviar un archivo ZIP y que el navegador lo descomprima al recibirlo. Esto puede reducir el peso de tu página hasta en un 70%.
Cómo activarlo en Plesk:
- Ve a Herramientas y configuración (o Tools & Settings).
- Busca la sección Servidor web y haz clic en Configuración de Apache y nginx.
- En la pestaña nginx, asegúrate de que la casilla Activar proxy esté marcada.
- En el bloque Configuración adicional de nginx, añade las siguientes líneas:
gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_comp_level 5;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon;
- Haz clic en Aplicar.
[INFO]: La compresión Brotli es aún más eficiente que Gzip, pero no todos los navegadores la soportan. Esta configuración con Gzip es la más universal y segura.
2. Aprovecha el poder de nginx como proxy inverso
Plesk integra nginx como proxy inverso. Esto significa que nginx se encarga de servir los archivos estáticos (imágenes, CSS, JavaScript) de forma mucho más eficiente que Apache, liberando recursos para que Apache procese las peticiones dinámicas de PrestaShop.
Configuración recomendada:
En la misma pantalla de Configuración de Apache y nginx, ve a la pestaña nginx y marca estas opciones:
- Activar proxy: Sí.
- Activar caché de proxy: Sí (esto es clave).
- Tiempo de caché para archivos estáticos: 5 minutos (o más, como 1 hora).
- Tamaño máximo de caché: 128 MB (puedes aumentarlo si tu servidor tiene RAM de sobra).
Esto hará que las imágenes y archivos estáticos se sirvan directamente desde la caché de nginx, sin tocar Apache, acelerando enormemente la carga.
3. Configura PHP-FPM correctamente
PrestaShop está escrito en PHP, y la forma en que se ejecuta PHP en tu servidor es crucial.
Cómo configurarlo en Plesk:
-
Ve a tu dominio en Plesk y haz clic en Configuración de PHP.
-
Asegúrate de que el modo de ejecución esté en php-fpm (esto es lo más recomendable).
-
En Opciones de rendimiento, establece los siguientes valores (pueden variar según la memoria de tu servidor):
- Max execution time: 60 (para que no se corten procesos largos).
- Max memory limit: 256M (o 512M si tu tienda es grande).
- Max input time: 60.
-
Si tienes acceso a la configuración de Pool Settings (en el archivo
php.inio en la configuración de FPM), ajusta los valores depm.max_children,pm.start_servers, etc. Un buen punto de partida es:pm.max_children = 10pm.start_servers = 4pm.min_spare_servers = 2pm.max_spare_servers = 6
[TIP]: Si no sabes qué valores usar, puedes usar la herramienta online PHP-FPM Tuning para calcular la configuración ideal según la memoria de tu servidor.
Optimización a nivel de aplicación (PrestaShop)
Ahora que el servidor está afinado, es momento de optimizar la propia tienda.
4. Activa la caché de PrestaShop
PrestaShop tiene su propio sistema de caché. Esta es una de las primeras cosas que debes activar.
Cómo hacerlo:
- Ve a tu panel de administración de PrestaShop (TuDominio.com/admin).
- Ve a Parámetros avanzados > Rendimiento.
- En Caché, selecciona Usar caché de archivos.
- En Combinar archivos JavaScript y Combinar archivos CSS, selecciona Sí.
- En Caché de plantillas, selecciona Recompilar las plantillas si hay archivos modificados (en producción, es mejor Forzar compilación y luego cambiarlo a Nunca recompilar las plantillas para máxima velocidad).
5. Activa la Caché de Combos (CCC)
La opción de Combinar, Comprimir y Cachear (CCC) es una herramienta muy potente de PrestaShop.
Qué hace: Combina todos los archivos CSS en uno solo y todos los JavaScript en uno solo, reduciendo el número de peticiones al servidor. Además, los comprime y los cachea en el navegador del usuario.
Cómo activarlo: En la misma página de Rendimiento, en la sección Caché de Combos (CCC), activa las siguientes opciones:
- Minimizar los archivos CSS: Sí.
- Minimizar los archivos JavaScript: Sí.
- Minimizar el HTML: Sí.
- Combinar los archivos CSS: Sí.
- Combinar los archivos JavaScript: Sí.
- Compresión de archivos: No (si ya usas Gzip a nivel de servidor).
[WARNING]: Después de activar la CCC, revisa tu tienda a fondo. A veces, la combinación de archivos puede romper algún diseño o funcionalidad. Si algo se ve mal, desactiva la opción que creas que lo causa.
6. Instala un módulo de caché de alto rendimiento
La caché nativa de PrestaShop está bien, pero no es la más rápida. Para un rendimiento óptimo, necesitas un módulo de caché más potente.
Opciones recomendadas:
- Cache Redies: Almacena la caché en memoria RAM, lo que es mucho más rápido que usar archivos. Requiere que tengas el servicio Redis instalado en tu servidor Plesk.
- Memcached: Similar a Redis, también usa memoria RAM.
Cómo instalar Redis en Plesk:
- Conéctate a tu servidor por SSH (si tienes acceso root).
- Ejecuta el comando (para CentOS/RHEL):
sudo yum install redis - Inicia el servicio:
sudo systemctl start redis - Actívalo para que arranque con el sistema:
sudo systemctl enable redis
Luego, en PrestaShop, instala un módulo como PrestaShop Cache o Cached y configúralo para que use Redis.
7. Optimiza las imágenes de tu tienda
Las imágenes son, probablemente, lo que más pesa en una tienda online. Una imagen de producto de 2 MB puede ralentizar muchísimo la carga.
Cómo optimizarlas:
- Usa el formato WebP: Es un formato moderno que ofrece una calidad similar a JPG pero con un peso mucho menor. Puedes usar un módulo de PrestaShop para convertir automáticamente tus imágenes a WebP.
- Comprime tus imágenes: Antes de subirlas, pásalas por herramientas como TinyPNG o Compressor.io.
- Redimensiona las imágenes: No subas una imagen de 4000x4000 píxeles si tu tienda solo la muestra a 800x800. Redimensiona a la medida exacta que necesitas.
[TIP]: En Plesk, puedes activar la opción de WebP en la configuración de nginx, pero es más fiable usar un módulo de PrestaShop para esto.
8. Utiliza una Red de Distribución de Contenido (CDN)
Una CDN almacena una copia de tu sitio web (especialmente los archivos estáticos) en servidores alrededor del mundo. Cuando un usuario visita tu tienda, la CDN le sirve los archivos desde el servidor más cercano, reduciendo la latencia.
Cómo configurarla:
- Cloudflare: Es la opción más popular y tiene un plan gratuito muy bueno.
- Otros proveedores: StackPath, KeyCDN, etc.
Pasos generales con Cloudflare:
- Crea una cuenta gratuita en Cloudflare.
- Añade tu dominio y sigue las instrucciones para cambiar los servidores DNS de tu dominio a los de Cloudflare.
- Una vez activado, ve a la configuración de Caching y asegúrate de que está en modo Estándar.
- Activa la opción Auto Minify para CSS y JavaScript.
[INFO]: Si usas Cloudflare, asegúrate de que tu configuración de SSL esté correcta para evitar bucles de redirección.
Preguntas Frecuentes (FAQ)
¿Qué es mejor para la caché, Redis o Memcached?
Ambos son excelentes. Redis es más popular y tiene más funciones, pero Memcached es más simple y ligero. Para PrestaShop, Redis suele ser la elección más recomendada por su velocidad y versatilidad.
¿Debo activar la caché de nginx y la de PrestaShop al mismo tiempo?
Sí, no son excluyentes. La caché de nginx se encarga de los archivos estáticos (imágenes, CSS, JS), mientras que la caché de PrestaShop se encarga de las páginas HTML dinámicas. Usar ambas te dará el mejor rendimiento.
¿Cómo sé si mi servidor tiene suficiente RAM?
Puedes verificar el uso de memoria en Plesk. Ve a Herramientas y configuración > Monitor de recursos. Si ves que el uso de memoria está constantemente por encima del 80%, es una señal de que necesitas más RAM o que debes ajustar la configuración de PHP-FPM.
¿Qué pasa si mi tienda sigue lenta después de hacer todo esto?
Si has seguido todos los pasos y la tienda sigue lenta, el problema puede estar en el propio código de tu tema o módulos, o en que tu plan de hosting es insuficiente. Te recomiendo:
- Desactiva los módulos que no uses: Los módulos innecesarios consumen recursos.
- Revisa el tema: Algunos temas están mal codificados. Prueba con un tema ligero como el tema oficial de PrestaShop.
- Contacta con tu proveedor de hosting: Pregunta si hay alguna limitación en tu plan o si pueden ofrecerte más recursos.
¿Es importante usar la última versión de PrestaShop?
Sí, es fundamental. Cada versión nueva incluye mejoras de rendimiento y seguridad. Mantén tu PrestaShop, tus módulos y tu tema siempre actualizados.
Conclusión: La velocidad es un proceso continuo
Optimizar PrestaShop en Plesk no es una tarea que se hace una vez y ya. Es un proceso continuo. A medida que tu tienda crezca, necesitarás ajustar la configuración. Te recomiendo que revises la velocidad de tu tienda al menos una vez al mes y que estés atento a las nuevas tecnologías y mejores prácticas.
Recuerda que la velocidad no solo afecta a la experiencia del usuario, sino también a tu posicionamiento en Google. Una tienda rápida es una tienda que vende más.
[TIP]: No te obsesiones con conseguir una puntuación de 100 en PageSpeed Insights. Es casi imposible. Céntrate en reducir el tiempo de carga real y en mejorar la experiencia del usuario.
Si tienes alguna duda sobre la administración de tu servidor, y usas un panel como Syspanel (accesible en el puerto 2106), recuerda que la configuración de PHP y nginx suele estar en secciones similares a las de Plesk. El principio es el mismo: comprimir, cachear y reducir peticiones.
Espero que esta guía te haya sido de gran ayuda. ¡Manos a la obra y a acelerar esa tienda!
