PrestaShop es un software de comercio electrónico y código abierto, diseñado especialmente para la creación y gestión de tiendas online. Desarrollado en PHP, MySQL, Smarty y Symfony y funcional sobre Apache o Nginx.
Las principales características de Prestashop son la gran facilidad de uso y la multitud de opciones de personalización que presenta.
Dado que actualmente Prestashop tiene cerca de 300.000 instalaciones activas vamos a dar unos consejos de mantenimiento de Prestashop para que estos eCommerce sean lo más óptimas posibles.
Actualizaciones en el mantenimiento de Prestashop
Como en todo, la principal barrera de seguridad es mantener todo el sistema actualizado al día. Y, como siempre insistimos y más en el mantenimiento de Prestashop, es importante utilizar plantillas y extensiones reconocidas y actualizadas regularmente por sus desarrolladores.
Para las actualizaciones en Prestashop existe el módulo «1-Click Upgrade» que te permite actualizar de forma rápida y segura. Pero antes de ello recuerda hacer una copia de seguridad y poner tu sitio web en mantenimiento.
Para actualizar módulos y plantillas deberás contar con las correspondiente licencias y seguir los pasos que te indique el autor.
Limpieza de base de datos
PrestaShop realiza múltiples conexiones a la base de datos para recuperar precios, sesiones de usuarios, imágenes, datos de producto, etc. Mientras estas consulta se ejecutan la web puede estar parada esperando los resultados para mostrarlos al usuario, por lo que es muy importarte tenerla optimizada y lo más ligera posible.
Para ello vamos a detallar aquellas tablas sobre las que se debe hacer limpieza de forma periódica y no dejar que estas aumenten mucho su tamaño.
Para realizar un buen mantenimiento de Prestashop necesitaremos acceso al gestor de base de datos, por ejemplo a PHPMyAdmin, para poder manejar las tablas de nuestra base de datos.
Las tablas dinámicas sobre las que podemos hacer limpieza sin afectar a los servicios de nuestro Prestashop son:
- ps_connections -> Almacena datos sobre la IP de los visitantes y las páginas que visitan.
- ps_connections_source -> Almacena las palabras clave de las conexiones.
- ps_connections_page -> Almacena los datos de los tiempos de conexión de los usuarios a la página.
- ps_guest -> Almacena los datos de las conexiones sin llegar a loguear.
- ps_page_viewed –> Almacena los datos páginas visualizadas
- ps_log -> Almacena los registro de errores.
- ps_pagenotfound -> Almacena errores 404 de páginas no encontradas.
- ps_referrer_cache -> Almacena datos de referidos del programa de afiliados.
- ps_statssearch -> Almacena datos de estadísitcas del motor de búsqueda.
- ps_smarty_cache -> Almacena los archivos compilados de Smarty.
- ps_smarty_lazy_cache -> Almacena los archivos lazy compilados de Smarty.
Recuerda:
Siempre hacer una copia antes de vaciar/truncar las tablas de la base de datos.
El prefijo ps_ puede ser diferente según la instalación de Prestashop.
Parámetros de PHP óptimos
No tenemos que olvidarnos de que nuestro hosting establecerá por defecto unos parámetros para la configuración de PHP, los cuales podemos modificar desde el .htaccess, php.ini o desde el propio panel de hosting en la configuración de PHP. Ajustando estos parámetros a las necesidades de nuestro Prestashop conseguiremos un mayor rendimiento en nuestro sitio web.
A continuación vamos a ver los parámetros que podemos ajustar y que valores generales podemos ajustar para mejorar su rendimiento:
- max_execution_time = 300 -> Establecer en 300 el tiempo máximo en segundos que un script puede ejecutarse antes de que finalice.
- max_input_time = -1 -> Establece en ilimitado el tiempo máximo en segundos que un script puede analizar datos de entrada
- memory_limit = 512M -> Establece en 512 el límite máximo de memoria en megas que deberá ser usada para los procesos.
- post_max_size = 32M -> Establece en 32 el tamaño máximo permitido para solicitudes POST.
- upload_max_filesize = 16M -> Establece el tamaño máximo permitido para la subida de archivos al servidor.
- max_input_vars = 20000 -> Establece el límite máximo de variables en 20000 que pueden ser aceptadas durante las solicitudes al servidor. Se recomiendan valores alto en caso de usar traducciones.
- allow_url_fopen = on -> Activar esta directiva nos va a permitir que se abran URLs externas lo que es necesario para la ejecución de muchos módulos y addons.
- Zlib.output_compression = on -> Habilitar la compresión GZIP en el nivel predeterminado, necesario en muchos casos para instalar módulos y paquetes.
- Zlib.output_compression_level = 6 -> Establecer el nivel de compresión
- Extension = mcrypt.so -> Se usa para cifrar las cookies, asegurate de tenerlo activado.
Más información de requisitos básicos del sistema aquí
Limpieza de caches periódica
La caché es importante para mejorar la carga de páginas en PrestaShop por esto es recomendable realizar una limpieza de caches de forma periódica dentro del mantenimiento de Prestashop, según el uso, para evitar sobrecarga y que estas afecten al rendimiento de nuestro sitio web.
Podemos limpiar la cache desde el backoffice de prestashop accediendo a parámetros avanzados, rendimiento y pulsando sobre el botón de Borrar la cache.
También podemos buscar el bloque de Smarty desactivar la cache y guardar.
Además podemos hacerlo de forma manual, lo que en algunos casos es necesario si no tenemos los permisos de ficheros correctos o si el sitio nos da algún error. Para esto debemos acceder por ssh o ftp y eliminar el contenido de las siguientes directorios:
- cache/smarty/compile/ (excepto el index.php)
- cache/smarty/cache/ (excepto el index.php)
- img/tmp/
- themes/nombredetutheme/cache/ (excepto el index.php)
Si usamos cacheadores adicionales como LiteSpeed Cache, es recomendable acceder al módulo correspondiente desde el backoffice y purgar la cache de este.
Copias de seguridad
Y no nos podemos olvidar uno de los puntos más importantes en el mantenimiento web, que es el control de copias de seguridad. En prestashop existen diferentes módulos para realizar las copias o puedes hacerlas de forma manual copiando los ficheros y la base de datos.
Pero recuerda siempre testear tus copias de forma periódica para asegurarte que no hay errores que pueden afectar a la recuperación del sitio en caso de desastres.
Y recuerda si necesitas ayuda con el mantenimiento de Prestashop o con alguna de estas tareas contáctenos.