Saltar al contenido

Categorías

¿Qué hacer si tu Prestashop va lento?

¿Qué hacer si tu Prestashop va lento…? Esta es una pregunta bastante frecuente, ya que Prestashop suele consumir grandes recursos del servidor cuando el sitio web empieza a crecer. No tanto como otras plataformas de comercio electrónico, pero sí lo suficiente como para que, tarde o temprano, te enfrentes con un problema de rendimiento.

Por eso, aquí veremos las posibles causas por las que tu Prestashop va lento. Y también algunas optimizaciones básicas pero muy efectivas. Al terminar la lectura de esta guía, si pones en práctica los consejos que te daré, no tendrás más problemas con la velocidad de tu sitio web.

Qué hacer si tu Prestashop va lento

5 causas por las que tu Prestashop va lento

1. Sobrecarga de multimedia

Si tienes muchas imágenes y son pesadas, tu Prestashop lógicamente tiene que ir lento. Por eso, te recomiendo comprimir las imágenes sin que pierdan calidad mediante módulos como:

  1. reSmushIt
  2. Compresor de Imagen con TinyPNG
  3. Imagen Toolbox: Compress, Regenerate & More
  4. Compresor de Imágenes – Maximiza tu velocidad
  5. Lazy Load Images – Page Speed Optimization

Si tienes vídeos, también deberás comprimirlos a fin de que pensen menos al tiempo que conservan su calidad visual.

Por otro lado, si hay contenido Flash, te recomiendo sustituirlo por otro formato. Esta es una tecnología obsoleta que no solo solo hacer que tu Prestashop vaya lento, sino que ya no es compatible con la mayoría de los navegadores. Y afecta el SEO de tu sitio web.

Y no olvides tomarte el tiempo de borrar todas aquellas imágenes y videos que no necesitas y, por tanto, solo es basura ocupando espacio y demás recursos de tu servidor.

2. Plantilla mal diseñada

La elección de una plantilla adecuada es fundamental para el rendimiento de tu Prestashop. Si está mal diseñada y tiene montón de errores en el código, da por seguro que tu web irá lenta.

3. Mala elección de módulos

En ocasiones, queremos resultados rápidos y nos ponemos a instalar el primer módulo que nos venga a la mente para resolver la necesidad del momento. Pero, con el tiempo, los módulos se acumulan y terminamos sobrecargando Prestashop.

Por eso, te aconsejo dedicar un tiempo para eliminar todos aquellos que no son indispensables. También puedes reducir la cantidad de módulos instalando otros que cubran, en una sola pieza, un mayor número de funcionalidades. Ya sabes, del tipo all-in-one.

Otra cosa importante es que no todos los módulos son eficientes ni están bien diseñados (igual que como ocurre con las plantillas). Así que tendrás que analizar el rendimiento de cada uno, y ver si no está haciendo que tu Prestashop vaya lento.

Si lo hace, tienes dos alternativas a considerar. Una es buscar formas de aumentar su rendimiento cambiando ciertas opciones de configuración. Pero si esto no diera resultado, no te queda más remedio que la segunda alternativa. ¿Cuál es? Instalar otro módulo que haga lo mismo pero sea más eficiente.

4. Configuración del servidor

Como ya vimos, los módulos y las plantillas instalados puede tener errores de código. Pero también es posible que el código de tu Prestashop no funcione adecuadamente por no utilizar la versión PHP más actual, tener archivos con permisos restringidos, problemas de time out, etc.

Por eso, asegúrate en primer lugar de actualizar y configurar correctamente tu servidor. En particular, los permisos de los archivos y los siguientes parámetros:

magic_quotes_gpc = off
memory_limit = 512M
max_execution_time = 300
max_input_time = 300
upload_max_filesize = 20M
post_max_size = 20M
max_input_vars = 10000
allow_url_fopen = on
safe_mode = off
mod_rewrite = instalado y activado
mod_security = off

También tienes que asegurarte de activor JSON y ctype, así como setear mySQL en INNODB (myIsam no funciona muy bien que digamos) e incluir el date.timezone en el php.ini.

Para que el servidor funcione lo más rápido posible, tienes que tener instalado al menos PHP 5.6.x y Open SSL 1.0.2 o superior. Y, para que el BackOffice no se ralentice, utilizar cageFS y otro firewall por el estilo.

5. Hosting lento

Aunque Prestashop es un gestor de contenidos bastante ligero, puede ir lento si estás utilizando un hosting que no soporte la cantidad de recursos que exige tu sitio web. De hecho, si tu tienda online ha crecido mucho en los último tiempos, es preciso considerar la migración a otro plan o proveedor de alojamiento.

Considera alojar tu Prestashop en un servidor con mayor capacida de disco duro, memoria RAM, CPU y ancho de banda. Y si es posible que sea dedicado, mucho mejor. Aunque en ocasiones la mejor opción será acudir a un VPS (Virtual Private Server) o un alojamiento en la nube.

Optimiza Prestashop para que no vaya lento

Optimizaciones básicas de Prestashop

1. Optimizar el código HTML, CSS y Javascript

El código HTML, CSS y Javascript, aunque es simple texto, se lleva grandes cantidades de espacio en disco. Y su lectura e interpretación por parte del navegador exige cierta potencia de cómputo. Así que, si hay muchos archivos de código y estos son muy grandes, terminaran haciendo que tu Prestashop vaya lento.

Por eso, te recomiendo activar la Smart caché para el código CSS y Javascript, y la compresión del código HTML de tu sitio web. También puedes activar la optimización de Apache con el objetivo de que Prestashop escriba en el .htaccess algunas líneas para activar la compresión GZIP.

2. Configurar la caché de Prestashop

Algo que puedes hacer para que Prestashop no vaya lento (o al menos agilizarlo un poco), es deshabilitar los archivos de compilación de plantilla y activar la Smarty caché estándar. Esto lo puedes hacer en Parámetros avanzados > Rendimiento.

Además del caché nativo de Prestashop, puedes utilizar otros sistemas de caché como OpCache. En tal caso, la configuración óptima tendría los siguientes valores:

opcache.revalidate_freq = 0
opcache.validate_timestamps = 0 (comentar esto en tu entono de desarollo)
opcache.max_accelerated_files = 7963
opcache.memory_consumption = 192
opcache.interned_strings_buffer = 16
opcache.fast_shutdown = 1

Por otro lado, puedes utilizar módulos como Page Cache Ultimate, Cache Manager y LiteSpeed Cache for Prestashop 1.6 and 1.7. Estos módulos se encargarán de hacer la optimizaciones necesarias para que la caché garantice el máximo rendimiento.

3. CDN para tus archivos multimedia

Los archivos multimedia, aunque estén comprimidos, consumen mucho espacio en el disco de servidor y aumentan considerablemente el tiempo de carga de las páginas de tu sitio web.

Ahora bien, si ya los comprimiste, ¿qué más puedes hacer…? Sencillo, utilizar una CDN (Content Delivery Network) para tus archivos multimedia. El más recomendado es CloudFlare, ya que es fácil de instalar y cuenta con un potente servicio contra ataques de DDOS. De hecho, puede aumentar en un 25% o más la velocidad de tu sitio web.

4. Optimizar MySQL / MariaDB

Las bases de datos se encuentran entre los elementos que más recursos consumen. Así que, si tu Prestashop va lento, es muy probable que tengas que optimizarlas.  Esto lo puedes hacer sobre todo si tu web corre sobre un servidor dedicado, VPS o en la nube.

Lo más importante aquí, más que el espacio en disco, es que el servidor responda  a las consultas realizadas por Prestashop con rapidez y acorde los recursos de cómputo de que dispones. Para ello, tendrás que modificar los siguientes parámetros estándar:

query_cache_limit = 128K
query_cache_size = 32M
query_cache_type = ON
table_open_cache = 1000
read_buffer_size = 2M
read_rnd_buffer_size = 1M
thread_cache_size = 80
join_buffer_size = 2M
sort_buffer_size = 2M
max_connections = 400
tmp_table_size = 32M
max_heap_table_size = 32M
table_definition_cache = 1000
performance_schema = OFF

Con esto, debe ser más que suficiente. Pero si todavía no vieras un rendimiento adecuado, puedes instalar MySQLTuner, una herramienta gratuita escrita en Perl que diagnostica la base de datos y ofrece consejos para optimizar el servidor MySQL.

PrestaShop lento (conclusiones)

Conclusiones

Si llevas a cabo todas las optimización que te sugerí, da por sentado que tu Prestashop dejará de estar lento. De hecho, poco más puedes hacer después de todo esto.

Pero si ocurriera que aun así no se solucionan los problemas de rendimiento de tu web, es posible que necesites la asesoría de una agencia especializada en este CMS.

En Initcoms, podemos ayudarte a optimizar al máximo el rendimiento de tu sitio web. Contamos con analistas y programadores cualificados que detectarán y corregirán todos los errores posibles. Así que ponte en contacto si quieres acelerar tu Prestashop lo más rápido posible.