Guía de URL de inicio de sesión y recuperación de acceso en WordPress 2026

Guía de URL de inicio de sesión y recuperación de acceso en WordPress 2026

Última verificación: 16 de octubre de 2026
18 min de lectura
Guía

#No puedo entrar a WordPress, qué hacer

Estar bloqueado fuera de tu propio sitio WordPress es un rito de iniciación para cada desarrollador, administrador de sitio y propietario de negocio. La sensación es visceral: navegas a tu página de login, y ha desaparecido. O escribes tu contraseña, y la pantalla simplemente tiembla. O peor, te recibe una fría pantalla blanca de la muerte.

En 2026, el ecosistema de WordPress ha evolucionado. La seguridad es más estricta, el cache es más agresivo, y la complejidad de la pila promedio ha aumentado. Los problemas de acceso rara vez son solo “Olvide mi contraseña”. A menudo son colisiones complejas entre plugins de seguridad, cache del lado del servidor, corrupción de base de datos y versiones de PHP obsoletas.

Esta guía no es una lista de consejos básicos. Es un manual técnico exhaustivo para recuperar el acceso a tu propiedad. Eludiremos la puerta principal, forzaremos la cerradura, y si es necesario, quitaremos la puerta de sus bisagras usando acceso a la base de datos y herramientas de línea de comandos.

Respuesta corta: comienza con wp-login.php y wp-admin/. Si esos fallan, busca un slug de login oculto, luego pasa a restablecimiento de contraseña y métodos de recuperación de base de datos como phpMyAdmin, WP-CLI o desactivación temporal de plugins vía FTP.


#Cómo funciona el inicio de sesión en WordPress

Antes de soluciónar problemas, debemos entender como WordPress maneja la autenticación. Cuando visitas wp-login.php, WordPress dispara una secuencia de eventos:

  1. Verificación de cookies: Comprueba tu navegador en busca de cookies de autenticación validas.
  2. Verificación de nonce: Asegura que la solicitud de login es genuina y no un ataque CSRF.
  3. Consulta a la base de datos: Consulta la tabla wp_users para el nombre de usuario.
  4. Hashing de contraseña: Agrega sal y hash a tu entrada y la compara con la cadena user_pass en la base de datos.
  5. Verificación de capacidades: Consulta wp_usermeta para verificar que tienes el rol de administrator (o equivalente).
  6. Redirección: Genera una nueva cookie de sesión y te envía a wp-admin/.

Un error en CUALQUIERA de estas etapas resulta en un bloqueo.

#Dónde está la URL de login de WordPress

Por defecto, WordPress escucha en rutas estándar específicas. Debes conocerlas de memoria:

  • su-sitio.com/wp-login.php (El archivo físico que maneja la lógica).
  • su-sitio.com/wp-admin/ (Un directorio que dispara una redirección al login si no estás autenticado).
  • su-sitio.com/login y su-sitio.com/admin (redirecciones abreviadas integradas en el core).

Las URL abreviadas vienen de la función del core wp_redirect_admin_locations(), añadida en WordPress 3.4. Envía /admin y /dashboard a wp-admin/, y /login y /login.php a la URL de acceso. Solo actúa cuando la petición terminaría en un 404 y los enlaces permanentes amigables están activos. En un sitio con enlaces simples (?p=123), /login no hace nada, así que prueba wp-login.php directamente antes de concluir que la página de acceso se ha movido.

#Escenario 1: El “404 No Encontrado”

Si estas URLs devuelven un error 404, el archivo no falta, está oculto. Un plugin o código personalizado puede haber cambiado el slug de login a algo personalizado como /portal, /entrada o /mi-login-secreto.

La solución: Si heredaste un sitio y no conoces el slug personalizado, no puedes adivinarlo. Debes desactivar el plugin que aplica la regla.

  1. Acceso FTP/SFTP: Conéctate a tu servidor usando FileZilla o el administrador de archivos de tu hosting.
  2. Navega: Ve a /wp-content/plugins/.
  3. Identifica: Busca carpetas como wps-hide-login (WPS Hide Login) o better-wp-security (el slug en wordpress.org de Kadence Security), o cualquier otro plugin de seguridad que ofrezca una URL de acceso personalizada.
  4. Neutraliza: Renombra la carpeta. Por ejemplo, cambia wps-hide-login a __wps-hide-login_DISABLED.
  5. Prueba: WordPress dejara inmediatamente de cargar ese plugin. La regla de enrutamiento personalizada desaparecerá, y el predeterminado /wp-login.php funcionara de nuevo.

#Escenario 2: El bucle de redirección infinito

Ingresas tus credenciales, la página se refresca, y estás de vuelta en la pantalla de login. Sin mensaje de error. Solo un bucle. Esto generalmente es causado por una discrepancia de cookies o conflicto SSL.

La solución:

  1. Limpiar cookies del navegador: Borra las cookies de tu dominio y vuelve a iniciar sesión antes de tocar ningún archivo.
  2. Verificar wp-config.php: Asegúrate de que las URLs de tu sitio estén codificadas correctamente.
    // Agregue estos a wp-config.php
    define('WP_HOME', 'https://su-dominio.com');
    define('WP_SITEURL', 'https://su-dominio.com');
    Nota: Asegúrate de usar https si tienes un certificado SSL. Usar http aquí cuando el servidor fuerza HTTPS causara un bucle.

#Recuperar la contraseña de WordPress sin correo

El enlace “¿Has olvidado tu contraseña?” depende de dos cosas frágiles:

  1. La capacidad de tu servidor para enviar correos (SMTP).
  2. Que tengas acceso a la dirección de correo en archivo.

Si el sitio fue construido por un desarrollador anterior, el correo de admin podría ser [email protected]. Nunca recibirás ese enlace. Aquí están los Métodos de desarrollador para anular la autenticación.

#Cambiar la contraseña de WordPress en phpMyAdmin

Este es el método universal. Funciona en cada host (Kinsta, WP Engine, SiteGround, OVH).

  1. Acceder a la base de datos: Inicia sesión en tu panel de hosting y abre phpMyAdmin.
  2. Localizar la tabla: Encuentra wp_users. (Nota: El prefijo wp_ podría ser diferente, ej. wp_823_users).
  3. Encontrar el usuario: Localiza tu nombre de usuario (user_login) o correo.
  4. Editar la fila: Haz clic en “Editar”.
  5. El campo de contraseña: Busca user_pass. Verás una cadena larga de caracteres aleatorios (ej. $P$B55D6Ljf...). Esta es una contraseña hasheada. No puedes simplemente escribir “password123” aquí porque WordPress no la reconocerá.
  6. El truco mágico:
    • En el menú desplegable Función junto a user_pass, selecciona MD5.
    • En el campo Valor, elimina el hash y escribe tu nueva contraseña en texto plano (ej. NuevaContrasenaFuerte2026!).
    • Haz clic en Continuar (Guardar).
    • ¿Qué sucede? MySQL aplica MD5 a tu cadena antes de guardarla. wp_check_password() trata cualquier hash guardado de 32 caracteres o menos como un hash MD5 simple y lo compara directamente. Tras un inicio de sesión correcto, el core llama a wp_password_needs_rehash() y guarda un hash nuevo. Desde WordPress 6.8 ese hash es bcrypt por defecto, guardado con el prefijo $wp (por ejemplo $wp$2y$10$...). Los hashes antiguos $P$ de phpass se siguen aceptando y se vuelven a hashear igual en el siguiente inicio de sesión.

#Restablecer la contraseña de WordPress desde la línea de comandos de MySQL

Con acceso SSH pero sin phpMyAdmin, la guía oficial de restablecimiento en wordpress.org usa directamente el cliente mysql:

  1. Inicia sesión: mysql -u root -p y selecciona la base de datos con use su_base_de_datos;.
  2. Localiza la tabla de usuarios con show tables;. Termina en users y lleva el prefijo de tus tablas.
  3. Revisa el contenido: SELECT ID, user_login, user_pass FROM wp_users;
  4. Asigna la nueva contraseña y deja que MySQL calcule el hash MD5:
    UPDATE wp_users SET user_pass = MD5('nueva-contraseña') WHERE ID = 1;
  5. Ejecuta de nuevo el SELECT para confirmar que la fila cambió y sal con Control-D.

La misma guía indica que esto funciona aunque las contraseñas existentes sean hashes $P$ con sal.

#Restablecer la contraseña de WordPress con WP-CLI

Si tienes acceso SSH, usar la interfaz gráfica es una pérdida de tiempo. WP-CLI es más rápido, seguro y deja un rastro de auditoría en tu historial de shell.

  1. Iniciar sesión: ssh usuario@dirección-ip
  2. Navegar: cd /var/www/html (o la ruta de tu sitio).
  3. Listar usuarios: Necesitas saber exactamente quienes son los administradores.
    wp user list
  4. Cambiar contraseña:
    wp user update 1 --user_pass="CaballoCorrectoGrapaBateria2026"
  5. Alternativa: Crear un nuevo administrador: A veces la cuenta de admin existente está corrupta o no quieres tocarla. Crea un admin de respaldo para ti mismo.
    wp user create admin_recuperacion [email protected] --role=administrator --user_pass="MiClaveSecretaDeEntrada"

#Restablecer la contraseña de WordPress con wp user reset-password

wp user update --user_pass deja la nueva contraseña en el historial de tu shell. El comando wp user reset-password genera en su lugar una contraseña aleatoria:

# Genera una contraseña nueva y avisa al usuario por correo
wp user reset-password admin

# Muestra la contraseña en la terminal y no envía correo
wp user reset-password admin --skip-email --show-password

# Imprime solo la contraseña, útil en scripts
wp user reset-password admin --skip-email --porcelain

Por defecto el comando envía un correo al usuario afectado. --skip-email lo evita, y --show-password y --porcelain llegaron en WP-CLI 2.8.0, de modo que un WP-CLI más antiguo cambia la contraseña sin mostrársela nunca. Actualiza WP-CLI primero si necesitas leer el resultado.

Tras una sospecha de intrusión, restablece a todos los administradores de una vez:

wp user reset-password $(wp user list --format=ids --role=administrator)

wp user update también acepta --skip-email, para fijar una contraseña conocida sin avisar al titular de la cuenta.

#Restablecer la contraseña de WordPress desde functions.php

Advertencia: Usa esto solo como último recurso. Implica modificar código en un servidor en vivo.

  1. Accede vía FTP a /wp-content/themes/su-tema-activo/.
  2. Descarga functions.php.
  3. Agrega esta línea inmediatamente después de la etiqueta PHP de apertura, en la primera línea del archivo:
    wp_set_password('RestablecimientoEmergencia2026!', 1);
    (Reemplaza 1 con el ID de usuario que quieres restablecer).
  4. Sube el archivo.
  5. Refresca la página de login. La contraseña ahora está restablecida.
  6. PASO Crítico: Elimina esa línea de functions.php inmediatamente.
    • ¿Por qué? La línea se ejecuta en cada carga de página, así que WordPress restablece la contraseña en cada petición. La referencia de wp_set_password() advierte que la función está pensada para un único uso y que dejarla activa provoca un bucle infinito de restablecimientos que te devuelve a la pantalla de acceso cada vez.

#Script de emergencia para restablecer la contraseña de WordPress

Cuando ninguno de los métodos anteriores está disponible, la guía de wordpress.org remite al Emergency Password Reset Script. Es un archivo PHP independiente, no un plugin:

  1. Copia el script desde la página enlazada en esa guía a un archivo llamado emergency.php.
  2. Súbelo a la raíz de la instalación, el mismo directorio que contiene wp-config.php, nunca al directorio de plugins.
  3. Abre https://example.com/emergency.php, introduce el nombre de usuario del administrador y la nueva contraseña, y envía el formulario.
  4. El script cambia la contraseña y envía un correo a la dirección del administrador. La contraseña cambia aunque ese correo no llegue nunca.
  5. Borra emergency.php de inmediato. Cualquiera que lo encuentre puede usarlo para cambiar tu contraseña.

El script necesita el nombre de usuario del administrador. Si no lo conoces, léelo antes en la columna user_login con uno de los métodos de base de datos anteriores.

#Cambiar el correo de administración de WordPress cuando el buzón antiguo ya no existe

Aquí intervienen dos direcciones distintas, y un buzón muerto suele obligar a corregir las dos:

  • El correo de la cuenta (user_email en wp_users) recibe el enlace para restablecer la contraseña. Cámbialo con wp user update 1 [email protected] --skip-email; ambas opciones figuran en la referencia de wp user update.
  • El correo de administración del sitio (la opción admin_email) recibe el enlace del modo de recuperación descrito más abajo. Cambiarlo en la pantalla de ajustes no surte efecto al momento: update_option_new_admin_email() envía una solicitud de confirmación a la nueva dirección, y esta no se activa hasta que se confirma. En un sitio que no envía correo, esa confirmación nunca llega.

Con acceso a la shell, wp option update escribe el valor de la opción directamente:

wp option update admin_email [email protected]

Después arregla el envío de correo; si no, el próximo restablecimiento de contraseña fallará igual.


#No puedo iniciar sesión en WordPress con la contraseña correcta

Tienes la contraseña. Encontraste la URL. Pero aun no puedes entrar. Ahora entramos al reino de la depuración avanzada.

#1. El error “No tiene permisos suficientes”

Inicias sesión exitosamente, pero WordPress muestra un dashboard en blanco o dice “Lo siento, no tienes permisos para acceder a esta página.”

Diagnostico: Tu usuario existe, pero sus capacidades están corruptas. Esto sucede a menudo después de una migración de base de datos defectuosa (buscar-y-reemplazar mal hecho en datos serializados).

La solución (base de datos):

  1. Ve a la tabla wp_usermeta en phpMyAdmin.
  2. Busca user_id que coincida con tu ID (ej. 1).
  3. Busca el meta_key llamado wp_capabilities (o wp_xyz_capabilities).
  4. El meta_value debería verse como este array serializado:
    a:1:{s:13:"administrator";b:1;}
  5. Si se ve completamente diferente, vacío o corrupto, reemplázalo con la cadena anterior. Esto fuerza manualmente a la base de datos a reconocerte como Administrador.

#2. Cómo entrar a WordPress sin el código 2FA

Habilitaste la autenticación de dos factores (Google Authenticator), pero perdiste tu teléfono. Ahora estás efectivamente bloqueado por tu propia seguridad.

La solución: No puedes “adivinar” el código 2FA. Debes desactivar el plugin que lo aplica.

  1. FTP a /wp-content/plugins/.
  2. Encuentra el plugin 2FA (ej. google-authenticator, two-factor).
  3. Renombra la carpeta a _disabled_google-authenticator.
  4. Inicia sesión. WordPress se quejara de que el plugin falta, pero te dejara entrar sin el código.
  5. Rehabilita el nombre de la carpeta, ve a plugins y reconfigura.

#3. Pantalla blanca (WSOD) al iniciar sesión en WordPress

Envías el formulario y la pantalla queda en blanco. Este es un error fatal de PHP ocurriendo durante el handshake de autenticación.

Diagnostico: Para ver al fantasma, debes darle forma. Necesitamos logs.

  1. Abre wp-config.php.
  2. Busca define('WP_DEBUG', false);.
  3. Reemplázalo con este bloque de “Registro detallado”:
    // Habilitar depuración
    define( 'WP_DEBUG', true );
    
    // Guardar logs en /wp-content/debug.log
    define( 'WP_DEBUG_LOG', true );
    
    // NO mostrar errores en pantalla (riesgo de seguridad)
    define( 'WP_DEBUG_DISPLAY', false );
    @ini_set( 'display_errors', 0 );
  4. Activa el error de nuevo (intenta iniciar sesión).
  5. Abre /wp-content/debug.log.
  6. Verás una línea como: PHP Fatal error: Uncaught Error: Call to undefined function... in /.../wp-content/plugins/plugin-malo/index.php:45
  7. Ahora sabes exactamente cual plugin es el traidor. Elimínalo vía FTP.

#Correo del modo de recuperación de WordPress tras un error fatal

Desde WordPress 5.2, el core captura los errores fatales causados por un plugin o un tema en lugar de mostrar solo una pantalla en blanco. El mecanismo vive en la clase WP_Recovery_Mode y suele ser la vía más rápida para volver a un sitio que se rompe justo al iniciar sesión.

Cómo funciona, según la referencia del core:

  • El correo: cuando ocurre un error fatal, WordPress envía un enlace a la dirección de la constante RECOVERY_MODE_EMAIL si está definida y es válida, y si no, al correo de administración del sitio (get_recovery_mode_email_address()).
  • El límite de envío: por defecto sale como máximo un correo al día (filtro recovery_mode_email_rate_limit). Si perdiste o borraste el primero, provocar el error otra vez no enviará otro hasta que pase ese plazo.
  • La validez del enlace: el enlace vale como mínimo lo mismo que el límite de envío, es decir, un día por defecto (filtro recovery_mode_email_link_ttl).
  • Extensiones en pausa: en modo de recuperación, el plugin o tema que causó el error queda en pausa (WP_Recovery_Mode::store_error), así que el escritorio carga y puedes desactivarlo o actualizarlo.
  • Salir del modo de recuperación: cerrar sesión termina la sesión de recuperación.

El punto débil es el mismo que con el enlace de contraseña olvidada: el correo va a la dirección de administración. Si ese buzón ya no existe, define una dirección que funcione en wp-config.php antes del próximo incidente:

define( 'RECOVERY_MODE_EMAIL', '[email protected]' );

También existe el interruptor contrario. wp_is_fatal_error_handler_enabled() devuelve false cuando WP_DISABLE_FATAL_ERROR_HANDLER vale true en wp-config.php, lo que apaga todo el mecanismo. Sirve en una máquina de desarrollo donde quieres ver el error de PHP sin filtrar. En producción elimina el correo de recuperación, así que déjala sin definir. El filtro equivalente wp_fatal_error_handler_enabled se ejecuta antes de que carguen los plugins, por lo que ni un plugin, ni un mu-plugin, ni un tema pueden usarlo.

#WordPress atascado en modo mantenimiento tras una actualización

Una actualización fallida o interrumpida puede dejar en todas las URL, incluida wp-login.php, el aviso “No disponible temporalmente por mantenimiento programado. Vuelve a comprobarlo en unos minutos.” La causa es un archivo llamado .maintenance en la raíz de WordPress. wp_is_maintenance_mode() lee la marca de tiempo $upgrading guardada en ese archivo y mantiene el sitio en mantenimiento solo mientras el archivo tiene menos de 10 minutos.

Si el aviso dura más o no puedes esperar:

  1. Conéctate por FTP o SFTP y abre el directorio que contiene wp-config.php.
  2. Activa la vista de archivos ocultos en tu cliente, porque el nombre empieza por un punto.
  3. Borra .maintenance.
  4. Recarga wp-login.php y revisa Escritorio > Actualizaciones, porque la actualización que creó el archivo puede no haber terminado.

Un archivo llamado maintenance.php en wp-content es otra cosa: es un drop-in opcional que sustituye el mensaje de mantenimiento predeterminado. No confundas los dos.


#Cómo reinstalar el core de WordPress y cambiar las sales

Si estás lidiando con un sitio hackeado o una instalación completamente rota, las soluciones quirúrgicas podrían no funcionar. Aquí están las opciones nucleares.

#1. Cómo reemplazar los archivos del core de WordPress

A veces, los archivos core (wp-login.php, archivos de wp-admin) están corruptos o infectados con malware.

  1. Descarga una copia fresca de WordPress desde wordpress.org.
  2. Descomprime en tu computadora.
  3. Elimina la carpeta wp-content de está copia fresca (no quieres sobrescribir tu propio contenido!).
  4. Elimina el archivo wp-config-sample.php.
  5. Sube TODO lo demás a tu servidor, sobrescribiendo los archivos existentes.
    • Esto reemplaza todos los archivos de lógica con código fresco y limpio.
    • No toca tu base de datos, tus imágenes ni tu tema.

#2. Cómo cerrar la sesión de todos los usuarios (nuevas sales)

Si sospechas un secuestro de sesión o quieres asegurarte de que nadie más este conectado mientras trabajas:

  1. Abre https://api.wordpress.org/secret-key/1.1/salt/
  2. Copia las claves generadas.
  3. Abre wp-config.php.
  4. Reemplaza las claves y sales de autenticación existentes con las nuevas.
  5. Efecto: Cada cookie de login válida en el planeta para tu sitio queda instantáneamente invalidada. Todos (incluyéndote a ti) quedan desconectados.

#Cómo proteger el login de WordPress

Recuperar acceso es estresante. El objetivo debería ser nunca perderlo de nuevo. Aquí está tu lista de verificación para fortalecer tu puerta de login.

#Mínimo privilegio en los roles de WordPress

Nunca des a cuentas separadas acceso de “Administrador” a menos que sean técnicamente capaces de gestionar el servidor.

  • Editor: Puede escribir y publicar entradas.
  • Gestor de tienda: Puede gestionar pedidos de WooCommerce.
  • Administrador: Puede romper el sitio. Si tienes un clientes, dale acceso de Editor. Solo da acceso de Administrador si firman una exención de responsabilidad.

#Claves de hardware y passkeys en WordPress

En 2026, las contraseñas se consideran inseguras. La industria se ha movido a Passkeys (autenticación FIDO2).

  • Usa una clave de hardware como YubiKey o Titan Key.
  • Instala un plugin capaz de WebAuthn.
  • Google y Apple ahora soportan Passkeys nativamente. Esto significa que puedes iniciar sesión en WordPress usando tu Face ID o Touch ID. Es infalsificable.

#Cómo limitar los intentos de login en WordPress

Los ataques de fuerza bruta son robots intentando miles de contraseñas por segundo.

  • Instala Limit Login Attempts Security (slug en wordpress.org limit-login-attempts-reloaded).
  • Configúralo para bloquear una IP después de 3 intentos fallidos por 24 horas.
  • En los sitios donde lo hemos aplicado, quita del servidor la mayor parte del tráfico automatizado de login. Cuánto baja depende de qué proporción de tu tráfico son bots.

#Cómo cerrar las demás sesiones de WordPress

Si inicias sesión desde un cafe público o la computadora de un amigo, podrías olvidar cerrar sesión.

  • Ve a Usuarios > Perfil.
  • Desplázate hasta la sección “Sesiones”.
  • Haz clic en Desconectar del resto de sitios. Esta es una funcionalidad central a menudo pasada por alto.

#Resumen y lista de verificación

Recuperar acceso a WordPress es un proceso lógico de eliminación de métodos.

  1. Es correcta la URL? (Verifica plugins de login ocultos vía FTP).
  2. Es correcta la contraseña? (Restablece vía WP-CLI o hash MD5 en DB).
  3. Es correcto el rol de usuario? (Verifica la serializacion de wp_capabilities).
  4. Hay código bloqueando? (Renombra la carpeta de plugins, habilita WP_DEBUG).
  5. Esta corrupto el core? (Resube wp-admin/includes frescos).

Una vez que estés de vuelta, no solo suspires con alivio. Asegura la brecha. Instala una solución de passkey, configura una cuenta de admin redundante, y verifica tu programación de copias de seguridad. La recuperación de acceso es una batalla que solo deberías pelear una vez.

Conoce más sobre la auditoría de seguridad WordPress en WPPoland.

Siguiente paso

Transforma el artículo en una implementación real

Este bloque refuerza el enlazado interno y lleva al lector al siguiente paso más útil dentro de la arquitectura del sitio.

Explora otros servicios WordPress y base de conocimiento

Refuerza tu negocio con soporte técnico profesional en áreas clave del ecosistema WordPress.

Preguntas frecuentes

Respuestas prácticas para aplicar el tema en la ejecución real.

¿Cómo encuentro la URL de login de WordPress si wp-login.php no funciona#
Verifica si un plugin de seguridad cambio el slug de login. Si es necesario, desactiva el plugin vía FTP o SFTP para que la ruta de login predeterminada funcióne nuevamente.
¿Cuál es la forma más rápida de restablecer una contraseña de administrador de WordPress?#
WP-CLI es la opción más rápida si tienes acceso por shell. De lo contrario, puedes actualizar la contraseña en phpMyAdmin con MD5 y dejar que WordPress la rehashee en el próximo inicio de sesión.
¿Por qué WordPress me sigue redirigiendo a la pantalla de login#
Los bucles de login generalmente provienen de conflictos de cookies, redirecciones cacheadas o valores incorrectos de WP_HOME y WP_SITEURL, especialmente después de cambios de SSL o dominio.

¿Necesitas un FAQ adaptado a tu sector y mercado? Preparo una versión alineada con tus objetivos de negocio.

Hablemos

Artículos Relacionados