¿Qué hacer si el BackOffice de Prestashop va lento?
En ocasiones el backoffice de Prestashop va muy lento y tarda en cargar más de lo deseable o apreciamos una
considerable lentitud en la interfaz de gestión de Prestashop que nos dificulta realizar todo tipo de tareas, desde configurar productos a tramitar pedidos y especialmente detectamos problemas en la sección de módulos.
Esto puede deberse a que la tienda se conecta a servicios externos (como los complementos de Prestashop) para obtener datos sobre actualizaciones de versión y de módulos, nuevas ofertas, consejos, etc.
Detener esta comunicación puede aumentar la velocidad del backoffice de tu Prestashop.
Repasaremos también otros aspectos que influyen en el desempeño, como los módulos utilizados o la limpieza de la base de datos y diferentes soluciones para cada caso para recuperar toda la productividad que podamos y aumentar el rendimiento de la zona de administración.
Indice
Desconectando de los servidores de Prestashop
Como siempre recomendamos, el primer paso debe ser realizar una copia de seguridad de tu tienda Prestashop, tanto de los archivos que se vayan a modificar como de la base de datos. Te vamos a explicar cómo mejorar el rendimiento del backoffice en sencillos pasos por lo que prácticamente todo lo que necesitas saber es utilizar un programa de FTP o el administrador de archivos de tu CPanel o Plesk.
Solución drástica si el Backoffice de Prestashop va lento
Añadir un override especial a la clase Tools.
En gran parte de las ocasiones, la responsable del retraso en el backoffice de Prestashop podría ser la verificación de Prestashop Addons que obliga a establecer una serie de conexiones con un servidor externo. Por desgracia, dicho servidor recibe en ocasiones muchas peticiones por lo que tarda en responder, demorando la
carga de nuestro backoffice.
Puedes arreglar rápidamente esto de raíz deshabilitando toda conexión a los servidores de Prestashop en la clase Tools.
Para ello sólo tienes que crear un archivo Tools.php en tu carpeta /override/classes/ con el siguiente contenido:
Si ya tienes el archivo Tools.php en tus overrides, sólo necesitas añadir la siguiente función allí, justo antes de la última llave:
Luego borra (sin miedo, se genera de forma automática) el archivo /cache/class_index.php para forzar la regeneración de overrides.
La contrapartida por tomar esta solución es que se perderán las funcionalidades relacionadas como actualización de módulos, sugerencias de temas y de módulos… Algo que cada uno debe valorar.
Solución moderada si el Backoffice de Prestashop va lento
Si no buscas algo tan drástico como deshabilitar completamente las conexiones hacia Prestashop Addons y te vale con reducir un poco la lentitud del backoffice, creamos también un archivo /override/classes/Tools.php pero con el siguiente contenido:
Como con el anterior método, borraremos el archivo /cache/class_index.php para limpiar la caché y comprobar el correcto funcionamiento de los cambios introducidos.
Si quieres acelerar el rendimiento de tu Prestashop no sólo en el backoffice si no también en el frontoffice lee el post cómo acelerar y optimizar el rendimiento de tu Prestashop
Backoffice Prestashop 1.7 lento
¿Y qué sucede si utilizamos Prestashop 1.7?
Debido a los cambios en la arquitectura introducidos en la versión 1.7, no es posible realizar el mismo override que en la versión 1.6 a la clase Tools para conseguir el comportamiento deseado.
Si tienes un Prestashop 1.6 y quieres saber cómo actualizar a la versión 1.7 lee el post actualizar Prestashop 1.6 a 1.7
Para desconectar los complementos en Prestashop 1.7 , necesitamos ir al archivo classes/Tools.php y localizar esta línea:
protected static $is_addons_up = true;
Y cambiarla por:
protected static $is_addons_up = false ;
Guarda los cambios, dirígete a /config/xml y elimina el archivo country_module_list.xml para que produzca efecto. Recuerda que al no tratarse de un override, si actualizas tu versión de Prestashop se perderá este cambio y deberás volver a realizarlo.
Optimizando los módulos
Habitualmente deshabilitar la conexión con Prestashop Addons mejora considerablemente los tiempos de respuesta pero qué podemos hacer si experimentamos cuelgues en el backoffice o incluso caídas puntuales del panel de control de Prestashop o no acabamos de conseguir la velocidad que necesitamos para nuestra productividad.
Vamos a optimizar el uso de módulos en Prestashop para mejorar la experiencia de uso.
Deshabilitar recomendación de módulos
Además de los módulos recomendados por Addons, Prestashop también verifica la lista de módulos relacionados con cada sección del backoffice donde nos encontremos mostrándolos en la barra superior.
Para deshabilitar este comportamiento debemos crear un archivo /override/classes/controller/AdminController.php con el siguiente contenido:
<?php
class AdminController extends AdminControllerCore
{
protected function initTabModuleList()
{
return;
}
}
Esta función es independiente de las recomendaciones de Addons vistas en el anterior punto por lo que si quieres más velocidad puedes aplicar ambas soluciones o sólo aquella de la que te interese prescindir.
Desinstalar el módulo «Experiencia comercial»
Otro pequeño truco que puede hacer que tu backoffice de Prestashop vaya más rápido es desinstalar el módulo Experiencia Comercial desde la administración de módulos, luego vamos a “Administración -> Ajustes” y desactivamos la búsqueda automática de actualizaciones de módulos.
Desinstalar el módulo “Cron”
Por defecto, Prestashop suele instalar el módulo «Administrador de Tareas Cron» para ejecutar algunas tareas programadas. Si bien su utilidad puede estar justificada ya que otros módulos pueden necesitar de tareas periódicas como generar un sitemap.xml, lo cierto es que no se trata de la mejor de las implementaciones y consume demasiados recursos y tiempo de proceso.
Por tanto, la mejor opción es desinstalarlo y programar las tareas en el administrador Cron que facilite el hosting, accesible desde tu panel web. Recuerda que, aunque no tengas ninguna tarea listada dentro del módulo de tareas Cron de Prestashop, éste sigue teniendo impacto en el rendimiento.
Módulos de estadísticas
Dentro de los complementos de Prestashop hay una serie de módulos denominados de estadísticas que permiten desde monitorizar las ventas de nuestra tienda online a ver la procedencia o el tráfico que tenemos. Hay que reconocer que tener todas estas métricas en el dashboard de Prestashop puede parecer práctico y una forma centralizada de planificar nuestra estrategia online en base a los datos obtenidos pero, por desgracia, ofrece menos ventajas de las que parece.
Por un lado, como hemos comentado muchas veces, Prestashop es un devorador de la base de datos y cuantos más datos puede acumular más engorda y se vuelve cada vez menos ágil. Por otro lado, las herramientas de monitorización de PS no son las más precisas ni ofrecen todo lo que necesitas así que, si no lo has hecho ya, enlaza tu tienda con Google Analytics y no pierdas más el tiempo.
Tu competencia no lo hace y nosotros te damos esta estupenda guía de Google Analytics para Dummies que te lo deja todo muy bien explicado.
Para recuperar todo el rendimiento que nos quitan estos módulos, repasaremos uno a uno su funcionalidad y desinstalaremos todo aquel que no nos sea completamente imprescindible.
Si quieres saber cuales son algunos de los módulos más interesantes para Prestashop lee el post los mejores módulos Prestashop.
Desinstalación manual de módulos
Es posible que por diferentes problemas, por ejemplo el propio rendimiento, en alguna ocasión no puedas desinstalar un módulo desde la correspondiente sección de la administración. Si te preguntas cómo puedo desinstalar un módulo sin iniciar sesión en el backoffice deberás conectarte a tu servidor mediante FTP, buscar la ruta /modules/ y cambiar los nombres de las carpetas de aquellos módulos (por ejemplo, agrega un sufijo «xxx», quedando el nombre de la siguiente forma “gamification-xxx”) que quieras inhabilitar.
Borrar los archivos xml
Por último, ve a la carpeta /config/xml y borra todos los archivos xml que haya para forzar su regeneración y/o limpieza.
Limpieza de la base de datos
De forma adicional a las medidas de optimización que hemos ido detallando, es importante realizar limpiezas periódicas de la base de datos que eliminen todos los rastros de información inútil que hacen más lenta su ejecución. Recomendamos habitualmente la herramienta de limpieza PS Cleaner (usando sólo las opciones “Limpieza de base de datos” y “Comprobación de integridad funcional” ya que las otras opciones pueden borrar todo el catálogo, si se usan).
Conclusiones
Esperamos que estos consejos te ayuden a mejorar la velocidad de tu backoffice. Son fáciles de
seguir y revertir por lo que no es necesario un alto grado de experiencia para realizarlos con éxito.
No obstante, si sigues experimentando problemas de carga backoffice lento hay todavía una serie de
recomendaciones que puedes comprobar con el objetivo de localizar el problema.
Mejoras en rendimiento en tu instalación de Prestashop
Asegúrate de estar usando la última versión disponible, quizá la lentitud de tu backoffice se debe a un
bug que ya ha sido corregido.
Descarta todos los módulos que no creas necesarios en cualquier caso, siempre supondrá una
mejora de rendimiento. Asegúrate también de tener actualizados los que más usas.
Mejoras de rendimiento en tu hosting
Primero, revisa de nuevo si tu servidor cumple con los requisitos técnicos para la versión de
Prestashop que estás usando. Si dudas con qué versión de php usar con Prestashop te recomendamos que con PS 1.6.1.x o Prestashop 1.7.x uses PHP 7 y no versiones anteriores (que son mucho más lentas) ni tampoco versiones más modernas que no están completamente soportadas por PS.
Comprueba también desde el panel de tu hosting qué porcentaje de recursos estás utilizando. Es
posible que el plan que tenías contratado y que cubría plenamente tus necesidades se esté quedando corto con el aumento de productos, datos y clientes. En ese caso podría ser el momento de pasar a un plan superior o de migrar a un hosting más adecuado a las necesidades de Prestashop. Si necesitas ayuda para escoger el mejor servidor para Prestashop contacta con nosotros y te indicaremos la mejor opción dependiendo de tus necesidades específicas
Si siguiendo todos estos consejos sigues teniendo problemas pero ninguna causa probable, será necesario hacer un estudio profesional de qué es exactamente lo que afecta a tu Prestashop con herramientas de análisis profundo.
No dudes en contactarnos si necesitas ayuda.