Cómo optimizar una tienda online Prestashop

Un factor clave en cualquier tienda online es que la navegación sea ágil sin tener que esperar tiempos de carga largos porque nuestro posible cliente no va a esperar. Necesitamos que nuestra tienda cargue lo más rápido posible y que cuando el número de visitantes concurrentes sea elevado, aguante la carga sin subir el tiempo de carga.

Para ello, hemos preparado el nuevo Servidor Prestashop con caché Varnish, nginx 1.13.1 (configurado con http2) MariaDB para las databases, php7.1.6-2 y algunos ajustes adicionales que unidos hacen que nuestra tienda online Prestashop cargue en poco menos de medio segundo con 37 artículos a la venta en portada.

El primer punto que debemos tener en cuenta es el control del tiempo de respuesta de nuestros servidores DNS, necesitamos que cuando un navegante abra nuestra página web, ésta resuelva lo más pronto posible i para ello necesitamos unos dns’s con unos tiempos de respuesta buenos.

Una vez tenemos la respuesta DNS controlada, el segundo paso a controlar es el servidor web. Necesitamos un servidor con mínimo 4 cores y 8Gb de RAM y sobretodo discos SSD para obtener tiempos de respuesta óptimos.

Más importante aún que el propio hardware de la máquina es tener una configuración optimizada de la misma, para ello optimizaremos parámetros del kernel para agilizar la conectividad.

Necesitamos configurar Nginx 1.13.1 con http2 y un certificado de seguridad ssl.

Configuraremos Varnish en el puerto 80 como proxy caché, nginx 1.13.1 en el puerto 81 como frontal principal y en el puerto 443 para encriptar la web con https://

servidor prestashop

servidor prestashop

Uno de los puntos claves en la configuración del servidor para Prestashop es Varnish caché porque carga la página desde la memoria RAM y ésta es hasta 1000 veces más rápida que un disco duro convencional.

Otro punto muy importante es php7.1.6-2, porque acelera la carga al procesar la web mucho más rápido que php5.6. Además tiene más resistencia ante alta concurrencia, la web aguantará muchas más visitas simultáneas.

Otros puntos a tener en cuenta para acelerar nuestra tienda online:

1.-Optimizar los parámetros de mariaDB o mysql:

query_cache_size = 154417728

query_cache_limit = 1248576

query_cache_type = 1

Podemos usar mysqltunner para optimizar el desempeño de las databases.

2.-Limpiar tablas de estadísticas que no son necesarias y con el tiempo provocan que nuestra web cargue cada vez más lenta.

3.-Limpiar logs acumulados en prestashop que con el paso de los años va acumulando espacio en la base de datos.

4.-Optimizar imágenes sin perder calidad. Podemos utilizar alguna herramienta online de optimización o directamente podemos crear un cron en el servidor que cada noche optimize las imágenes.

5.-Retocar nuestra plantilla para cargar las fuentes y otros recursos desde nuestro server local, para no depender de terceros, si detectamos que éstos cargan lentos.

6.-Utilizar un CDN para cargar los elementos estáticos (que tenga Varnish)

7.- Instalar nginx-page-speed que nos optimiza automáticamente las imágenes optimiza la entrega de .js y .css e incluye una extensión de caché.

Despues de realizar éstos ajustes para uno de nuestros clientes obtenemos una carga de poco más de medio segundo con una tienda que tiene más de 37 productos a la venta en su portada:

pingdom Tenemos el servidor prestashop optimizado con Varnish-Nginx-Php7.1.6-MariaDB que necesitas para hacer volar tu tienda online. Contáctanos!