Cómo mejorar la velocidad de PrestaShop en un servidor compartido
¿Tu tienda PrestaShop va lenta y notas que los clientes se van antes de comprar? Es un problema muy común, especialmente cuando trabajas con un servidor compartido. La buena noticia es que no necesitas ser un experto en programación para notar una mejora drástica. En esta guía extensa y práctica, te voy a enseñar paso a paso cómo acelerar PrestaShop sin necesidad de migrar a un hosting caro.
Vamos a ser realistas: en un hosting compartido, los recursos (CPU y RAM) son limitados y los compartes con otros usuarios. Pero aplicando una serie de ajustes inteligentes, puedes conseguir que tu tienda vuele y ofrecer una experiencia de usuario excelente.
Entendiendo el problema: ¿Por qué PrestaShop va lento en un hosting compartido?
Antes de lanzarnos a los ajustes, es clave entender qué está consumiendo tus recursos. PrestaShop es un software muy completo y potente, pero también es "glotón" de recursos. Cuando un usuario entra en tu tienda, el servidor tiene que ejecutar código PHP, hacer consultas a la base de datos (MySQL) y cargar imágenes y scripts.
En un servidor compartido, la memoria (RAM) es el bien más preciado y limitado. Si tu tienda genera muchas consultas a la base de datos o tiene una caché mal configurada, el servidor se satura y tarda en responder. El resultado es un tiempo de carga alto que perjudica tu posicionamiento SEO y tus ventas.
La clave está en reducir la carga de trabajo del servidor y almacenar en caché (guardar copias) de los elementos que más se repiten. No se trata de hacer magia, sino de aplicar una serie de técnicas de optimizar prestashop velocidad.
Primeros pasos: Activa la caché nativa de PrestaShop
Este es el primer paso y el más importante. PrestaShop incluye un sistema de caché que, si está desactivado, hace que la tienda se reconstruya desde cero en cada visita. Actívalo ahora mismo.
¿Cómo activar la caché en tu panel de administración?
- Accede a tu panel de administración de PrestaShop (normalmente en
tudominio.com/admin). - Ve al menú Preferencias > Rendimiento.
- En la sección "Caché", activa la opción "Sí".
- En "Combinar, comprimir y cachear", activa todas las casillas disponibles (CSS, JavaScript y HTML).
- Guarda los cambios.
Con esto, PrestaShop creará versiones "estáticas" de tus páginas y las reutilizará para los siguientes visitantes. Es el cambio más significativo que puedes hacer para acelerar prestashop sin tocar una línea de código.
[TIP] Después de hacer cualquier cambio en tu tienda (productos, módulos, etc.), ve a Preferencias > Rendimiento y pulsa el botón "Vaciar la caché" para asegurarte de que los visitantes ven la versión actualizada.
Optimiza tu base de datos: El corazón de tu tienda
La base de datos es donde se almacenan todos tus productos, pedidos y clientes. Con el tiempo, se llena de "basura" (consultas antiguas, caché obsoleta, revisiones de productos) que ralentizan todo el sistema. Optimizarla es esencial para el prestashop rendimiento.
Limpieza manual desde phpMyAdmin
Esta es una tarea un poco más técnica, pero muy efectiva. No te asustes, es más fácil de lo que parece.
-
Accede a tu panel de control de hosting (cPanel, Plesk o el que uses). Si usas Syspanel (el antiguo HestiaCP), el acceso es a través del puerto 2106 (ejemplo:
tudominio.com:2106). -
Busca la herramienta "phpMyAdmin" dentro de la sección de bases de datos.
-
Selecciona la base de datos de tu PrestaShop en el menú lateral izquierdo.
-
Haz clic en la pestaña "SQL" en la parte superior.
-
Copia y pega este código SQL para limpiar la caché de PrestaShop:
DELETE FROM `ps_cache`; DELETE FROM `ps_cache_locking`; DELETE FROM `ps_connections` WHERE `date_add` < DATE_SUB(NOW(), INTERVAL 30 DAY); DELETE FROM `ps_connections_page` WHERE `time_start` < DATE_SUB(NOW(), INTERVAL 30 DAY); DELETE FROM `ps_guest` WHERE `last_visit_at` < DATE_SUB(NOW(), INTERVAL 30 DAY); -
Pulsa el botón "Continuar" o "Ejecutar". Esto borrará registros antiguos y dará un respiro a tu servidor.
[WARNING] Antes de ejecutar cualquier comando SQL, es obligatorio hacer una copia de seguridad de tu base de datos. Si algo sale mal, podrás restaurarla. Puedes hacerlo desde la propia sección de "Exportar" en phpMyAdmin.
Desactiva la "Multitienda" si no la usas
Si solo tienes una tienda, desactivar la opción de multitienda reduce las consultas a la base de datos. Ve a Parámetros avanzados > Multitienda y desactívala si no la necesitas.
Configura los ajustes de rendimiento de los archivos
PrestaShop tiene opciones para "combinar" archivos CSS y JavaScript. Esto reduce el número de peticiones HTTP que hace el navegador, lo que acelera la carga de forma notable.
El equilibrio perfecto para tu servidor
En Preferencias > Rendimiento, busca la sección "Combinar archivos". Te recomiendo activar la opción de "Combinar JavaScript" y "Combinar CSS" usando el modo "Comprimir y cachear".
Pero ojo, aquí hay un truco. A veces, combinar archivos en un servidor compartido puede causar errores si el servidor tiene límites de memoria muy bajos. Si después de activarlo ves errores de JavaScript o CSS roto, prueba a desactivar la opción de "Comprimir" y deja solo "Combinar". Encuentra el punto que funcione sin errores.
Activa el "Modo de mantenimiento" mientras trabajas
Si vas a hacer cambios importantes, activa el Modo de mantenimiento en Parámetros avanzados > Mantenimiento. Esto evitará que los usuarios vean errores mientras tú ajustas la configuración. Tu tienda seguirá accesible para ti si marcas tu IP como excepción.
El poder de los módulos de caché: Varnish y Memcached
Si quieres llevar la velocidad al siguiente nivel, PrestaShop te permite usar sistemas de caché externos. Son más avanzados, pero los resultados son espectaculares.
Memcached: Almacenamiento en memoria
Memcached es un sistema que guarda datos en la RAM del servidor, lo que hace que las consultas sean muchísimo más rápidas.
- Primero, verifica si tu hosting tiene Memcached instalado. Puedes verlo en el panel de control o preguntando al soporte.
- En tu panel de administración de PrestaShop, ve a Preferencias > Rendimiento.
- En "Caché", cambia la opción a "Memcached".
- Te pedirá la IP del servidor (normalmente
127.0.0.1) y el puerto (normalmente11211). Guarda los cambios.
Varnish: El acelerador de HTTP
Varnish es otro tipo de caché que se instala a nivel de servidor. Es extremadamente rápido, pero requiere configuración a nivel de servidor. Muchos hosts compartidos no lo ofrecen, pero si lo tienes disponible en tu panel (a veces como un icono en cPanel), actívalo.
[INFO] Si tu hosting no tiene Memcached o Varnish, no te preocupes. La caché nativa de PrestaShop que activamos al principio ya hace un gran trabajo. Es mejor tener una caché simple funcionando que una compleja mal configurada, que puede dar errores.
Optimiza las imágenes: El peso de los productos
Las imágenes son, probablemente, el factor que más ralentiza una tienda online. Si subes fotos de 2MB directamente de tu cámara, el servidor tarda mucho en enviarlas al navegador.
Elige el formato correcto
Para productos, usa JPG. Para iconos y logotipos, usa PNG. Evita usar PNG para fotos grandes, ya que pesan mucho más.
Comprime antes de subir
Nunca subas una imagen sin comprimir. Usa herramientas gratuitas como TinyPNG o Compressor.io para reducir el peso de tus imágenes antes de subirlas a PrestaShop. Puedes reducir el peso en un 70% sin perder calidad visible.
Configura los tamaños de imagen en PrestaShop
PrestaShop genera varias copias de cada imagen que subes (para el carrito, la miniatura, el zoom, etc.). Si subes imágenes gigantes, tardará más en generarlas y ocuparán más espacio.
Ve a Preferencias > Imágenes y revisa los tamaños. Ajusta el tamaño máximo de las imágenes de producto a 800x800 píxeles (o incluso menos) si tu diseño lo permite. Esto acelera la generación y la carga.
Elige un tema y módulos ligeros
No todos los temas de PrestaShop son iguales. Algunos están muy cargados de scripts y efectos visuales que son un lastre para el prestashop rendimiento.
Menos es más
Un tema con animaciones excesivas, sliders pesados y fuentes personalizadas puede ser muy bonito, pero es un enemigo de la velocidad. Elige un tema optimizado para la velocidad (los temas de PrestaShop oficiales suelen ser una buena opción) y evita los que prometen "todo incluido".
Audita tus módulos
Cada módulo activo añade código y consultas a la base de datos. Desactiva y desinstala todos los módulos que no uses. Es común tener módulos de banners, popups o redes sociales que ya no necesitas. Revisa la lista en Módulos > Módulos y Servicios y elimina la grasa.
[TIP] Si tienes un módulo de "productos relacionados" o "recientemente vistos", asegúrate de que esté optimizado. Estos módulos suelen hacer consultas muy pesadas. A veces es mejor usar la funcionalidad nativa de PrestaShop que un módulo de terceros.
Aprovecha la compresión GZIP
La compresión GZIP reduce el tamaño de los archivos que se envían desde el servidor al navegador. Es como enviar un archivo .zip que se descomprime solo.
Actívalo desde el archivo .htaccess
Es muy fácil de activar. Accede a tu hosting y busca la carpeta pública de tu tienda (normalmente public_html o www). Busca el archivo .htaccess. Si no lo ves, activa la opción de "mostrar archivos ocultos" en tu gestor de archivos.
Añade este 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 el archivo. Si tu hosting tiene el módulo mod_deflate activado (la mayoría lo tiene), notarás una reducción inmediata del peso de las páginas.
[WARNING] Antes de editar
.htaccess, haz una copia de seguridad del archivo original. Un error en este archivo puede dejar tu tienda inaccesible. Si algo sale mal, puedes restaurar la copia de seguridad.
Habilita la caché del navegador (Leverage Browser Caching)
Esta técnica le dice al navegador del visitante que guarde ciertos archivos (como logotipos o CSS) durante un tiempo, para que no tenga que volver a descargarlos en cada visita.
Configura la expiración en .htaccess
De nuevo, en tu archivo .htaccess, añade este otro bloque de 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 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-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 2 days"
</IfModule>
Esto hará que los visitantes que regresen a tu tienda la carguen mucho más rápido.
Mantén PrestaShop y los módulos actualizados
Sí, es una tarea pesada, pero es vital. Cada actualización de PrestaShop (y de sus módulos) incluye mejoras de seguridad y, a menudo, optimizaciones de rendimiento. Un sistema desactualizado puede tener código ineficiente que ralentiza el servidor.
El proceso de actualización
- Haz una copia de seguridad de tu tienda (archivos y base de datos).
- Ve a Parámetros avanzados > Asistente de actualización y sigue los pasos.
- Actualiza los módulos desde Módulos > Módulos y Servicios pulsando el botón "Actualizar" en los que tengan una versión nueva.
[INFO] Si tienes miedo de actualizar por si se rompe algo, hazlo en un entorno de pruebas primero. Muchos hosts ofrecen la opción de crear una copia de tu tienda en un subdominio para probar las actualizaciones sin riesgo.
Resumen de acciones rápidas para acelerar PrestaShop
Si no tienes tiempo para leer todo, aquí tienes un checklist rápido para aplicar hoy mismo:
- Activa la caché nativa en PrestaShop.
- Limpia la base de datos con el script SQL.
- Combina archivos CSS y JavaScript.
- Comprime las imágenes de tus productos.
- Desactiva módulos que no uses.
- Activa GZIP y la caché del navegador en
.htaccess. - Actualiza PrestaShop y los módulos.
Conclusión: La velocidad es un trabajo continuo
Mejorar la velocidad de tu PrestaShop en un servidor compartido no es una tarea de un solo día, sino un proceso continuo. Empieza con los ajustes más fáciles (caché y combinación de archivos) y ve avanzando hacia los más técnicos (limpieza de base de datos y configuración de .htaccess).
Cada pequeño cambio que hagas se notará en la experiencia de tus usuarios y, por tanto, en tus ventas y en tu posicionamiento en Google. La paciencia es clave. No esperes resultados milagrosos de la noche a la mañana, pero con constancia, conseguirás una tienda mucho más rápida y eficiente. Y recuerda, si un día te sientes perdido, siempre puedes contactar con el soporte de tu hosting para que te echen una mano con los ajustes más complejos.
