Como optimizar la carga de nuestro prestashop en plesk

Cuando contratamos un servidor VPS con Plesk lo habitual es que venga configurado con unos parámetros de rendimiento aceptables, pero todo es optimizable. Apache es uno de los servidores web más extendidos al igual que el conocido Ngix,  un servidor que está ganando bastante terreno en los últimos años y que rinde mucho mejor, y si podéis por supuesto litespeed el mejor de todos, pero si no os es posible y tenéis que trabajar con apache os vamos explicar como optimizarlo de forma que nuestros prestashop carguen mucho más rápido.

Queremos dar unas pinceladas sobre algunas de las optimizaciones que solemos hacer en nuestros servidores VPS y que brindan una mejora sustancial en la velocidad y optimización de su sitio Web, factores que hacen que puedan ganar en su posicionamiento SEO. Básicamente, trataremos unas funciones de Optimizacion sobre Apache que nos permitirán reducir la velocidad de carga.

 

Primero debemos conocer cuál es el formato en el que trabaja nuestro servidor web. Podemos averiguarlo de la siguiente manera:

/usr/sbin/httpd -l
Compiled in modules:
core.c
mod_so.c
http_core.c

 

A continuación, comprobamos si tenemos nuestro módulo cargado en Apache, si aparece como Shared significará que está instalado y configurado, mientras que el deflate_module nos permitirá comprimir nuestro contenido web.

[<a href=»mailto:root@servidor log»>root@servidor log</a>]# apachectl -t -D DUMP_MODULES |grep deflate
[Sun Jan 24 14:24:07.039369 2016] [so:warn] [pid 6198] AH01574: module actions_module is already loaded, skipping
[Sun Jan 24 14:24:07.045944 2016] [so:warn] [pid 6198] AH01574: module headers_module is already loaded, skipping
[Sun Jan 24 14:24:07.046588 2016] [so:warn] [pid 6198] AH01574: module logio_module is already loaded, skipping
[Sun Jan 24 14:24:07.048180 2016] [so:warn] [pid 6198] AH01574: module suexec_module is already loaded, skipping
deflate_module (shared) 

Una vez verificado que lo tenemos, vamos a comprobar que el módulo está activo en nuestro servidor y para ello debemos editar el archivo 00-base.conf

vi /etc/httpd/conf.modules.d/00-base.conf

 

Deberíamos tener algo como la siguiente línea sin # al principio

LoadModule deflate_module modules/mod_deflate.so

 

Cuando estemos seguros de que nuestro módulo está instalado, vamos a comprimir los JavaScript, HTML o CSS de forma que el contenido llegue a nuestros clientes en un tamaño óptimo.

vi /etc/httpd/conf.d/deflate.conf
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
DeflateCompressionLevel 9
# Browser specific settings
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bOpera !no-gzip
# Setup custom deflate log
DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
LogFormat ‘»%r» %{outstream}n/%{instream}n (%{ratio}n%%)’ deflate
# Example of log file
CustomLog logs/deflate_log DEFLATE

 

Actualmente, estas modificaciones las estamos aplicando sobre varios proyectos donde el rendimiento mejora considerablemente

vi /etc/httpd/conf.d/keep-alive.conf
KeepAlive Onvi /etc/httpd/conf.d/expire.conf
ExpiresActive On
ExpiresByType image/jpg «access plus 60 days»
ExpiresByType image/png «access plus 60 days»
ExpiresByType image/gif «access plus 60 days»
ExpiresByType image/jpeg «access plus 60 days»
ExpiresByType text/css «access plus 1 month»
ExpiresByType image/x-icon «access plus 1 month»
ExpiresByType application/pdf «access plus 1 month»
ExpiresByType audio/x-wav «access plus 1 month»
ExpiresByType audio/mpeg «access plus 1 month»
ExpiresByType video/mpeg «access plus 1 month»
ExpiresByType video/mp4 «access plus 1 month»
ExpiresByType video/quicktime «access plus 1 month»
ExpiresByType video/x-ms-wmv «access plus 1 month»
ExpiresByType application/x-shockwave-flash «access 1 month»
ExpiresByType text/javascript «access plus 1 week»
ExpiresByType application/x-javascript «access plus 1 week»
ExpiresByType application/javascript «access plus 1 week»

Una vez aplicados los cambios debemos reiniciar apache

service httpd restart

Tan sólo con estas 3 modificaciones, nuestra web ha conseguido mejorar considerablemente, reduciendo cerca de un segundo nuestra carga web, si esto lo multiplicamos por el número de sesiones simultaneas, habremos conseguido que nuestro sitio web cargue de forma más optimizada.

Pero nuestro trabajo no puede quedarse solamente en estos factores, debemos trabajar la caché y otros servicios de CDN o velocidad y accesos de nuestra base de datos. Para ello podemos utilizar un módulo de velocidad que ha lanzado Google y que mejorará estos aspectos de nuestra página web.

Vemos tiempos de hasta 4 segundos con los mismos números de sesiones y visitas, mejorando el rendimiento de nuestra web para poder tener un mayor soporte y mejor velocidad de carga, factores importantes en nuestro SEO y que marcan la diferencia con respecto a otras webs sin un trabajo de optimización.

 

FUENTE: https://support.plesk.com/hc/en-us/articles/115001711985-How-to-enable-leverage-browser-caching-for-Apache-in-Plesk