Saltar al contenido

Categorías

Redireccionar al back office en PrestaShop

Si tienes un e-commerce ya debes haber vivido tu cuota de espantos y misterios. No es que se trate de una peli de horror, pero algunas mañanas vienen con carga extra de sorpresas, y no de las buenas.

Hoy quiero hablarte de un problemilla que puede estar comprometiendo la funcionalidad de tu tienda en PrestaShop. Si estás tratando de acceder al back office y no puedes lograrlo, ya sabes por dónde va la historia.

Es un error que tienes que atajar cuanto antes, porque no tener acceso a tu tienda es casi como no tener tienda en absoluto. El asunto es que cuando intentas entrar al back office de tu PrestaShop, regresas a la página de iniciar sesión.

Es como montarse en una noria o entrar en un bucle. Pero la solución es sencilla. Voy a dejarte dos métodos para que elijas el que se ajusta a tu circunstancia. Y ya que estamos, te recomiendo mantener siempre actualizada tu versión de PrestaShop.

Recuerda que las versiones más nuevas traen soluciones ante bugs y errores que aparecieron en las anteriores. Por otra parte, también te invito a que revises los módulos gratuitos. Porque aunque hay muchos que no te servirán de nada, otros son espectaculares.

Por qué se redirecciona tu tienda del back office al login

 

¿Por qué se redirecciona tu tienda del back office al login?

Bueno, hasta donde he visto hay más de una causa para este problema. Eso no quiere decir que solo existan estas de las que voy a hablarte. Ya sabes que en cuestiones de management de tiendas, los bugs o fallas van apareciendo con el uso.

Por eso es importante evolucionar y mantenerse al día. Los nuevos módulos o addons vienen casi siempre programados para ser compatibles con las versiones recientes. Aprovecho para recordarte que desde la versión 1.4 de PrestaShop, la actualización apenas te toma un clic.

Voy a darte dos variantes.
La primera para los casos en que activaste un CDN.
Y la segunda para los casos en que no lo has activado, pero aun así te redirecciona al login.

Esta causa de redireccionamiento del back office al login usando un CDN ocurre en la versión 1.7 de PrestaShop. Primero voy a explicarte qué es un CDN, en el caso de que no lo estés usando y creas que puede interesarte.

Definitivamente te recomiendo el uso de uno. Vamos a ver por qué.

Qué es un CDN y por qué usarlo

¿Qué es un CDN y por qué usarlo?

Un CDN es una red de distribución de contenidos que funciona desde un servidor externo, y que se comunica con el servidor donde está alojada tu web. El resultado más evidente de este proceso es que se acelera la velocidad de carga de tu página. Entre otras cosas porque se trata de una red de servidores distribuidos por todo el mundo.

Ya has comprobado que si un usuario demora más de dos o tres segundos esperando que cargue tu website, abandona. O sea que un CDN es vital si tienes mucho tráfico. Y uno de los requisitos a tener en cuenta para mejorar la experiencia de usuario, y los tiempos de navegación y respuesta.

De manera general los CDN optimizan recursos, fundamentalmente en imágenes pesadas. Así, tu web se encarga de procesar la información que solicitan los visitantes.

Digamos que tienes un cliente en Japón, el CDN te garantiza que el tiempo de respuesta sea menor. Como si en lugar de solicitarlo de Japón a España, la comunicación fuera de Japón a Japón.

Otra de las ventajas de usar un CDN es que funciona en cierta medida como una copia de seguridad. Ya sabes que el servidor CDN realiza una copia estática de tu website. Además, los servidores CDN son en cierta medida otra barrera contra el hackeo.

Por qué se redirecciona del back office al login al usar un CDN

¿Por qué se redirecciona del back office al login al usar un CDN?

Cuando instalas un módulo que modifique tu tienda, hay varios parámetros que necesitas verificar. En ocasiones existe una contradicción entre la configuración previa y la que solicita el módulo.

En el caso del CDN, puede suceder que PrestaShop intentase verificar la IP de tu servidor. Pero el CloudFlare del CDN estaba usando su propia IP. Seguro recuerdas que el CloudFlare puede actuar como un proxy. Y que, al activarlo, cambiaste los servidores DNS que tenías por defecto.

¿Ya vas entendiendo? Como es natural no coinciden las direcciones IP y el login no funciona. Es como si se tratase de sesiones distintas. Por eso te redirecciona una y otra vez a la página de login.

Cómo redireccionar al back office en PrestaShop si usas CDN

¿Cómo redireccionar al back office en PrestaShop si usas CDN?

El procedimiento es muy sencillo. Voy a dejarte paso a paso lo que tienes que hacer. Y verás que tu tienda empieza otra vez a funcionar correctamente.

Lo primero es acceder a la configuración. Busca los parámetros u opciones avanzadas y luego cliquea en administración. El trabajo está prácticamente hecho.

Solo te resta marcar NO en la casilla que dice “comprobar dirección IP de la cookie”. ¡Y listo! Ya no habrá contradicción cuando se procese tu solicitud desde el navegador.

Cómo redireccionar al back office en PrestaShop sin CDN

¿Cómo redireccionar al back office si no usas un CDN?

Esta variante es para el caso que no uses CDN y aun así tengas el mismo problema. En este caso voy a dejarte la ruta a seguir y la porción del código que debes modificar para solucionar el error. Ve al directorio raíz y localiza el fichero httpdocs.

La ruta sería:

httpdocs/classes/controller/AdminController.php/

una vez allí edita el fichero, busca public function initHeader(); y detrás añade esta línea

header('Cache-Control: no-store, no-cache');

Recuerda usar un editor de texto plano y respetar la sintaxis del código. Si eres de quienes prefiere guardarlo como texto sin formato, te recuerdo que al momento de la conversión pueden aparecer errores de sintaxis.

Lo mejor es buscar un IDE de PHP que tiene autocompletado, y además señala los errores en el código. Aunque si tienes un favorito y estás acostumbrado a trabajar con él, mejor seguir con el conocido.

Conclusiones

Ya tienes de vuelta tu tienda en PrestaShop. Espero que al encontrarte con el asunto de ir una y otra vez a la página de inicio de sesión no pensaras que se trataba del ataque de un hacker. Ya viste que es sencillo solucionar este error, y que es aconsejable usar un CDN.

Voy a dejarte dos consejos además de realizar un mantenimiento y optimización estable de tu website, y actualizar tu PrestaShop. El primero es que revises entre los módulos que no usas, y los desactives.

Y el segundo es que chequees que no tengas otros problemas de redireccionamiento en tu tienda. La organización es una invaluable herramienta SEO.