Tutorial para optimizar el rendimiento de las tiendas Prestashop [Nivel intermedio]

Publicado en: 16 de noviembre de 2021

En este tutorial de nivel intermedio, aprenderás a cómo optimizar las tiendas Prestashop para aumentar y mejorar el rendimiento y la velocidad de carga del sitio. Haremos uso de la caché de Prestashop y del servidor. Aprenderemos nociones básicas para elegir un buen plan de Hosting web y conocimientos para configurar correctamente el Back-office. 

1. Un poco de introducción sobre Prestashop y la importancia de una buena optimización web

Prestashop es una de las plataformas de comercio electrónico más utilizadas a nivel mundial, y sobre todo a nivel europeo. Son cada vez más las tiendas online que se desarrollan bajo esta plataforma, llegando a tener mucho éxito en ventas, visitas y popularidad.

La plataforma Prestashop destaca por su versatilidad, facilidad de uso y de personalización, además de estar dotada de una de las mejores comunidades en su foro oficial para la resolución de problemas, consejos y ayudas, etc…

También tenemos que destacar la disponibilidad de cientos de addons (módulos) gratuitos y de pago para ampliar y mejorar las funcionalidades de la plataforma para que tu tienda online cumpla con todos los requisitos que necesitas para tu negocio.

Después de varios años de experiencia como desarrolladores oficiales de esta plataforma y prestando servicio de soporte técnico a clientes que tienen tiendas online Prestashop, hemos comprobado que muy pocos son los que tienen sus tiendas online medianamente optimizadas.

Es muy importante que una tienda online esté optimizada lo máximo posible. Esto se traduce en una mejora sustancial del rendimiento web, incremento de la velocidad de carga y una mejora notable de la experiencia del usuario (UX y UI). Al mismo tiempo, conseguimos aumentar el valor de las principales métricas, y por consiguiente, mejoramos el SEO. Además, y muy importante, evitaremos pérdidas económicas en ventas por fallos y errores procedentes de una mala o nula optimización web.

Tras esta pequeña introducción, que consideramos necesaria, vamos a entrar ya en materia.

2. ¿Cuáles son los principales elementos a tener en cuenta para realizar la optimización en tiendas Prestashop?

En este tutorial vamos a centrarnos en la explicación de los siguientes elementos web que intervienen directamente en el proceso de optimización:

  • Servidor (Hosting web)
  • Base de datos
  • Plataforma Prestashop
  • Imágenes web

2.1 Servidor (Hosting web)

El servidor es uno de los elementos más importantes y cruciales para asegurar el buen funcionamiento y optimización de una tienda online Prestashop. 

Como ya sabrás, un servidor básicamente es un ordenador (los hay desde torres pequeñas cuyo uso es doméstico hasta grandes consolas con decenas de racks dentro de infraestructuras complejas y bajo estrictos protocolos de manejo y seguridad) donde se encuentran almacenados todos los archivos que conforman la tienda online, su base de datos y todos los elementos necesarios para la interpretación del lenguaje del lado servidor usado por la plataforma web (PHP y MySQL). Es el encargado de procesar las solicitudes del navegador, realizando las consultas a la base de datos, interpretando el código fuente de la plataforma para devolver toda esa información solicitada al navegador web. 

El navegador será el encargado de mostrar al usuario toda esa información recibida por el servidor de manera gráfica y visual para que este pueda interaccionar en el sitio web.

Esquema solicitud del cliente al servidor web. Cliente - Servidor.

Dicho todo lo anterior, podemos deducir que cuanto mejor sea la calidad del servidor y la disponibilidad de sus recursos, mayor será su velocidad en el procesamiento de los datos y las solicitudes, y por lo tanto, tendrá mayor rendimiento. Esto se traduce en altas velocidades de carga web, rapidez en mostrar la información en el lado del cliente y agilidad en el procesamiento de las consultas a la base de datos. En definitiva, un mayor rendimiento del servidor genera mejores resultados en el SEO, minimiza la aparición de errores, mejora la experiencia del usuario y aumenta la confianza de los clientes y las ventas online.

2.1.1 Elección del mejor y más adecuado servidor web para el uso con las plataformas Prestashop

Hemos visto que en numerosas ocasiones, los propietarios de tiendas online Prestashop, por desconocimiento, suelen contratar servidores web que no son adecuados para el uso con las tiendas online Prestashop. Suelen caer en el error de contratar planes de hosting web a proveedores que son muy conocidos porque invierten mucho capital en marketing y ofrecen servicios de hosting a precios muy reducidos. Sin embargo, estos proveedores de hosting no ofrecen servidores de calidad ni optimizados para el uso con tiendas online que necesitan de altos recursos.

Muchos de estos servidores procedentes de estos proveedores, tienen pocos recursos, están muy limitados y por cuestiones de directrices internas, no pueden adaptar los límites de estos recursos a cada cliente.

Si estás comenzando en el mundo del e-commerce, es posible que de momento no encuentres inconvenientes contratando este tipo de servidores. Sin embargo, en cuanto tu tienda online crezca, aumente sus visitas diarias o necesites de la instalación de un addon (módulo) potente que necesite recursos del servidor, comenzarás a tener problemas serios. Incluso tu tienda online podría quedar inoperativa en muchas ocasiones por superarse límites de uso de los recursos del servidor.

A continuación te vamos a dar las pautas y los conocimientos necesarios para que puedas elegir el mejor servidor web para tu tienda online Prestashop.

Tipo de servidor web

Existen varios tipos de servidores web que se sirven como planes de hosting web. Los más utilizados son los siguientes:

  • Servidor Compartido (hosting web compartido)
  • Servidor VPS (Servidor Virtual Privado)
  • Servidor Dedicado
  • Servidor Cloud

Estos servidores se denominan Servidores LAMP (Linux – Apache – MySQL/MariaDB – PHP) porque se basan en el uso de los software y lenguajes más utilizados y que son específicos para la gestión de los sitios web.

  • Sistema operativo Linux
  • Servidor Apache
  • Servidor de base de datos MySQL/MariaDB
  • Intérprete del lenguaje PHP

Respecto a este tema, tenemos un artículo que lo publicamos anteriormente, y que explica con mucho más detalle cada uno de estos tipos de servidores web. Puedes visitar este artículo en el siguiente link:

Como explicamos en el artículo, si queremos que nuestra tienda online Prestashop funcione correctamente y tenga un incremento alto de rendimiento, tendremos que contratar un plan de hosting web VPS o Dedicado, y que este plan de hosting nos permita configurar los parámetros del servidor sin restricciones. Por lo que debemos preguntar a nuestro proveedor de hosting por las posibles restricciones o limitaciones que tengan.

2.1.2 Los recursos y parámetros del servidor más importantes

A la hora de elegir un servidor web y configurar sus parámetros para optimizarlo para las tiendas Prestashop , debemos prestar mucha atención a los siguientes elementos:

  • Procesador (CPU)
  • Capacidad y tipo de disco
  • Memoria RAM
  • Límite de tráfico
  • Configuración de Apache
  • Parámetros de PHP
Procesador (CPU)

Procesador CPUEl procesador es el cerebro del servidor. Es el encargado de realizar todos los procesos. Su saturación es el primer indicativo de que este ha llegado a su límite y no puede seguir procesando hasta que se vaya liberando de carga de trabajo. Por ese motivo, cuanto mejor y más potente sea el procesador, procesará con más rapidez y no se colapsará con facilidad. 

Cuando una CPU llega a más del 90% de uso, el servidor se sobrecarga, se vuelve lento y la velocidad de carga de la tienda online se reduce considerablemente. Esta situación provoca que el sitio web se quede cargando de forma interminable sin mostrar sus elementos al usuario.

En este sentido recomendamos la contratación de servidores con CPU a partir de 4 núcleos (4 Core) y con velocidades de su reloj de más de 2.0 GHz.

Capacidad y tipo de disco

Actualmente existen dos tipos de discos para el almacenamiento de datos: HDD y SSD.

Disco de almacenamiento HDD

El disco HDD son una serie de discos que giran y sus datos son leídos y extraídos por su dispositivo lector. Por lo tanto, la velocidad de lectura y grabación es más lenta que en los discos SSD.

Disco de almacenamiento SSD

Disco de almacenamiento SSD

El SSD (Solid State Disk), en comparación con el HDD (Hard Disk Drive), es mucho más rápido. Esto es debido a que el SSD es un disco sólido basado en un chip donde se almacenan los datos. Es similar a los pendrive de memoria.

 

Se recomienda el uso de servidores con discos SSD para un aumento de la velocidad de lectura y grabación de datos. Esto se traduce en mayor rendimiento y velocidad de carga de la tienda online.

Memoria RAM

Memoria RAMLa memoria RAM (Random Access Memory), es la encargada de almacenar los datos de los procesos que se están ejecutando en el servidor a tiempo real. Por así decirlo, es la mano derecha de la CPU y se encarga de almacenar los datos necesarios que la CPU necesita durante el cálculo de los procesos. Traducido al servidor, es la encargada de almacenar los datos de los procesos que se ejecutan cuando el navegador web solicita la información al servidor. Cuando el tamaño de los procesos supera el valor de la memoria RAM, esta se colapsa y ocasiona el mismo efecto que cuando una CPU se colapsa. El usuario podría experimentar un aumento considerable del tiempo de carga de la página web, llegando incluso a que el navegador web se quede bloqueado intentando cargar los elementos del sitio.

En los servidores web, existe un elemento llamado Memoria SWAP, y cuyo objetivo es el uso del disco duro del servidor para almacenar estos procesos y así no colapsar la memoria RAM. Sin embargo, el proceso de derivación e intercambio es más lento que si se usara físicamente la memoria RAM para almacenar los procesos. Si tienes contratado un servidor web VPS o dedicado con alto valor de memoria RAM, recomendamos la desactivación del uso de la memoria SWAP.

Límite de tráfico

Cuando un usuario visita un sitio web, como hemos explicado anteriormente, se produce una solicitud al servidor y una respuesta de este. Durante este proceso se intercambian datos, y estos datos tienen un tamaño. 

Los proveedores de hosting web, suelen poner límites de tráfico mensual a sus planes de hosting. Esto ocurre sobre todo cuando el plan de hosting es compartido o son planes muy económicos. El límite de tráfico mensual es el límite del valor total de la suma de todos los datos transferidos entre servidor y navegador web durante un mes. 

En el caso de que exista un límite de tráfico mensual, cuando se llega al límite máximo, el servidor dejaría de procesar las solicitudes y desde ese momento la tienda online queda totalmente inoperativa.

Es muy importante NO contratar planes de hosting web que tengan un límite de tráfico mensual. 

Configuración de Apache

Apache es un software de los servidores web (basados en el Sistema Operativo Linux) que controla el protocolo HTTP (Hypertext Transfer Protocol) en las solicitudes del navegador web al servidor. Es el encargado de devolver la información solicitada a través de este protocolo HTTP.

Es muy importante prestar atención a la optimización de su configuración para poder aprovechar todos los recursos del servidor y así incrementar el rendimiento de la tienda online. 

Los servidores que usan Apache, tienen un archivo muy importante llamado .htaccess que es el archivo encargado de almacenar la configuración de Apache. Este archivo se encuentra en el directorio raíz de la tienda Prestashop. Insertando código dentro de él, podemos hacer cosas tan importantes como el uso de la caché del servidor y del navegador, aumentar la seguridad web, denegar accesos a IP determinadas, proteger directorios, usar redirecciones, etc…

Para poder editar este archivo, se necesitan de conocimientos avanzados, de lo contrario, un error en el código podrá ocasionar un error de servidor 500 que dejaría la tienda online totalmente inoperativa.

Hemos elaborado un artículo específico que explica con detalles cómo editar y optimizar el archivo .htaccess con parámetros avanzados.

Además, tenemos desarrollado el módulo Advanced Editor Htaccess, que es específico para editar el archivo .htaccess de las tiendas online Prestashop de manera fácil y rápida con un editor de sintaxis. También incluye una opción para aumentar el rendimiento de la tienda y el uso de la caché del sitio. 

Puedes comprarlo ahora mismo desde la página oficial de Prestashop Addons, en el siguiente link:

Parámetros de PHP

Los servidores web tienen instalado un software intérprete del lenguaje PHP, debido a que este es el lenguaje usado por la gran mayoría de sitios web. Como ocurre con el resto de componentes mencionados anteriormente, en este también se puede configurar sus parámetros para poder optimizar y aumentar el rendimiento del sitio web.

La configuración de los parámetros de PHP, realmente es una de las partes más importantes y decisivas a la hora de asegurar un buen funcionamiento del servidor web y evitar errores o caídas del servidor.

Cuando contratamos un alojamiento web compartido, este suele disponer de muchas limitaciones a la hora de configurar los parámetros de PHP. Además, los valores de sus parámetros suelen ser muy bajos, por lo que suelen ocasionar problemas si se pretende usarlo con las tiendas online Prestashop. Por ese motivo, hemos mencionado que no recomendamos el uso de hosting web compartidos para las tiendas online.

Existen muchos parámetros de PHP que se pueden configurar. No obstante, vamos a mencionar los más importantes a tener en cuenta:

  • max_execution_time: Establece el tiempo máximo en segundos que un script puede ejecutarse antes de que finalice. El valor predeterminado suele ser 30 segundos.
  • max_input_time: Establece el tiempo máximo en segundos que un script puede analizar datos de entrada, como POST y GET. Esto generalmente se incrementa para permitir cargas de archivos grandes.
  • memory_limit: Establece el límite máximo de memoria que deberá ser usada para los procesos. Los sitios web que realizan procesos largos o pesados necesitarán un valor alto de límite de memoria. Dependiendo del valor que se disponga de memoria RAM en el servidor, se podrá aumentar el valor en proporción.
  • max_post_size: Establece el tamaño máximo permitido para solicitudes POST. 
  • max_upload_size: Establece el tamaño máximo permitido para la subida de archivos al servidor. Por ejemplo, desde el formulario de contacto del sitio web.
  • max_input_vars: Establece el límite máximo de variables que pueden ser aceptadas durante las solicitudes al servidor. En el caso de las tiendas online, un valor bajo de este parámetro puede ocasionar problemas al mostrar las traducciones.
  • allow_url_fopen: Esta opción habilita las envolturas fopen de tipo URL que permiten el acceso a objetos URL como ficheros. Las envolturas predeterminadas están proporcionads para el acceso de ficheros remotos usando los protocolos ftp o http. Recomendamos tener activada esa opción, ya que existen módulos y addons que necesitan conectarse con URL externas para realizar sus procesos.

Puedes conseguir más información sobre estos parámetros en el manual de PHP

Podemos configurar estos parámetros de varias formas:

  • Archivo .htaccess
  • Archivo php.ini
  • Archivo .user.ini
  • A través del panel de control del hosting

Para el buen funcionamiento de una tienda online Prestashop, estos parámetros deberían tener los siguiente valores:

Copy to Clipboard

Estos valores son válidos para una tienda online Prestashop alojada en un servidor con un nivel normal de recursos y con un valor de memoria RAM a partir de 2GB

Servidor web para Prestashop. Hosting web optimizado para tiendas online Prestashop y WordPress. Servidor web de alto rendimiento. Hosting optimizado.

¿Quieres contratar el mejor servidor para tu tienda Prestashop?

En Liewebs ofrecemos a todos nuestros clientes servidores de alto rendimiento y optimizados para el uso con las plataformas Prestashop y WordPress. Configuración sin límites, con planes de hosting web escalables y totalmente personalizados para cada cliente.

2.2 Base de datos

La base de datos Prestashop se compone de tablas que se relacionan entre sí mediante la asociación de números de ID entre sus elementos y columnas. En estas tablas son donde se almacenan todos los registros y datos de la tienda online (pedidos, clientes, direcciones, productos, categorías, etc…). Este elemento no deja de ser un sistema de archivos donde se graban los datos y se almacenan ocupando un espacio determinado.

Las bases de datos son administradas por los gestores de bases de datos (servidores de bases de datos) como MariaDB y MySQL entre otros.

Durante la vida operativa del sitio web, la base de datos está en constante uso. Con cada visita al sitio web, se realizan consultas para visualizar los datos almacenados y mostrárselos al usuario. Además el contenido se va modificando, añadiendo o eliminando, dependiendo de las tareas que se realizan en la tienda online. Estos procesos van dejando residuos o deteriorando la estructura de las tablas, ocasionando errores de integridad referencial, registros obsoletos, datos fragmentados, etc… Por lo que podría ocasionar disminución del rendimiento web, incluso incidencias importantes, llegando en algunos casos a dejar totalmente inoperativa la página web. 

Por esa razón, es muy importante realizar un mantenimiento periódico de la base de datos para poder reparar, optimizar y limpiar las tablas.

A continuación, vamos a explicar las diferentes partes en donde se necesita prestar más atención a la hora de optimizar la base de datos.

Configuración del servidor de Base de datos

El servidor de la Base de datos es un tipo de software de servidor que permite la organización de la información mediante el uso de tablas, índices y registros. Es el encargado de gestionar las consultas y el acceso a la información almacenada en las tablas de las bases de datos y el procesamiento y administración del contenido.

Existen varios tipo de servidores de bases de datos. Te mostramos las más conocidas:

Realmente, las más utilizadas por los servidores web son MySQL y MariaDB.

Servidores de bases de datos. MariaDB. MySQL. Gestores de bases de datos.

El primer paso para poder optimizar el servidor de bases de datos es disponer siempre de la última versión instalada en tu servidor. 

Es posible poder modificar los parámetros de estos servidores de bases de datos para optimizar su rendimiento y así mejorar la velocidad envío y respuesta en el procesamiento de las consultas. Por lo tanto, se mejora notablemente la velocidad de carga del sitio web.

Los parámetros se pueden modificar dentro de los archivos específicos para la configuración de estos servidores. Dependiendo del sistema operativo del servidor, este archivo puede ser diferente. No obstante, el más utilizado es el llamado my.cnf y suele estar localizado en el directorio etc/my.cnf 

Para poder modificarlo necesitarías tener acceso al directorio de archivos del servidor.

A continuación, te mostramos las instrucciones para poder modificar los parámetros correctamente dentro del archivo my.cnf:

Instrucciones para configurar el servidor MariaDB

Instrucciones para configurar el servidor MySQL

En la página oficial de Prestashop, tienen publicado un artículo (en español) muy interesante sobre como optimizar los parámetros del servidor de la Base de datos:

Limpieza, optimización y reparación de las tablas de la Base de datos

Para este tipo de tareas es recomendable el uso de módulos o software para poder realizar todas estas operaciones de manera automática y poder analizar el estado de la base de datos antes de realizar cualquier acción.

No obstante, se pueden realizar algunas operaciones de forma manual, siendo muy limitado su uso. Estas operaciones se ejecutan insertando consultas de código SQL a través de los administradores de bases de datos como phpMyAdmin 

Limpiar tablas dinámicas

Esta acción se basa en eliminar los datos de las tablas dinámicas de Prestashop. Las tablas dinámicas son tablas donde se almacenan datos para uso estadístico, de métricas, etc… cuyo contenido no es esencial para el funcionamiento de la tienda online (visitas, conexiones, logs…). Estas tablas se suelen llenar de registros diariamente, por lo que llegan a alcanzar un tamaño considerablemente grande si no se limpian con frecuencia.

Las tablas dinámicas de Prestashop son:

  • ps_connections
  • ps_connections_source
  • ps_connections_page
  • ps_guest
  • ps_log
  • ps_modules_perfs
  • ps_pagenotfound
  • ps_referrer_cache
  • ps_page_viewed
  • ps_smarty_cache
  • ps_smarty_last_flush
  • ps_smarty_lazy_cache
  • ps_statssearch

Para limpiar estas tablas podemos utilizar la siguiente consulta:

TRUNCATE TABLE [nombre de la tabla]

Esta consulta lo que hace es eliminar completamente todos los registros de la tabla, dejándola totalmente vacía.

Ejemplo práctico:

Copy to Clipboard
Optimizar y reparar tablas

Para poder optimizar y reparar las tablas de la base de datos se debe utilizar un módulo o software especialmente diseñado para este tipo de procesos. Para poder reparar una tabla que contiene errores de integridad referencial hace falta ejecutar una serie de procesos complejos mediante SQL. Estos procesos, en su totalidad, no se pueden ejecutar de forma manual por su complejidad. Sin embargo, solamente una parte de estos procesos se puede realizar de forma manual mediante una consulta SQL sencilla:

Reorganiza la estructura de almacenamiento de la tabla:

OPTIMIZE TABLE [nombre de la tabla]

Repara una tabla corrupta (Solamente en tablas con el motor MyISAM):

REPAIR TABLE [nombre de la tabla]

Ejemplo práctico:

Copy to Clipboard

Como hemos indicado antes, estas consultas solamente solucionan una parte dentro del proceso de optimización y reparación de las tablas. Por lo que para poder solucionar errores de integridad referencial, desfragmentar datos fragmentados, eliminar registros con valores inválidos, etc… será necesario hacerlo a través de un módulo o software específico.

En ese caso te recomendamos un módulo de Prestashop que hemos desarrollado para optimizar, reparar, limpiar y realizar un mantenimiento periódico de la base de datos de las tiendas Prestashop. El módulo ULTIMATE DATABASE OPTIMIZER.

El módulo tiene una interfaz gráfica avanzada para poder realizar todas las acciones desde un panel de control con todo detalle. Además, tiene todo lo necesario para mantener la base de datos optimizada y reparada al 100%.

Módoulo Ultimate Database Optimizer. Desarrolladores expertos en Prestashop. Especialistas Prestashop

MÓDULO ULTIMATE DATABASE OPTIMIZER

Monitoriza, optimiza, repara, desfragmenta y limpia las tablas. Aumenta el rendimiento y la velocidad de la web y soluciona los errores de la base de datos. Funciones avanzadas para un mantenimiento integral y periódico de la BBDD.

2.3 Plataforma Prestashop

Si queremos que nuestra tienda Prestashop funcione al máximo de sus posibilidades, tenemos que prestar mucha atención a las opciones de configuración que están disponibles en la sección «Rendimiento» del panel de administración (Back-office).

A continuación vamos a explicar cada una de estas opciones y su elección recomendada:

Configuración
Smarty

Prestashop smarty cache

En esta sección se muestran las opciones relacionadas con el motor de plantillas de Prestashop.

Compilación de plantillas

Indica al sistema Prestashop cuando recompilar de nuevo los archivos de las plantillas (extensión .tpl) para guardarlas de nuevo en la caché. Si no se recompilan los archivos de las plantillas, los cambios o modificaciones que se realicen, no serán visibles. Esto es porque se sigue mostrando al usuario de la web los archivos compilados anteriormente y guardados en la caché.

  • Nunca recompilar los archivos de las plantillas: No se recompilan los archivos de la plantilla. Se recomienda esta opción si la tienda está en producción y no se van a realizar cambios visuales a nivel de archivos de la plantilla. Es la opción que mejor rendimiento proporciona a la tienda, mejorando la velocidad de carga del sitio.
  • Recompilar las plantillas cuando los archivos sean modificados: El sistema solamente vuelve a recompilar los archivos de las plantillas si detecta que se ha modificado su contenido. Recomendamos esta opción si de vez en cuando se realizan modificaciones en los archivos de las plantillas.
  • Forzar compilación: El sistema compila los archivos de las plantillas cada vez que se muestra el contenido al usuario web. Reduce notablemente el rendimiento de la tienda. Esta opción solamente es recomendable tenerla activada mientras se están realizando trabajos de mantenimiento, desarrollo o modificaciones importantes en el sitio web.

Caché

Esta opción controla el uso de archivos de caché para el contenido que se muestra en el frontend y las consultas a la base de datos. Es muy importante que esta opción esté activada, de lo contrario se experimentará una disminución grande de rendimiento del sitio web. Solamente se recomienda su desactivación para tareas de depuración de errores.

Sincronización multiservidor

Disponer de varios servidores para alojar una tienda online y así distribuir su carga, es una práctica que las usan las tiendas online que tienen un gran volumen de productos y reciben miles de visitas diarias (Sitios web como Amazon, Ebay, Aliexpress, etc…).

Esta opción sincroniza los servidores en los que está la tienda Prestashop alojada para servir los archivos de caché. Solamente se debe activar si tienes alojada la tienda en varios servidores conectados entre sí. 

Tipo de caché

Disponemos de dos opciones:

  • Sistema de archivos: Usa la caché a través de archivos con los datos guardados dentro del directorio de la tienda.
  • MySQL: Usa la caché a través de los datos guardados dentro de unas tablas específicas de caché en la base de datos.

La opción más rápida y que mejora más el rendimiento es elegir «Sistema de archivos».  La explicación es que realizar lecturas de los datos a través de consultas a la base de datos es una operación que requiere más tiempo y consume más recursos del servidor.

Borrar la caché

Se debe marcar la opción «Borrar la caché siempre que algo se haya modificado» para que el sistema elimine la caché siempre que detecte que algo se ha modificado dentro del contenido de sus archivos.

Modo depuración

Opciones de depuración Prestashop

Esta sección solamente se debe usar para control y depuración de errores, ya que el modo debug ralentiza la carga de los elementos de la tienda y muestra los mensajes de error existentes en el frontend. Por esta razón es muy importante tener todas sus opciones desactivadas mientras que la tienda está en producción.

Si tienes que activar alguna de estas opciones para depurar errores, previamente la tienda debe estar en modo mantenimiento, de lo contrario, los usuarios de la web podrían experimentar problemas y errores durante la navegación en el sitio web.

Características opcionales

Opciones de características Prestashop

Hay ciertas características de Prestashop que pueden ser desactivadas si no se están utilizando. De esta manera se mejora el rendimiento de la tienda al no tener que cargar estos elementos.

Por ejemplo, el uso de combinaciones de productos en la tienda eleva el número de consultas a realizar a la base de datos y por lo tanto, aumenta el tiempo de respuesta del servidor y el tiempo de carga del sitio. En este caso, si la tienda no está haciendo uso de combinaciones de productos, esta opción puede ser desactivada.

Solamente desactivar las opciones que no se estén utilizando.

CCC (Combinación, Compresión y Caché)

Configuración Cache CCC Prestashop

En esta sección se configuran unas de las opciones más importantes para mejorar el rendimiento del sitio. CCC (Combinación, Compresión y Caché).

  • «Smart cache» para las hojas de estilo (CSS): Esta opción unifica todas hojas de estilo con código CSS procedentes de módulos, plantilla y códigos personalizados y los comprime en un solo archivo para reducir su peso y aumentar la velocidad de lectura de su contenido.
  • «Smart cache» para el código JavaScript: Esta opción unifica todos los códigos Javascript procedentes de módulos, plantilla y códigos personalizados y los comprime en un solo archivo para reducir su peso y aumentar la velocidad de lectura de su contenido.
  • Optimización de Apache: Prestashop inserta código avanzado en el archivo .htaccess ubicado en el directorio de la tienda, para hacer uso de la caché del navegador y servidor y de la compresión del contenido del sitio web a través de Gzip y Deflate. 

Recomendamos que todas estas opciones estén activadas y solamente se desactiven para depuración de errores o durante las fases de desarrollo de la tienda online.

Servidores de medios (utilizar sólo con CCC activado)

Una de las técnicas que más mejora el rendimiento del sitio es distribuir la carga de algunos elementos de la web en distintos servidores (se deben utilizar servidores CDN). Esto se traduce en ubicar elementos como las imágenes, plantilla y los módulos en otros servidores. De esta manera, cuando un usuario visita la tienda, el navegador solicita a cada uno de estos servidores la información que tienen alojada. Esto provoca que la carga no sea asumida por un solo servidor, sino que cada uno asume la carga de sus elementos. 

Configurando esta opción, el incremento de rendimiento y el aumento de la velocidad de carga de la web es extraordinaria. Sin embargo, el proceso de configuración y creación de estos servidores no es sencilla, y si no se realiza correctamente, existirán problemas visuales durante la carga del sitio.

Te dejamos más información sobre cómo configurar estas opciones:

Caché

En esta sección se configura el uso de la caché del propio servidor donde está alojada la tienda online Prestashop. A diferencia de la primera sección «Smarty», este tipo de caché no es de Prestashop, sino como acabamos de indicar, es del propio servidor. Por lo tanto, hay que tener varios aspecto en cuenta antes de proceder a activar algunas de estas opciones:

  • Se debe tener instalada la extensión de caché correspondiente en el servidor antes de activar el sistema de caché deseado.
  • Si el contenido del sitio web está constantemente variando, se insertan nuevos productos, imágenes, o se van realizando trabajos de mantenimiento de forma frecuente, se debe desactivar el uso de caché y limpiar la caché en el servidor (No es lo mismo que limpiar la caché de Prestashop). De lo contrario, podrían existir problemas de visualización de los cambios realizados hasta que no se limpie la caché del servidor.

Después de nuestra experiencia, recomendamos el uso del sistema de caché APC o Xcache debido a que al activar Memcached hemos encontrado algunos problemas relacionado con la visualización de elementos de la web y durante los procesos de añadir productos al carrito. 

Para instalar las extensiones de los sistema de caché en el servidor, deberás consultar con tu proveedor de hosting. En los planes de hosting compartidos, es muy probable que no te permitan instalar estas extensiones.

Módulos de Prestashop

Como ya sabéis a estas alturas, La plataforma Prestashop viene con las funcionalidades básicas para poder operar una tienda online. Sin embargo, si necesitas ampliar, añadir o personalizar funcionalidades, estas se deben hacer mediante la instalación de módulos/addons.

Instalar un módulo supone añadir más elementos a la tienda online e incrementar la carga de trabajo del servidor. Hay módulos que son ligeros y no provocan una gran disminución del rendimiento del sitio. Sin embargo, existen otros módulos que por su arquitectura de código o sus funcionalidades, necesitan muchos recursos del servidor. Por lo que en ese caso, la disminución de rendimiento podría ser notable si no se dispone de un buen servidor con recursos altos.

Por otro lado, también hay aspectos a tener en cuenta como la calidad del código del módulo, el uso de versiones actualizadas, la  buena reputación de los desarrolladores de ese módulo, etc….

En este sentido te damos las siguientes recomendaciones:

  • Instalar solamente módulos oficiales desde la plataforma Prestashop Addons (antes de se publicado, cada módulo pasa por un proceso de verificación y control de calidad para cumplir con los estándares de la plataforma oficial).
  • Mantener siempre el módulo actualizado a la última versión.
  • Instalar SOLAMENTE los módulos que sean imprescindibles para el funcionamiento de la tienda cumpliendo con los requisitos que se desean.
  • Desinstalar o desactivar el resto de módulos que no se estén usando.
  • Hacer uso de módulos que mejoran el rendimiento del sitio web, uso de caché, optimizan la Base de datos, etc… (Ten cuidado a la hora de instalar módulos que mejoran el uso de caché, ya que algunos provocan problemas visuales y numerosas incompatibilidades con otros módulos y funcionalidades de algunos temas).
Módulos recomendados que deberías tener en tu tienda Prestashop

A continuación te proponemos una lista de módulos que consideramos que son indispensables a la hora de montar una tienda online:

Actualización de Prestashop

La plataforma Prestashop está en constante crecimiento y desarrollo. Frecuentemente se publican nuevas versiones con funciones adicionales, corrección de errores, mejoras, etc..

Para mantener un buen rendimiento en la tienda online y evitar errores, es muy importante mantener siempre actualizada la versión de tu tienda online Prestashop.

Para realizar las tareas de actualización de versiones de Prestashop de forma automática, la plataforma ha puesto a disposición de los usuarios un módulo específico llamado 1-Click Upgrade. Este módulo es ideal para cuando se precisa de actualizar versiones menores de la plataforma (ejemplo desde 1.7.1.1 a 1.7.1.2 o 1.7.2). Sin embargo, al ser una tarea automatizada, cabe la posibilidad que ocurra un error que paralice el proceso y la tienda quede dañada e inoperativa.

Por lo tanto, recomendamos su uso siempre que se pretenda realizar una actualización menor, el servidor web sea de alto rendimiento y tenga recursos suficientes para afrontar este proceso y la tienda no sea excesivamente grande con una base de datos pesada.

Si necesitas realizar una actualización mayor, por ejemplo actualizar tu tienda desde la versión de Prestashop 1.6 a 1.7, entonces deberás realizar una actualización manual, migrando las tablas de la base de datos una a una adaptándola a la nueva plataforma.

Este proceso es bastante complicado y solamente está al alcance de expertos en Prestashop. Puedes contratar este servicio con nosotros:

Temas (Plantillas)

Hacer uso de un tema profesional y actualizado a la última versión, determina en mayor medida que tu tienda funcione bien y tenga un buen rendimiento. Además esto es determinante para el SEO, debido a que una plantilla con una buena estructura cumpliendo con las directrices de los principales buscadores como Google, Bing, etc… mejorará notablemente el SEO.

En este caso recomendamos solamente el uso de temas procedentes de desarrolladores con buena reputación y que tengan un maquetador profesional como Elementor, Visual Composer o similar.

A continuación, una lista de sitios y temas recomendados por nosotros:

2.4 Imágenes web

Las imágenes son unos de los elementos principales de una página web o tienda online. En el caso de las tiendas online, cada producto debe contener una o varias imágenes. Estos elementos, como ocurre con el resto, tienen un tamaño determinado. Cuanto más tamaño y dimensión tenga una imagen, mayor carga de trabajo genera al servidor para poder procesar estos elementos, por lo tanto, mayor será el tiempo de carga.

Es muy importante optimizar las imágenes que se van a usar en el sitio web. Para esta tarea existen software específicos, aplicaciones web o módulos.

Hemos creado un artículo sobre la optimización de las imágenes web. Puedes visitarlo para obtener más información:

¿Necesitas optimizar tu tienda online Prestashop para aumentar el rendimiento de tu sitio web, incrementar las visitas, el SEO y aumentar las ventas?

 

En Liewebs te ofrecemos un servicio para optimizar tiendas Prestashop. Garantizamos un aumento de rendimiento y velocidad en el sitio web. Mejora en las puntuaciones de las herramientas de métricas y en el SEO.