🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo optimizar PrestaShop para mejorar el rendimiento en Linux

Actualizado el 4 de enero de 2026

¿Tu tienda PrestaShop va lenta? No te preocupes, es un problema muy común, sobre todo cuando empiezas a tener más productos, visitas o módulos. Un rendimiento pobre no solo frustra a tus clientes, sino que también perjudica tu posicionamiento en Google. La buena noticia es que, con unos pocos ajustes a nivel de servidor Linux y de la propia aplicación, puedes acelerarla notablemente.

En esta guía, voy a explicarte paso a paso cómo optimizar PrestaShop para mejorar el rendimiento en un entorno Linux. No necesitas ser un experto en SysAdmin; solo sigue las instrucciones y verás los resultados.


¿Por qué PrestaShop se vuelve lento en Linux?

Antes de lanzarnos a los ajustes, es importante entender las causas más habituales de la lentitud.

  • Falta de sistemas de caché: PrestaShop genera cada página dinámicamente. Sin caché, el servidor tiene que trabajar mucho más.
  • Configuración PHP inadecuada: PHP tiene límites de memoria y ejecución que, si son muy bajos, estrangulan el rendimiento.
  • Base de datos sin optimizar: Las consultas lentas y las tablas desordenadas son un lastre enorme.
  • Módulos mal programados: Algunos módulos consumen muchos recursos.
  • Servidor web sin comprimir ni cachear: Apache o Nginx necesitan estar bien configurados para servir contenido estático de forma eficiente.

Ahora, vamos a solucionarlo.


## 1. Configura la caché interna de PrestaShop

El primer paso y el más sencillo: activar la caché que ya trae PrestaShop.

  1. Accede a tu panel de administración de PrestaShop.
  2. Ve a Parámetros Avanzados > Rendimiento.
  3. En la sección "Caché", selecciona "Sí, usar caché".
  4. Elige el sistema de caché: "Caché de archivos" o "Memcached" (si tienes Memcached instalado en tu servidor). Para la mayoría, "Caché de archivos" es suficiente.
  5. Guarda los cambios.

[TIP]: Si tu servidor tiene suficiente RAM, instalar Memcached o Redis es mucho más rápido que la caché de archivos. Pregunta a tu proveedor de hosting o a tu SysAdmin.


## 2. Activa la compresión y la caché del servidor web

El servidor web (Apache o Nginx) puede comprimir las páginas antes de enviarlas al navegador y cachear archivos estáticos (CSS, JS, imágenes). Esto reduce drásticamente el tiempo de carga.

### Para servidores Apache (con .htaccess)

Edita el archivo .htaccess en la raíz de tu PrestaShop. Si usas Syspanel (panel de control, antes conocido como HestiaCP, accesible por el puerto 2106), puedes hacerlo desde el administrador de archivos.

Añade estas líneas al principio:

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json
</IfModule>

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType application/javascript "access plus 1 week"
    ExpiresByType text/javascript "access plus 1 week"
    ExpiresByType application/x-javascript "access plus 1 week"
</IfModule>

[INFO]: Si no ves cambios, pídele a tu SysAdmin que active los módulos mod_deflate y mod_expires de Apache.

### Para servidores Nginx

En el archivo de configuración del sitio (normalmente en /etc/nginx/sites-available/), dentro del bloque server, añade:

gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_types text/plain text/css text/xml text/javascript application/javascript application/json application/xml+rss image/svg+xml;

location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg)$ {
    expires 30d;
    add_header Cache-Control "public, immutable";
}

Luego recarga Nginx: sudo systemctl reload nginx


## 3. Optimiza la configuración de PHP

PHP es el motor de PrestaShop. Si tiene poca memoria o tiempo de ejecución, todo se ralentiza.

Busca el archivo php.ini de tu servidor. En sistemas con Syspanel, suele estar en /etc/php/8.x/fpm/php.ini (donde 8.x es la versión de PHP que uses).

Ajusta estos valores (si no existen, añádelos):

memory_limit = 256M
max_execution_time = 300
max_input_time = 300
upload_max_filesize = 64M
post_max_size = 64M
max_input_vars = 10000

[WARNING]: No pongas memory_limit a 512M o 1G si tu servidor tiene poca RAM (menos de 2 GB). Podrías saturarlo. 256M es un buen punto de partida.

Después de editar, reinicia PHP-FPM: sudo systemctl restart php8.x-fpm


## 4. Optimiza la base de datos MySQL/MariaDB

La base de datos es el corazón de PrestaShop. Con el tiempo, se llena de registros temporales, sesiones caducadas y tablas fragmentadas.

### Limpieza manual desde el panel de administración

  1. Ve a Parámetros Avanzados > Base de datos.
  2. Haz clic en "Optimizar tablas". Esto repara y desfragmenta las tablas.
  3. También puedes ir a Parámetros Avanzados > SQL Manager y ejecutar:
    DELETE FROM ps_connections WHERE date_add < DATE_SUB(NOW(), INTERVAL 1 MONTH);
    DELETE FROM ps_connections_page WHERE time_end < DATE_SUB(NOW(), INTERVAL 1 MONTH);
    DELETE FROM ps_guest WHERE last_visit < DATE_SUB(NOW(), INTERVAL 1 MONTH);
    
    (Ajusta ps_ por el prefijo de tu base de datos si es diferente).

### Ajustes en el archivo my.cnf

Edita /etc/mysql/my.cnf o /etc/my.cnf. Dentro de la sección [mysqld], añade o modifica:

[mysqld]
query_cache_type = 1
query_cache_size = 64M
query_cache_limit = 2M
tmp_table_size = 64M
max_heap_table_size = 64M
innodb_buffer_pool_size = 1G

[INFO]: innodb_buffer_pool_size es el parámetro más importante. Ponlo entre el 50% y el 70% de tu RAM total. Si tienes 4 GB de RAM, pon 2G.

Reinicia MySQL: sudo systemctl restart mysql


## 5. Instala y configura Redis para caché de sesiones y páginas

Redis es una base de datos en memoria ultrarrápida. PrestaShop puede usarla para almacenar sesiones de clientes y caché de páginas.

### Instalación en Linux

sudo apt update
sudo apt install redis-server php8.x-redis

### Configuración en PrestaShop

  1. Ve a Parámetros Avanzados > Rendimiento.
  2. En "Caché", selecciona "Redis".
  3. Rellena los campos:
    • Servidor: 127.0.0.1
    • Puerto: 6379
    • Contraseña: déjala vacía (a menos que hayas configurado una).
  4. Guarda.

Para usarlo para sesiones, añade en el archivo config/defines.inc.php de PrestaShop:

define('_PS_REDIS_SERVER_', '127.0.0.1');
define('_PS_REDIS_PORT_', 6379);
define('_PS_REDIS_PASS_', '');

[WARNING]: Si no tienes Redis instalado, no selecciones esta opción o PrestaShop fallará. Verifica primero.


## 6. Desactiva módulos y temas innecesarios

Los módulos consumen recursos aunque no los uses. Haz una limpieza:

  1. Ve a Módulos > Gestor de módulos.
  2. Desinstala y elimina los módulos que no uses.
  3. Revisa los módulos nativos de PrestaShop (como "Bloques", "Navegación por facetas", etc.) y desactiva los que no necesites.

También revisa el tema. Un tema muy cargado con sliders, animaciones y scripts externos ralentiza todo. Si puedes, usa un tema ligero y optimizado.


## 7. Habilita la combinación y compresión de CSS/JS

PrestaShop puede unir todos los archivos CSS y JS en uno solo, reduciendo peticiones HTTP.

  1. Ve a Parámetros Avanzados > Rendimiento.
  2. En "Plantilla":
    • Combinar, comprimir y forzar la caché de CSS: Sí.
    • Combinar, comprimir y forzar la caché de JavaScript: Sí.
  3. Guarda.

[TIP]: Si después de activar esto ves la tienda rota, limpia la caché de PrestaShop (en el mismo panel) y la caché del navegador. Si sigue roto, desactiva la opción de JS y prueba solo con CSS.


## 8. Usa un CDN (Content Delivery Network)

Un CDN almacena copias de tus archivos estáticos (imágenes, CSS, JS) en servidores repartidos por todo el mundo. Cuando un usuario visita tu tienda, el CDN le sirve los archivos desde el servidor más cercano.

  • Cloudflare (gratuito) es la opción más popular y fácil de configurar.
  • Solo necesitas cambiar los DNS de tu dominio a los de Cloudflare y activar la opción de "Proxy" (nube naranja).

[INFO]: Cloudflare también ofrece protección contra ataques DDoS y compresión automática.


## 9. Monitoriza el rendimiento con herramientas básicas

Para saber si tus optimizaciones funcionan, usa herramientas como:

  • Google PageSpeed Insights: Te da notas y recomendaciones.
  • GTmetrix: Muestra tiempos de carga y sugerencias.
  • Pingdom Tools: Analiza desde diferentes ubicaciones.

Desde la terminal de Linux, puedes usar htop para ver el uso de CPU y RAM, y mysqladmin status para ver el estado de la base de datos.


## 10. Preguntas frecuentes (FAQ)

### ¿Cuánto tiempo tardaré en ver mejoras?

Depende. La activación de caché y compresión es inmediata. Los cambios en PHP y MySQL requieren reiniciar servicios, pero también se notan al instante.

### ¿Es seguro modificar el .htaccess?

Sí, siempre que hagas una copia de seguridad antes. Si algo va mal, puedes restaurarlo.

### ¿Qué hago si mi tienda se rompe después de optimizar?

  1. Vuelve atrás los cambios que hiciste.
  2. Limpia la caché de PrestaShop.
  3. Si usas Redis o Memcached, reinícialos.
  4. Prueba de nuevo.

### ¿Necesito contratar un SysAdmin para esto?

No necesariamente. Con esta guía puedes hacerlo tú mismo. Pero si te sientes inseguro o tu servidor es muy complejo, un SysAdmin (como los que usan Syspanel en el puerto 2106) te lo hará en minutos.

### ¿Y si mi hosting es compartido?

Muchas optimizaciones (como modificar PHP.ini o my.cnf) no están permitidas en hosting compartido. En ese caso, céntrate en las opciones de PrestaShop (caché, compresión CSS/JS, desactivar módulos) y en usar un CDN.


Resumen final

Optimizar PrestaShop en Linux no es magia, es aplicar una serie de buenas prácticas:

  1. Activa la caché interna de PrestaShop.
  2. Comprime y cachea en el servidor web (Apache/Nginx).
  3. Ajusta PHP para que tenga suficiente memoria y tiempo.
  4. Optimiza MySQL con caché de consultas y un buen buffer pool.
  5. Instala Redis para caché ultrarrápida.
  6. Limpia módulos y temas pesados.
  7. Combina CSS/JS para reducir peticiones.
  8. Usa un CDN para contenido estático.
  9. Monitoriza para ver los resultados.

Con estos pasos, tu tienda cargará mucho más rápido, tus clientes estarán más contentos y Google te recompensará con un mejor posicionamiento.

[TIP FINAL]: Si usas Syspanel (panel de control en el puerto 2106), recuerda que puedes gestionar fácilmente los archivos de configuración, reiniciar servicios y ver el estado del servidor desde su interfaz web. Aprovecha esa herramienta.

¡Manos a la obra y a disfrutar de una PrestaShop más rápida!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel