Perder el acceso al panel de WordPress pasa más de lo que parece: se te olvidó el correo con el que creaste la cuenta, el sitio lo heredaste sin credenciales o alguien se coló y borró tu usuario. Si puedes entrar a la base de datos o ejecutar WP-CLI, volver a ser administrador toma un par de minutos. Esta guía muestra los dos caminos, y los probé en una instalación local de WordPress 7.1.
> Antes de empezar: haz una copia de la base de datos (en phpMyAdmin, pestaña Exportar). Vas a escribir directamente en las tablas de usuarios y un error ahí es difícil de deshacer.
Primero averigua el prefijo de tus tablas
Casi todos los tutoriales dan por hecho que las tablas empiezan por wp_, pero no siempre es así. Abre wp-config.php y busca esta línea:
$table_prefix = 'wp_';
Lo que haya entre comillas es tu prefijo. En los ejemplos de abajo uso wp_; cámbialo por el tuyo. Si el prefijo no coincide, las consultas fallarán o, peor, crearán un usuario que WordPress no reconoce como administrador.
Opción 1: con WP-CLI (la más cómoda)
Si tienes acceso por SSH al servidor y WP-CLI instalado, no hace falta tocar la base de datos a mano. Desde la carpeta del sitio:
wp user list --role=administrator
Ese comando muestra quiénes son hoy los administradores; a veces el usuario existe y solo hay que cambiar su contraseña:
wp user update nombre-de-usuario --user_pass='UnaClaveLargaYUnica#2026'
Y para crear un administrador nuevo:
wp user create nuevoadmin correo@ejemplo.com --role=administrator --user_pass='UnaClaveLargaYUnica#2026'
Puedes comprobar que la clave quedó bien con wp user check-password nuevoadmin 'UnaClaveLargaYUnica#2026', que no imprime nada si coincide.
Opción 2: con SQL en phpMyAdmin
Esta es la vía cuando solo tienes el panel de tu hosting. Entra a phpMyAdmin, selecciona la base de datos de tu sitio y abre la pestaña SQL.
Paso 1: crea el usuario
INSERT INTO wp_users
(user_login, user_pass, user_nicename, user_email, user_url, user_registered, user_status, display_name)
VALUES
('nuevoadmin', MD5('UnaClaveLargaYUnica#2026'), 'nuevoadmin', 'correo@ejemplo.com', '', NOW(), 0, 'nuevoadmin');
Cambia nuevoadmin, la contraseña y el correo. Sí, la clave se guarda con MD5: es un formato antiguo que WordPress todavía acepta. En mi prueba, al iniciar sesión por primera vez WordPress reemplazó ese hash por uno más seguro (un hash bcrypt, que empieza por $wp$2y$), así que no queda guardado con MD5 para siempre.
Paso 2: dale el rol de administrador
El usuario del paso anterior todavía no puede hacer nada. Los permisos viven en la tabla wp_usermeta:
INSERT INTO wp_usermeta (user_id, meta_key, meta_value)
VALUES
((SELECT ID FROM wp_users WHERE user_login = 'nuevoadmin'), 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}'),
((SELECT ID FROM wp_users WHERE user_login = 'nuevoadmin'), 'wp_user_level', '10');
Fíjate en dos detalles:
- La clave
wp_capabilitieslleva tu prefijo: si tu prefijo essitio_, la clave se llamasitio_capabilities(ysitio_user_level). - El texto
a:1:{s:13:"administrator";b:1;}es un dato serializado de PHP. El13es la cantidad exacta de letras deadministrator; si lo cambias o lo escribes con otro número, WordPress no lo entiende.
Con esas dos filas ya puedes iniciar sesión en tusitio.com/wp-login.php. Comprobé que el usuario quedó con el rol administrador y con permiso para gestionar opciones del sitio.
Si solo necesitas cambiar una contraseña
Cuando el usuario existe, basta con una consulta:
UPDATE wp_users SET user_pass = MD5('OtraClaveLargaYUnica#2026') WHERE user_login = 'tu-usuario';
También la probé: WordPress acepta la nueva clave.
Después de entrar: cierra la puerta
- Cambia la contraseña desde el perfil de WordPress por una larga y única, y borra el usuario temporal si ya no lo necesitas.
- Si el motivo fue un hackeo, revisa la lista de administradores (
wp user list --role=administratoro Usuarios → Todos los usuarios en el panel) y borra los que no reconozcas. Un atacante suele dejarse su propio administrador. - Cierra las sesiones abiertas cambiando las claves y salts de
wp-config.php(puedes generar unas nuevas en el generador oficial). Eso desconecta a cualquiera que siguiera dentro. - Actualiza WordPress, el tema y los plugins, y revisa que no queden archivos raros en el servidor.
Errores frecuentes
- El usuario inicia sesión pero ve el panel vacío o "no tienes permisos": casi siempre es el prefijo equivocado en
wp_capabilities, o el texto serializado mal escrito. - Usuarios duplicados: la tabla
wp_usersno impide repetir el nombre o el correo, así que unINSERTsobre un usuario que ya existe lo duplica sin avisar. Antes de insertar, comprueba conSELECT ID, user_login, user_email FROM wp_users;que el nombre no esté en uso. - Instalaciones multisitio: las claves de permisos incluyen el número del sitio y hay que añadir además el usuario a cada sitio de la red; esta guía no cubre ese caso.
¿Y si no tienes acceso a la base de datos?
Todavía hay una salida: crear el administrador editando el archivo functions.php del tema por FTP. Está explicado paso a paso en Cómo añadir un usuario admin mediante FTP.
Si prefieres que lo recupere yo, escríbeme desde la página de contacto y revisamos tu caso. También puedes ver más notas en la categoría WordPress.
Referencias
Para preparar esta guía revisé cómo lo explican otros sitios, y después comprobé cada paso en un WordPress local: Aquí Hay Dominios y Daganet. La documentación de WP-CLI describe todos los comandos de wp user.