Cómo cambiar la contraseña de administrador de PrestaShop si la olvidaste
¿Por qué no puedes acceder al panel de administración de PrestaShop?
Que se te haya olvidado la contraseña de administrador de tu tienda PrestaShop es más común de lo que parece. Especialmente si llevas tiempo sin entrar al back office o si has heredado la gestión de una tienda de otra persona. El problema es que, a diferencia de otros sistemas, PrestaShop no tiene un enlace directo de "¿Olvidaste tu contraseña?" en la pantalla de login del administrador que funcione siempre de manera fiable.
Pero no te preocupes. Existen varios métodos para recuperar contraseña prestashop admin y volver a tener el control de tu tienda. En esta guía te explicaré paso a paso, de forma clara y sin tecnicismos, cómo hacerlo. Incluso si no eres una persona técnica, podrás seguir estas instrucciones sin problema.
Antes de empezar, es importante que sepas que necesitarás acceso a dos cosas: el panel de control de tu hosting (como cPanel, Syspanel o similar) o un cliente FTP (como FileZilla). Si no tienes estos datos, contacta con tu proveedor de hosting para que te los facilite.
Método 1: Cambiar la contraseña mediante una consulta SQL (La más segura)
Este es el método más recomendado y limpio para cambiar contraseña admin prestashop. Básicamente, lo que haremos es generar una nueva contraseña encriptada y actualizarla directamente en la base de datos de tu tienda. No necesitas ser un experto en bases de datos, solo seguir los pasos.
Paso 1: Accede a la base de datos de tu tienda
Primero, necesitas entrar en el administrador de bases de datos de tu hosting. Normalmente, se llama phpMyAdmin.
- Ve al panel de control de tu hosting (cPanel, Syspanel, Plesk, etc.).
- Busca la sección de Bases de Datos.
- Haz clic en el icono de phpMyAdmin.
[INFO] Si tu hosting usa Syspanel, el acceso a phpMyAdmin suele estar en el menú lateral bajo "Bases de Datos". Recuerda que el acceso a Syspanel es a través del puerto 2106 (por ejemplo,
https://tu-dominio.com:2106).
Paso 2: Encuentra la tabla de empleados
Una vez dentro de phpMyAdmin, verás una lista de bases de datos a la izquierda. Haz clic en la base de datos que corresponde a tu tienda PrestaShop (suele tener un prefijo como ps_ o el nombre de tu tienda).
Ahora, busca una tabla que se llame ps_employee. Haz clic en su nombre. Esta tabla es donde PrestaShop guarda los datos de los usuarios que pueden acceder al panel de administración.
Paso 3: Genera una nueva contraseña encriptada
Aquí es donde muchas guías se complican. Pero es más fácil de lo que parece. PrestaShop necesita que la contraseña esté en un formato especial (hash MD5). Para generarla, vamos a usar una herramienta online.
- Abre una nueva pestaña en tu navegador.
- Ve a cualquier generador de hash MD5 online (busca "generador md5" en Google).
- En la herramienta, escribe la nueva contraseña que quieres usar (por ejemplo,
MiNuevaClave2024!). - Haz clic en "Generar" o "Encriptar".
- Copia el resultado. Será una cadena de texto de 32 caracteres (letras y números). Importante: Necesitarás también una "sal" (salt), pero para simplificar, usaremos el método de PrestaShop 1.7 y superiores, que no requiere sal si se genera correctamente.
[WARNING] Este método con MD5 simple funciona para PrestaShop 1.6 y versiones anteriores. Para PrestaShop 1.7, 1.8 y 8.x, el algoritmo es más complejo (usa COOKIE_KEY). Si tu tienda es 1.7+, te recomiendo saltar al Método 2 o Método 3 de esta guía, que son más seguros y efectivos.
Paso 4: Actualiza la base de datos
Ahora vuelve a phpMyAdmin, a la tabla ps_employee.
- Busca la fila que tiene tu nombre de usuario (columna
firstnameylastname) o tu email (columnaemail). - Haz clic en el icono de "Editar" (normalmente un lápiz) en esa fila.
- Busca la columna llamada
passwd. - Borra el valor que hay dentro y pega el hash MD5 que generaste en el paso anterior.
- Haz clic en "Continuar" o "Ejecutar" en la parte inferior.
¡Listo! Ahora puedes intentar iniciar sesión en tu back office con tu email y la nueva contraseña que elegiste.
Método 2: Crear un script PHP para resetear la contraseña (Funciona en todas las versiones)
Este método es el más universal y te permitirá resetear password prestashop incluso si tienes la versión 1.7 o superior. Consiste en crear un pequeño archivo de texto que, al ejecutarse, cambie la contraseña automáticamente.
Paso 1: Crea el archivo de script
Abre el Bloc de notas de tu ordenador (o cualquier editor de texto simple) y pega el siguiente código:
<?php
define('_PS_ADMIN_DIR_', __DIR__);
define('_PS_ROOT_DIR_', __DIR__ . '/..');
require_once(_PS_ROOT_DIR_ . '/config/config.inc.php');
require_once(_PS_ROOT_DIR_ . '/init.php');
$email = 'tu-email@admin.com'; // Cambia esto por tu email de administrador
$new_password = 'TuNuevaContraseñaSegura123!'; // Cambia esto por tu nueva contraseña
$employee = new Employee();
$employee->getByEmail($email);
if ($employee->id) {
$employee->passwd = Tools::hash($new_password);
if ($employee->update()) {
echo 'Contraseña actualizada correctamente. ¡Ya puedes borrar este archivo!';
} else {
echo 'Error al actualizar la contraseña. Revisa los permisos.';
}
} else {
echo 'No se encontró el email de administrador. Revisa que el email sea correcto.';
}
?>
Paso 2: Sube el archivo a tu servidor
- Guarda este archivo con el nombre
reset_password.php(o cualquier nombre que recuerdes). - Conéctate a tu hosting mediante FTP (con FileZilla, por ejemplo) o a través del "Administrador de Archivos" de tu panel de control (Syspanel, cPanel, etc.).
- Sube el archivo a la carpeta raíz de tu tienda. Es la carpeta donde están las carpetas
admin,config,classes, etc. Normalmente se llamapublic_html,htdocso el nombre de tu dominio.
Paso 3: Ejecuta el script
- Abre tu navegador web.
- Escribe la URL de tu tienda seguida del nombre del archivo. Por ejemplo:
https://tu-tienda.com/reset_password.php. - Al cargar la página, verás el mensaje "Contraseña actualizada correctamente".
Paso 4: Elimina el archivo inmediatamente
Este paso es crucial. Deja de ser un script útil y se convierte en un agujero de seguridad gigante. Cualquiera que conozca la URL podría cambiar la contraseña.
- Vuelve a tu FTP o Administrador de Archivos.
- Busca el archivo
reset_password.php. - Bórralo de inmediato.
[WARNING] Nunca dejes este tipo de archivos en tu servidor. Es la puerta de entrada perfecta para que hackeen tu tienda.
Método 3: Si tienes acceso a Syspanel o al hosting (La más fácil)
Si tu hosting utiliza el panel Syspanel, a veces hay una forma aún más directa. Aunque no es una función estándar de PrestaShop, muchos paneles de control ofrecen herramientas para gestionar archivos y bases de datos de forma muy visual.
Paso 1: Accede al Administrador de Archivos
- Entra en Syspanel usando el puerto 2106 (ej:
https://tu-dominio.com:2106). - Ve a la sección de "Archivos" o "Administrador de Archivos".
- Navega hasta la carpeta raíz de tu PrestaShop.
Paso 2: Localiza el archivo de configuración
Dentro de la carpeta raíz, busca la carpeta config. Dentro de ella, hay un archivo llamado settings.inc.php (en PrestaShop 1.6) o parameters.php (en PrestaShop 1.7+). No lo modifiques directamente, pero anota el valor de _COOKIE_KEY_ de este archivo. Lo necesitarás si decides usar el Método 1 con una herramienta avanzada.
Paso 3: Usa el método del script (Recomendado)
La forma más segura desde Syspanel es combinar este acceso con el Método 2. Al tener el Administrador de Archivos en Syspanel, te resultará muy fácil subir y eliminar el archivo reset_password.php sin necesidad de usar FTP.
- Crea el archivo PHP como se explica en el Método 2.
- Usa el botón "Subir" del Administrador de Archivos de Syspanel para colocarlo en la raíz.
- Ejecuta la URL en tu navegador.
- Elimina el archivo desde el mismo panel.
Método 4: La vía directa si conoces el email (Solo para versiones antiguas)
En versiones muy antiguas de PrestaShop (1.4 o 1.5), existía la opción de recuperar la contraseña por email. En las versiones modernas, esta opción está deshabilitada por seguridad. Pero si tu tienda es muy antigua, a veces funciona.
- Ve a la URL de tu administrador (normalmente
tudominio.com/admin1234). - En la pantalla de login, busca un enlace que diga "¿Olvidó su contraseña?".
- Introduce tu email de administrador.
- PrestaShop te enviará un correo con un enlace para restablecerla.
[INFO] Si este enlace no aparece o el correo no llega, es porque tu versión no lo soporta. Pasa directamente al Método 2, que es infalible.
Consejos finales para no volver a perder el acceso
Una vez que hayas logrado recuperar contraseña prestashop admin, es un buen momento para tomar medidas que te eviten pasar por este problema de nuevo.
- Guarda la contraseña en un gestor de contraseñas como LastPass, 1Password o Bitwarden. Son gratuitos y muy seguros.
- Actualiza el email de administrador en la tabla
ps_employeepara asegurarte de que es uno que consultas a menudo. - Crea un segundo usuario administrador. Así, si pierdes el acceso de uno, puedes usar el otro para recuperar el control. Ve a "Parámetros Avanzados" > "Equipo" en tu back office para añadir un nuevo empleado con permisos de administrador.
- Mantén tu PrestaShop actualizado. Las versiones antiguas tienen vulnerabilidades que facilitan los ataques. Un atacante podría cambiar tu contraseña antes que tú.
Espero que esta guía te haya sido de gran ayuda. Si has seguido los pasos del Método 2, en menos de 10 minutos deberías tener acceso de nuevo a tu tienda. Recuerda siempre borrar los archivos temporales que crees y mantener tus credenciales en un lugar seguro. ¡Mucha suerte con tu tienda!
