{"id":3788,"date":"2026-08-23T11:42:46","date_gmt":"2026-08-23T09:42:46","guid":{"rendered":"https:\/\/mantenimientoweb.pro\/blog\/que-hacer-si-pierdo-el-acceso-y-no-puedo-entrar-al-panel-wp-admin-2\/"},"modified":"2026-08-23T11:42:48","modified_gmt":"2026-08-23T09:42:48","slug":"que-hacer-si-pierdo-el-acceso-y-no-puedo-entrar-al-panel-wp-admin-2","status":"publish","type":"post","link":"https:\/\/mantenimientoweb.pro\/blog\/que-hacer-si-pierdo-el-acceso-y-no-puedo-entrar-al-panel-wp-admin-2\/","title":{"rendered":"\u00bfQu\u00e9 hacer si pierdo el acceso y no puedo entrar al panel wp-admin?"},"content":{"rendered":"<p><main><\/p>\n<article>\n<section>\n<p>\n          <span>WordPress<\/span><br \/>\n          <span>wp-admin<\/span><br \/>\n          <span>Seguridad<\/span><br \/>\n          <span>Recuperaci\u00f3n de acceso<\/span>\n        <\/p>\n<p>        \u00bfQu\u00e9 hacer si pierdo el acceso y no puedo entrar al panel wp-admin?<\/p>\n<p>\n          Hay pocas escenas tan peque\u00f1as y tan dram\u00e1ticas como escribir <code>\/wp-admin<\/code>, pulsar <span>Enter<\/span> y descubrir que tu propio sitio te mira desde el otro lado de la puerta. Ayer eras administrador. Hoy eres un visitante con demasiadas responsabilidades. La tecnolog\u00eda, tan obediente cuando todo va bien, tiene estos desplantes de portero de discoteca.\n        <\/p>\n<p>\n          Recuperar el acceso al panel de administraci\u00f3n de WordPress no es cuesti\u00f3n de magia ni de nervios, sino de m\u00e9todo. Un sitio bloqueado puede deberse a una contrase\u00f1a olvidada, un plugin de seguridad demasiado entusiasta, un error de PHP, una URL mal configurada, un ataque, una base de datos da\u00f1ada o incluso un proveedor de hosting que decidi\u00f3 protegerte de ti mismo. Bendita protecci\u00f3n, por supuesto.\n        <\/p>\n<p>\n          Esta gu\u00eda est\u00e1 pensada para propietarios de sitios, desarrolladores, agencias y responsables t\u00e9cnicos que necesitan volver a entrar en <strong>wp-admin<\/strong> con seguridad, sin romper nada por el camino y dejando el sitio mejor protegido que antes. Porque recuperar el acceso es urgente; entender por qu\u00e9 se perdi\u00f3 es profesional.\n        <\/p>\n<\/section>\n<nav aria-label=\"Tabla de contenidos\">\n<h2>Mapa r\u00e1pido de la recuperaci\u00f3n \ud83e\udded<\/h2>\n<ul>\n<li><a href=\"#antes-de-tocar\">Antes de tocar nada: calma, copia y contexto<\/a><\/li>\n<li><a href=\"#diagnostico\">Diagn\u00f3stico por s\u00edntomas<\/a><\/li>\n<li><a href=\"#password\">Contrase\u00f1a perdida o correo inaccesible<\/a><\/li>\n<li><a href=\"#phpmyadmin\">Restablecer acceso desde phpMyAdmin<\/a><\/li>\n<li><a href=\"#wpcli\">Recuperar acceso con WP-CLI<\/a><\/li>\n<li><a href=\"#plugins\">Plugins de seguridad, 2FA y bloqueos<\/a><\/li>\n<li><a href=\"#errores\">Pantalla blanca, errores cr\u00edticos y PHP<\/a><\/li>\n<li><a href=\"#redirecciones\">Bucles de redirecci\u00f3n y URL incorrectas<\/a><\/li>\n<li><a href=\"#htaccess\">Restaurar .htaccess y reglas de servidor<\/a><\/li>\n<li><a href=\"#base-datos\">Usuarios, roles y base de datos<\/a><\/li>\n<li><a href=\"#malware\">Si sospechas de hackeo o malware<\/a><\/li>\n<li><a href=\"#despues\">Qu\u00e9 hacer despu\u00e9s de recuperar wp-admin<\/a><\/li>\n<\/ul>\n<\/nav>\n<section id=\"antes-de-tocar\">\n<h2>Antes de tocar nada: calma, copia y contexto \ud83e\uddef<\/h2>\n<p>\n          La primera tentaci\u00f3n es entrar al hosting como quien abre un caj\u00f3n a oscuras: mover carpetas, renombrar plugins, borrar cach\u00e9s, rezar un poco. A veces funciona. A veces convierte un problema de acceso en una peque\u00f1a excavaci\u00f3n arqueol\u00f3gica.\n        <\/p>\n<p>\n          Antes de modificar archivos o tocar la base de datos, haz tres cosas. Son aburridas. Por eso suelen salvar proyectos.\n        <\/p>\n<ol>\n<li>\n<h3>Haz una copia de seguridad completa<\/h3>\n<p>\n              Descarga una copia de los archivos del sitio y exporta la base de datos. Si tu hosting tiene snapshots, genera uno. Si usas cPanel, Plesk, SiteGround, Kinsta, Cloudways, WP Engine u otro panel administrado, busca la secci\u00f3n de backups antes de improvisar. Una copia reciente es como un bote salvavidas: molesta ocupar espacio hasta que el barco empieza a hacer ruidos.\n            <\/p>\n<\/li>\n<li>\n<h3>Anota el s\u00edntoma exacto<\/h3>\n<p>\n              No es lo mismo ver <em>\u201cError establishing a database connection\u201d<\/em> que un bucle infinito de login, un 403 Forbidden o la pantalla blanca de WordPress. Cada s\u00edntoma apunta a una capa distinta: credenciales, plugins, servidor, base de datos, DNS, cookies, SSL, WAF o c\u00f3digo.\n            <\/p>\n<\/li>\n<li>\n<h3>Revisa qu\u00e9 cambi\u00f3 recientemente<\/h3>\n<p>\n              \u00bfActualizaste WordPress, PHP, un plugin, el tema, reglas de seguridad, Cloudflare, el certificado SSL? \u00bfAlguien instal\u00f3 un plugin de membres\u00eda? \u00bfSe migr\u00f3 el sitio? La causa rara vez aparece con capa y sombrero; suele venir disfrazada de \u201csolo hice un ajuste r\u00e1pido\u201d.\n            <\/p>\n<\/li>\n<\/ol>\n<p>          <strong>Importante:<\/strong> si el sitio es cr\u00edtico \u2014tienda WooCommerce, portal de pagos, membres\u00eda, intranet o web con datos personales\u2014 evita trabajar directamente en producci\u00f3n sin backup. Si existe entorno de staging, \u00fasalo. La urgencia no convierte una cirug\u00eda en peluquer\u00eda.<\/p>\n<\/section>\n<section id=\"diagnostico\">\n<h2>Diagn\u00f3stico por s\u00edntomas: dime qu\u00e9 ves y te dir\u00e9 por d\u00f3nde entrar \ud83d\udd0d<\/h2>\n<p>\n          WordPress es un sistema de capas: navegador, cookies, servidor web, PHP, base de datos, plugins, tema, archivos de configuraci\u00f3n. Cuando no puedes acceder a <strong>wp-admin<\/strong>, una de esas capas est\u00e1 levantando un muro. La gracia est\u00e1 en no golpear todos los muros a la vez.\n        <\/p>\n<table>\n<thead>\n<tr>\n<th>S\u00edntoma<\/th>\n<th>Causas probables<\/th>\n<th>Primeras acciones recomendadas<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>No recuerdo la contrase\u00f1a<\/td>\n<td>Contrase\u00f1a olvidada, correo no recibido, SMTP roto<\/td>\n<td>Usar recuperaci\u00f3n por email, phpMyAdmin o WP-CLI<\/td>\n<\/tr>\n<tr>\n<td>El email de recuperaci\u00f3n no llega<\/td>\n<td>Correo del admin inaccesible, servidor sin SMTP, filtros antispam<\/td>\n<td>Cambiar email\/contrase\u00f1a desde base de datos o WP-CLI<\/td>\n<\/tr>\n<tr>\n<td>403 Forbidden o bloqueo por IP<\/td>\n<td>Plugin de seguridad, WAF, reglas .htaccess, ModSecurity, Cloudflare<\/td>\n<td>Revisar hosting, desactivar plugin de seguridad por SFTP, comprobar IP<\/td>\n<\/tr>\n<tr>\n<td>Pantalla blanca o \u201cerror cr\u00edtico\u201d<\/td>\n<td>Error PHP, plugin incompatible, tema roto, memoria insuficiente<\/td>\n<td>Activar debug log, desactivar plugins, cambiar tema<\/td>\n<\/tr>\n<tr>\n<td>Bucle de login: ingreso y vuelve al formulario<\/td>\n<td>Cookies, SSL, URL siteurl\/home incorrectas, cach\u00e9, redirecciones<\/td>\n<td>Limpiar cookies, revisar URLs en base de datos, desactivar cach\u00e9<\/td>\n<\/tr>\n<tr>\n<td>Usuario no tiene permisos de administrador<\/td>\n<td>Rol cambiado, usuario comprometido, capacidades da\u00f1adas<\/td>\n<td>Restaurar rol desde wp-admin si hay otro admin, WP-CLI o phpMyAdmin<\/td>\n<\/tr>\n<tr>\n<td>404 en \/wp-admin<\/td>\n<td>Reglas de servidor, instalaci\u00f3n movida, URL cambiada por plugin, rewrite roto<\/td>\n<td>Revisar estructura de archivos, .htaccess, configuraci\u00f3n del servidor<\/td>\n<\/tr>\n<tr>\n<td>Mensaje de base de datos<\/td>\n<td>Credenciales incorrectas, servidor MySQL ca\u00eddo, tablas da\u00f1adas<\/td>\n<td>Revisar wp-config.php, estado MySQL, reparar tablas si procede<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\n          Una vez, en una migraci\u00f3n nocturna, el problema parec\u00eda un ataque sofisticado. Hab\u00eda logs, bloqueos, redirecciones y caras largas. Al final era una cookie vieja del navegador. El enemigo no siempre lleva armadura; a veces vive en la cach\u00e9, ese desv\u00e1n con pretensiones de memoria hist\u00f3rica.\n        <\/p>\n<\/section>\n<section id=\"password\">\n<h2>Si perdiste la contrase\u00f1a de WordPress o no llega el correo \ud83d\udce7<\/h2>\n<p>\n          El camino m\u00e1s limpio es el formulario est\u00e1ndar: <code>tudominio.com\/wp-login.php?action=lostpassword<\/code>. WordPress enviar\u00e1 un enlace para restablecer la contrase\u00f1a al email asociado al usuario. Eso, claro, en el mundo ideal donde el correo funciona, el dominio no est\u00e1 en listas negras, el servidor env\u00eda emails correctamente y nadie olvid\u00f3 qu\u00e9 buz\u00f3n se us\u00f3 hace seis a\u00f1os. Un mundo encantador, casi mitol\u00f3gico.\n        <\/p>\n<h3>Comprobaciones r\u00e1pidas<\/h3>\n<ul>\n<li>Busca el mensaje en spam, promociones o cuarentena del servidor.<\/li>\n<li>Verifica que est\u00e1s usando el usuario o email correcto.<\/li>\n<li>Prueba desde <code>\/wp-login.php<\/code> en lugar de una URL personalizada de acceso.<\/li>\n<li>Si usas un plugin de SMTP, es posible que est\u00e9 fallando y no env\u00ede correos.<\/li>\n<li>Si el dominio acaba de migrarse, revisa DNS, SPF, DKIM y configuraci\u00f3n del correo.<\/li>\n<\/ul>\n<p>          <strong>Dato t\u00e9cnico \u00fatil:<\/strong> WordPress no guarda contrase\u00f1as en texto plano. Usa hashes. Por eso no \u201cves\u201d la contrase\u00f1a en la base de datos; puedes reemplazarla por una nueva, pero no recuperar la anterior. Y eso es bueno. Una web que te muestra tu contrase\u00f1a antigua es como una caja fuerte con ventanilla.<\/p>\n<\/section>\n<section id=\"phpmyadmin\">\n<h2>Restablecer la contrase\u00f1a desde phpMyAdmin \ud83d\uddc4\ufe0f<\/h2>\n<p>\n          Si no recibes el email de recuperaci\u00f3n, puedes cambiar la contrase\u00f1a directamente en la base de datos. Este m\u00e9todo requiere acceso al panel del hosting y a phpMyAdmin o una herramienta equivalente de administraci\u00f3n MySQL\/MariaDB.\n        <\/p>\n<p>          <strong>Antes de seguir:<\/strong> exporta la base de datos. No es una sugerencia ornamental. Un error en una tabla de usuarios puede dejarte m\u00e1s lejos de wp-admin que al principio.<\/p>\n<h3>Paso a paso<\/h3>\n<ol>\n<li>Entra al panel de hosting y abre <strong>phpMyAdmin<\/strong>.<\/li>\n<li>Selecciona la base de datos usada por WordPress. Si no sabes cu\u00e1l es, revisa el archivo <code>wp-config.php<\/code> y busca <code>DB_NAME<\/code>.<\/li>\n<li>Localiza la tabla de usuarios. Normalmente se llama <code>wp_users<\/code>, aunque el prefijo puede ser distinto: <code>abc_users<\/code>, <code>site_users<\/code>, etc.<\/li>\n<li>Busca tu usuario administrador.<\/li>\n<li>Edita el campo <code>user_pass<\/code>.<\/li>\n<li>Elige la funci\u00f3n <code>MD5<\/code> si phpMyAdmin ofrece un desplegable de funciones y escribe una contrase\u00f1a temporal fuerte.<\/li>\n<li>Guarda los cambios e intenta entrar en <code>\/wp-admin<\/code>.<\/li>\n<li>Una vez dentro, cambia la contrase\u00f1a desde el perfil de usuario para que WordPress genere un hash moderno.<\/li>\n<\/ol>\n<p>\n          WordPress mantiene compatibilidad con hashes antiguos como MD5 para poder migrar instalaciones veteranas. Al iniciar sesi\u00f3n, detecta ese formato y actualiza el hash. No conviene usar MD5 como soluci\u00f3n permanente; es una llave provisional, no una cerradura nueva.\n        <\/p>\n<h3>Consulta SQL para cambiar la contrase\u00f1a<\/h3>\n<p>\n          Si prefieres ejecutar SQL, adapta el prefijo de tabla y el usuario:\n        <\/p>\n<pre><code>UPDATE wp_users\nSET user_pass = MD5('NuevaContrase\u00f1aTemporalMuyFuerte!2026')\nWHERE user_login = 'admin';<\/code><\/pre>\n<p>          <strong>No uses contrase\u00f1as d\u00e9biles ni reutilizadas.<\/strong> Evita ejemplos obvios como <code>Admin123<\/code>, <code>password<\/code> o el nombre del dominio. Una contrase\u00f1a temporal d\u00e9bil en un sitio expuesto es una invitaci\u00f3n escrita con caligraf\u00eda.<\/p>\n<\/section>\n<section id=\"wpcli\">\n<h2>Recuperar el acceso con WP-CLI \u2699\ufe0f<\/h2>\n<p>\n          Si tienes acceso SSH al servidor, <strong>WP-CLI<\/strong> suele ser la herramienta m\u00e1s elegante para reparar accesos en WordPress. Es r\u00e1pida, auditable y evita tocar manualmente datos serializados en la base de datos, esa porcelana fina que no perdona dedos torpes.\n        <\/p>\n<h3>Ver usuarios existentes<\/h3>\n<pre><code>wp user list<\/code><\/pre>\n<h3>Cambiar la contrase\u00f1a de un usuario<\/h3>\n<pre><code>wp user update nombre_usuario --user_pass='NuevaContrase\u00f1aTemporalMuyFuerte!2026'<\/code><\/pre>\n<h3>Cambiar el email del administrador<\/h3>\n<pre><code>wp user update nombre_usuario --user_email='nuevo-correo@tudominio.com'<\/code><\/pre>\n<h3>Crear un nuevo administrador temporal<\/h3>\n<pre><code>wp user create rescate rescate@tudominio.com --role=administrator --user_pass='Contrase\u00f1aTemporalMuyFuerte!2026'<\/code><\/pre>\n<p>\n          Despu\u00e9s de recuperar el acceso, elimina el usuario temporal o c\u00e1mbiale el rol. Los usuarios de emergencia son como andamios: necesarios durante la obra, peligrosos si se quedan para siempre.\n        <\/p>\n<p>          <strong>Nota:<\/strong> en algunos hostings administrados, WP-CLI debe ejecutarse desde la carpeta ra\u00edz de WordPress o especificando la ruta con <code>--path=\/ruta\/a\/wordpress<\/code>.<\/p>\n<\/section>\n<section id=\"plugins\">\n<h2>Cuando el culpable es un plugin de seguridad, 2FA o un bloqueo de IP \ud83d\udd10<\/h2>\n<p>\n          Los plugins de seguridad son guardianes necesarios. Pero un guardi\u00e1n sin criterio termina bloqueando al due\u00f1o de la casa. Wordfence, iThemes Security\/Solid Security, All-In-One Security, Limit Login Attempts, Cerber Security, plugins de 2FA o soluciones de firewall pueden impedir el acceso por:\n        <\/p>\n<ul>\n<li>Demasiados intentos fallidos.<\/li>\n<li>Cambio de IP o geolocalizaci\u00f3n sospechosa.<\/li>\n<li>Reglas de fuerza bruta.<\/li>\n<li>2FA perdido o dispositivo autenticador inaccesible.<\/li>\n<li>URL de login personalizada olvidada.<\/li>\n<li>Bloqueo desde WAF externo como Cloudflare, Sucuri o el firewall del hosting.<\/li>\n<\/ul>\n<h3>Desactivar plugins sin entrar en wp-admin<\/h3>\n<p>\n          Accede por SFTP, SSH o administrador de archivos del hosting y ve a:\n        <\/p>\n<pre><code>\/wp-content\/plugins\/<\/code><\/pre>\n<p>\n          Renombra la carpeta del plugin sospechoso. Por ejemplo:\n        <\/p>\n<pre><code>wordfence \u2192 wordfence.disabled<\/code><\/pre>\n<p>\n          Si no sabes cu\u00e1l es, puedes renombrar temporalmente toda la carpeta:\n        <\/p>\n<pre><code>plugins \u2192 plugins.disabled<\/code><\/pre>\n<p>\n          Luego intenta acceder a <code>\/wp-admin<\/code>. Si funciona, vuelve a nombrar la carpeta como <code>plugins<\/code> y activa los plugins uno por uno hasta encontrar el responsable.\n        <\/p>\n<p>          <strong>Cuidado con WooCommerce y sitios en producci\u00f3n:<\/strong> desactivar todos los plugins puede afectar pagos, formularios, cach\u00e9, membres\u00edas o integraciones. Si la web recibe tr\u00e1fico real, hazlo en una ventana de bajo impacto o desde staging.<\/p>\n<h3>Si el problema es la autenticaci\u00f3n en dos pasos<\/h3>\n<p>\n          Si perdiste el m\u00f3vil, la app de autenticaci\u00f3n o los c\u00f3digos de respaldo, desactivar temporalmente el plugin de 2FA por SFTP suele permitir el acceso. Algunos plugins tambi\u00e9n guardan opciones en la base de datos, pero renombrar la carpeta normalmente basta para cortar la ejecuci\u00f3n.\n        <\/p>\n<p>\n          Una vez dentro, reactiva la autenticaci\u00f3n de doble factor, genera c\u00f3digos de recuperaci\u00f3n nuevos y gu\u00e1rdalos en un gestor de contrase\u00f1as. La seguridad sin plan de recuperaci\u00f3n es una fortaleza construida sin puerta trasera para bomberos.\n        <\/p>\n<\/section>\n<section id=\"errores\">\n<h2>Pantalla blanca, \u201cerror cr\u00edtico\u201d o wp-admin roto por PHP \ud83e\udde8<\/h2>\n<p>\n          La <strong>pantalla blanca de la muerte en WordPress<\/strong> es una de esas expresiones melodram\u00e1ticas que, por desgracia, se ganaron su fama. Puede aparecer por un plugin incompatible, un tema con errores, memoria PHP insuficiente, una actualizaci\u00f3n incompleta o una versi\u00f3n de PHP no compatible.\n        <\/p>\n<h3>Activar el registro de errores<\/h3>\n<p>\n          Edita <code>wp-config.php<\/code> y a\u00f1ade o ajusta estas l\u00edneas antes de <code>\/* That's all, stop editing! *\/<\/code>:\n        <\/p>\n<pre><code>define('WP_DEBUG', true);\ndefine('WP_DEBUG_LOG', true);\ndefine('WP_DEBUG_DISPLAY', false);<\/code><\/pre>\n<p>\n          Despu\u00e9s revisa el archivo:\n        <\/p>\n<pre><code>\/wp-content\/debug.log<\/code><\/pre>\n<p>\n          Busca errores fatales como <code>PHP Fatal error<\/code>, nombres de plugins, rutas de temas o funciones duplicadas. El log suele hablar claro; nosotros somos quienes a veces no queremos escucharlo.\n        <\/p>\n<h3>Desactivar plugins por SFTP<\/h3>\n<p>\n          Si el log se\u00f1ala un plugin, renombra su carpeta. Si no hay pista clara, renombra <code>\/wp-content\/plugins\/<\/code> temporalmente como se explic\u00f3 antes.\n        <\/p>\n<h3>Cambiar a un tema por defecto<\/h3>\n<p>\n          Si el problema viene del tema activo, entra por SFTP y renombra la carpeta del tema actual dentro de:\n        <\/p>\n<pre><code>\/wp-content\/themes\/<\/code><\/pre>\n<p>\n          WordPress intentar\u00e1 cargar otro tema disponible, como Twenty Twenty-Four o Twenty Twenty-Five si est\u00e1 instalado. Si no hay un tema por defecto, s\u00fabelo manualmente desde el repositorio oficial.\n        <\/p>\n<h3>Aumentar memoria PHP<\/h3>\n<p>\n          En algunos casos, especialmente con constructores visuales, WooCommerce o sitios pesados, el error se debe a l\u00edmite de memoria. Puedes probar en <code>wp-config.php<\/code>:\n        <\/p>\n<pre><code>define('WP_MEMORY_LIMIT', '256M');<\/code><\/pre>\n<p>\n          Si el hosting impone un l\u00edmite menor, esta l\u00ednea no har\u00e1 milagros. Tendr\u00e1s que ajustarlo desde el panel, <code>php.ini<\/code>, <code>.user.ini<\/code> o solicitarlo al proveedor.\n        <\/p>\n<h3>Versiones de PHP compatibles<\/h3>\n<p>\n          WordPress evoluciona con PHP, pero no todos los plugins caminan al mismo ritmo. Un sitio antiguo puede romperse al pasar de PHP 7.4 a PHP 8.2 u 8.3 si usa c\u00f3digo obsoleto. Lo moderno y lo viejo se miran entonces como dos vecinos que comparten ascensor: educados, tensos, incompatibles en silencio.\n        <\/p>\n<p>\n          Revisa la versi\u00f3n de PHP en el hosting y contr\u00e1stala con los requisitos de WordPress, el tema y los plugins cr\u00edticos. Como regla profesional, evita mantener sitios en versiones de PHP sin soporte de seguridad; tambi\u00e9n evita actualizar a ciegas sin probar compatibilidad.\n        <\/p>\n<\/section>\n<section id=\"redirecciones\">\n<h2>Bucles de redirecci\u00f3n, cookies y URLs mal configuradas \ud83d\udd01<\/h2>\n<p>\n          Uno de los bloqueos m\u00e1s frustrantes ocurre cuando WordPress acepta tus credenciales y, acto seguido, te devuelve al formulario de login como si nada hubiera pasado. Es el equivalente digital a que te reconozcan en recepci\u00f3n y te manden otra vez a la calle.\n        <\/p>\n<h3>Primero: navegador y cookies<\/h3>\n<ul>\n<li>Prueba en ventana privada.<\/li>\n<li>Borra cookies del dominio.<\/li>\n<li>Desactiva extensiones del navegador que puedan interferir.<\/li>\n<li>Prueba otro navegador o red.<\/li>\n<\/ul>\n<h3>Revisa HTTPS y URL del sitio<\/h3>\n<p>\n          En la base de datos, las opciones <code>siteurl<\/code> y <code>home<\/code> deben apuntar correctamente al dominio, protocolo y ruta de instalaci\u00f3n. Si el sitio est\u00e1 en HTTPS pero una opci\u00f3n apunta a HTTP, pueden aparecer bucles, cookies inv\u00e1lidas o redirecciones contradictorias.\n        <\/p>\n<p>\n          Consulta las opciones:\n        <\/p>\n<pre><code>SELECT option_name, option_value\nFROM wp_options\nWHERE option_name IN ('siteurl', 'home');<\/code><\/pre>\n<p>\n          Corrige si es necesario:\n        <\/p>\n<pre><code>UPDATE wp_options\nSET option_value = 'https:\/\/tudominio.com'\nWHERE option_name IN ('siteurl', 'home');<\/code><\/pre>\n<p>          <strong>Recuerda:<\/strong> cambia <code>wp_options<\/code> por el nombre real de tu tabla si usas un prefijo personalizado.<\/p>\n<h3>Forzar URL temporalmente desde wp-config.php<\/h3>\n<p>\n          Si necesitas estabilizar el acceso sin tocar a\u00fan la base de datos, puedes definir:\n        <\/p>\n<pre><code>define('WP_HOME', 'https:\/\/tudominio.com');\ndefine('WP_SITEURL', 'https:\/\/tudominio.com');<\/code><\/pre>\n<p>\n          Esto sobrescribe los valores de la base de datos mientras est\u00e9 en <code>wp-config.php<\/code>. \u00dasalo con intenci\u00f3n, no como parche eterno.\n        <\/p>\n<h3>Si est\u00e1s detr\u00e1s de proxy o Cloudflare<\/h3>\n<p>\n          En configuraciones con proxy inverso, balanceadores o Cloudflare, WordPress puede \u201ccreer\u201d que est\u00e1 en HTTP aunque el visitante llegue por HTTPS. Esto puede provocar bucles. Revisa:\n        <\/p>\n<ul>\n<li>Modo SSL de Cloudflare: evita combinaciones incoherentes como certificados mal configurados con modos flexibles en sitios que requieren HTTPS completo.<\/li>\n<li>Cabeceras <code>X-Forwarded-Proto<\/code>.<\/li>\n<li>Reglas de redirecci\u00f3n duplicadas en hosting, Cloudflare y plugins.<\/li>\n<li>Plugins de SSL como Really Simple SSL si quedaron a medio configurar.<\/li>\n<\/ul>\n<\/section>\n<section id=\"htaccess\">\n<h2>Restaurar .htaccess, Nginx y reglas de servidor \ud83e\uddf1<\/h2>\n<p>\n          En servidores Apache o LiteSpeed, el archivo <code>.htaccess<\/code> puede bloquear el acceso a <code>wp-admin<\/code>, romper enlaces permanentes o producir errores 403\/500. En Nginx, el equivalente suele estar en la configuraci\u00f3n del sitio, no en un archivo editable desde WordPress.\n        <\/p>\n<h3>Restaurar .htaccess b\u00e1sico de WordPress<\/h3>\n<p>\n          Por SFTP, descarga una copia del <code>.htaccess<\/code> actual y reempl\u00e1zalo temporalmente por el bloque est\u00e1ndar:\n        <\/p>\n<pre><code># BEGIN WordPress\n&lt;IfModule mod_rewrite.c&gt;\nRewriteEngine On\nRewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]\nRewriteBase \/\nRewriteRule ^index\\.php$ - [L]\nRewriteCond %{REQUEST_FILENAME} !-f\nRewriteCond %{REQUEST_FILENAME} !-d\nRewriteRule . \/index.php [L]\n&lt;\/IfModule&gt;\n# END WordPress<\/code><\/pre>\n<p>\n          Si el sitio est\u00e1 en un subdirectorio, <code>RewriteBase<\/code> y la \u00faltima regla pueden variar. No copies recetas sin mirar la ruta real; un <code>.htaccess<\/code> correcto en una web puede ser veneno en otra.\n        <\/p>\n<h3>Bloqueos por IP<\/h3>\n<p>\n          Algunos sitios restringen <code>wp-admin<\/code> por IP mediante reglas como:\n        <\/p>\n<pre><code>&lt;Files wp-login.php&gt;\nOrder Deny,Allow\nDeny from all\nAllow from 123.123.123.123\n&lt;\/Files&gt;<\/code><\/pre>\n<p>\n          Si tu IP cambi\u00f3, quedar\u00e1s fuera. Revisa reglas en <code>.htaccess<\/code>, configuraci\u00f3n del hosting, firewall de aplicaci\u00f3n y Cloudflare. La seguridad basada en IP es \u00fatil, pero cuando viajas o tu proveedor cambia la direcci\u00f3n, se comporta como un candado que solo reconoce tu abrigo de invierno.\n        <\/p>\n<\/section>\n<section id=\"base-datos\">\n<h2>Usuarios, roles y capacidades da\u00f1adas en la base de datos \ud83d\udc64<\/h2>\n<p>\n          A veces s\u00ed puedes iniciar sesi\u00f3n, pero WordPress te dice que no tienes permisos suficientes. O tu usuario desapareci\u00f3. O el rol de administrador fue degradado. Este escenario merece especial atenci\u00f3n, porque puede indicar un error humano, un plugin de membres\u00eda mal configurado o una intrusi\u00f3n.\n        <\/p>\n<h3>Crear un nuevo administrador desde phpMyAdmin<\/h3>\n<p>\n          Si no tienes WP-CLI y necesitas crear un usuario administrador desde la base de datos, puedes hacerlo con SQL. Cambia el prefijo <code>wp_<\/code> si tu instalaci\u00f3n usa otro.\n        <\/p>\n<pre><code>INSERT INTO wp_users\n(user_login, user_pass, user_nicename, user_email, user_status, user_registered, display_name)\nVALUES\n('rescateadmin', MD5('Contrase\u00f1aTemporalMuyFuerte!2026'), 'rescateadmin', 'rescate@tudominio.com', 0, NOW(), 'Rescate Admin');<\/code><\/pre>\n<p>\n          Luego obt\u00e9n el ID del usuario reci\u00e9n creado:\n        <\/p>\n<pre><code>SELECT ID FROM wp_users WHERE user_login = 'rescateadmin';<\/code><\/pre>\n<p>\n          Supongamos que el ID es <code>123<\/code>. Inserta sus capacidades:\n        <\/p>\n<pre><code>INSERT INTO wp_usermeta (user_id, meta_key, meta_value)\nVALUES\n(123, 'wp_capabilities', 'a:1:{s:13:\"administrator\";b:1;}'),\n(123, 'wp_user_level', '10');<\/code><\/pre>\n<p>          <strong>Prefijo personalizado:<\/strong> si tus tablas se llaman <code>abc_users<\/code> y <code>abc_usermeta<\/code>, los meta keys deben ser <code>abc_capabilities<\/code> y <code>abc_user_level<\/code>. Este detalle peque\u00f1o pesa como una piedra.<\/p>\n<h3>Instalaciones multisitio<\/h3>\n<p>\n          En WordPress Multisite, ser administrador de un sitio no equivale necesariamente a ser <strong>super admin<\/strong> de la red. Los permisos de red se gestionan de forma distinta, y tocar datos serializados como <code>site_admins<\/code> sin conocer la estructura puede romper accesos. En Multisite, WP-CLI suele ser m\u00e1s seguro:\n        <\/p>\n<pre><code>wp super-admin add nombre_usuario<\/code><\/pre>\n<p>\n          Si no tienes SSH, conviene trabajar con un especialista o con el soporte del hosting. Multisite es poderoso, s\u00ed, pero tambi\u00e9n tiene ese encanto burocr\u00e1tico de los edificios con demasiadas llaves.\n        <\/p>\n<h3>Reparar tablas de WordPress<\/h3>\n<p>\n          Si sospechas de tablas da\u00f1adas, WordPress incluye una herramienta de reparaci\u00f3n. A\u00f1ade temporalmente en <code>wp-config.php<\/code>:\n        <\/p>\n<pre><code>define('WP_ALLOW_REPAIR', true);<\/code><\/pre>\n<p>\n          Despu\u00e9s visita:\n        <\/p>\n<pre><code>https:\/\/tudominio.com\/wp-admin\/maint\/repair.php<\/code><\/pre>\n<p>\n          Ejecuta la reparaci\u00f3n y elimina inmediatamente la l\u00ednea de <code>wp-config.php<\/code>. Esa p\u00e1gina no requiere login mientras est\u00e1 habilitada; dejarla activa ser\u00eda como dejar las llaves debajo del felpudo con una etiqueta fluorescente.\n        <\/p>\n<\/section>\n<section id=\"malware\">\n<h2>Si sospechas de hackeo, malware o usuario comprometido \ud83d\udd75\ufe0f<\/h2>\n<p>\n          No todo bloqueo es un despiste. Si tu usuario administrador fue eliminado, aparecen cuentas desconocidas, el sitio redirige a dominios extra\u00f1os, el archivo <code>wp-config.php<\/code> cambi\u00f3, hay scripts raros en <code>uploads<\/code> o Google muestra advertencias, trata el caso como un incidente de seguridad.\n        <\/p>\n<h3>Se\u00f1ales de compromiso<\/h3>\n<ul>\n<li>Usuarios administradores que no reconoces.<\/li>\n<li>Plugins o temas instalados sin autorizaci\u00f3n.<\/li>\n<li>Archivos PHP dentro de <code>\/wp-content\/uploads\/<\/code>.<\/li>\n<li>Redirecciones a sitios de spam, apuestas, farmacia o descargas.<\/li>\n<li>Cambios recientes en <code>wp-config.php<\/code>, <code>.htaccess<\/code> o archivos del tema.<\/li>\n<li>Consumo anormal de CPU, procesos extra\u00f1os o env\u00edo masivo de correo.<\/li>\n<li>Alertas de Google Search Console, navegadores o antivirus.<\/li>\n<\/ul>\n<h3>Respuesta inicial<\/h3>\n<ol>\n<li>Pon el sitio en modo mantenimiento si est\u00e1 afectando a usuarios.<\/li>\n<li>Cambia contrase\u00f1as del hosting, SFTP\/SSH, base de datos, WordPress y correos asociados.<\/li>\n<li>Revoca accesos de usuarios desconocidos.<\/li>\n<li>Actualiza WordPress, plugins y temas desde fuentes oficiales.<\/li>\n<li>Elimina plugins y temas nulled, abandonados o no utilizados.<\/li>\n<li>Compara archivos core con versiones limpias de WordPress.<\/li>\n<li>Escanea con herramientas de seguridad reputadas y revisa logs del servidor.<\/li>\n<\/ol>\n<p>          <strong>No basta con recuperar wp-admin.<\/strong> Si hubo intrusi\u00f3n, el atacante puede haber dejado puertas traseras. Restaurar acceso sin limpiar la causa es como barrer ceniza mientras el incendio sigue respirando bajo el suelo.<\/p>\n<h3>Rotar claves SALT de WordPress<\/h3>\n<p>\n          Despu\u00e9s de un incidente o acceso sospechoso, cambia las claves de seguridad en <code>wp-config.php<\/code>. Esto invalida sesiones activas y obliga a los usuarios a iniciar sesi\u00f3n de nuevo.\n        <\/p>\n<p>\n          WordPress ofrece un generador oficial de salts en:<br \/>\n          <a href=\"https:\/\/api.wordpress.org\/secret-key\/1.1\/salt\/\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/api.wordpress.org\/secret-key\/1.1\/salt\/<\/a>\n        <\/p>\n<\/section>\n<section id=\"hosting\">\n<h2>Cuando el bloqueo viene del hosting, WAF o servidor \ud83d\udee1\ufe0f<\/h2>\n<p>\n          Hay bloqueos que no nacen en WordPress. El servidor puede negar acceso por ModSecurity, reglas anti-bot, l\u00edmites de recursos, permisos incorrectos, propietario de archivos equivocado o firewall. En estos casos, insistir con contrase\u00f1as es como cambiar la llave cuando la calle est\u00e1 cortada.\n        <\/p>\n<h3>Revisa errores HTTP<\/h3>\n<table>\n<thead>\n<tr>\n<th>Error<\/th>\n<th>Qu\u00e9 suele significar<\/th>\n<th>Qu\u00e9 revisar<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>401 Unauthorized<\/td>\n<td>Autenticaci\u00f3n adicional del servidor<\/td>\n<td>Protecci\u00f3n por contrase\u00f1a en directorio, reglas del hosting<\/td>\n<\/tr>\n<tr>\n<td>403 Forbidden<\/td>\n<td>Acceso bloqueado<\/td>\n<td>Permisos, WAF, IP bloqueada, .htaccess, ModSecurity<\/td>\n<\/tr>\n<tr>\n<td>404 Not Found<\/td>\n<td>Ruta no encontrada o reescritura rota<\/td>\n<td>Archivos de WordPress, reglas rewrite, URL personalizada<\/td>\n<\/tr>\n<tr>\n<td>500 Internal Server Error<\/td>\n<td>Error del servidor o PHP<\/td>\n<td>Logs, .htaccess, plugins, memoria, versi\u00f3n PHP<\/td>\n<\/tr>\n<tr>\n<td>502\/503\/504<\/td>\n<td>Servicio no disponible o timeout<\/td>\n<td>PHP-FPM, recursos agotados, cach\u00e9, proxy, hosting<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Permisos recomendados<\/h3>\n<p>\n          Como referencia general, directorios con permisos <code>755<\/code> y archivos con <code>644<\/code> suelen ser correctos en muchas configuraciones. <code>wp-config.php<\/code> puede tener permisos m\u00e1s restrictivos seg\u00fan el servidor. Evita <code>777<\/code>, salvo instrucciones temporales muy controladas y justificadas. Es c\u00f3modo, s\u00ed; tambi\u00e9n lo es dejar la puerta abierta para no buscar las llaves.\n        <\/p>\n<h3>Consulta al soporte con datos concretos<\/h3>\n<p>\n          Si contactas al hosting, env\u00eda:\n        <\/p>\n<ul>\n<li>URL exacta afectada.<\/li>\n<li>Hora aproximada del fallo con zona horaria.<\/li>\n<li>IP desde la que intentas acceder.<\/li>\n<li>Captura o texto del error.<\/li>\n<li>Cambios recientes realizados.<\/li>\n<li>Solicitud de revisi\u00f3n de logs, WAF, ModSecurity y bloqueos por IP.<\/li>\n<\/ul>\n<p>\n          Un ticket preciso recibe mejores respuestas. \u201cNo puedo entrar\u201d es comprensible; \u201crecibo 403 en \/wp-login.php desde esta IP desde las 10:35 UTC tras actualizar Wordfence\u201d es m\u00fasica para soporte t\u00e9cnico.\n        <\/p>\n<\/section>\n<section id=\"funciones\">\n<h2>Crear un administrador desde functions.php: \u00fatil, pero con guantes \ud83e\udde4<\/h2>\n<p>\n          Existe un m\u00e9todo de emergencia: a\u00f1adir c\u00f3digo temporal al archivo <code>functions.php<\/code> del tema activo para crear un usuario administrador. Funciona, pero debe usarse con extremo cuidado y retirarse inmediatamente despu\u00e9s. Si lo dejas, cada carga del sitio intentar\u00e1 crear o modificar usuarios. Una mala idea vestida de soluci\u00f3n r\u00e1pida.\n        <\/p>\n<pre><code>add_action('init', function () {\n    $username = 'rescateadmin';\n    $password = 'Contrase\u00f1aTemporalMuyFuerte!2026';\n    $email = 'rescate@tudominio.com';\n\n    if (!username_exists($username) && !email_exists($email)) {\n        $user_id = wp_create_user($username, $password, $email);\n        $user = new WP_User($user_id);\n        $user-&gt;set_role('administrator');\n    }\n});<\/code><\/pre>\n<p>\n          Despu\u00e9s de acceder:\n        <\/p>\n<ol>\n<li>Elimina el c\u00f3digo de <code>functions.php<\/code>.<\/li>\n<li>Cambia la contrase\u00f1a del usuario creado.<\/li>\n<li>Comprueba que no haya usuarios desconocidos.<\/li>\n<li>Si no necesitas esa cuenta, b\u00f3rrala.<\/li>\n<\/ol>\n<p>          <strong>Preferencia profesional:<\/strong> usa WP-CLI o phpMyAdmin antes que editar <code>functions.php<\/code>, especialmente en temas complejos, sitios con cach\u00e9 agresiva o proyectos con control de versiones.<\/p>\n<\/section>\n<section id=\"checklist\">\n<h2>Checklist profesional para recuperar wp-admin sin perder la cabeza \u2705<\/h2>\n<h3>Orden recomendado de actuaci\u00f3n<\/h3>\n<ol>\n<li>Crear backup completo de archivos y base de datos.<\/li>\n<li>Identificar el s\u00edntoma: contrase\u00f1a, 403, 500, bucle, error PHP, permisos.<\/li>\n<li>Probar recuperaci\u00f3n normal de contrase\u00f1a.<\/li>\n<li>Limpiar cookies y probar navegador privado.<\/li>\n<li>Revisar cambios recientes: actualizaciones, migraci\u00f3n, SSL, plugins.<\/li>\n<li>Si es contrase\u00f1a\/correo: cambiar contrase\u00f1a con WP-CLI o phpMyAdmin.<\/li>\n<li>Si es bloqueo: revisar plugin de seguridad, WAF, Cloudflare, hosting e IP.<\/li>\n<li>Si es error cr\u00edtico: activar debug log y desactivar plugin\/tema conflictivo.<\/li>\n<li>Si hay bucle: comprobar <code>siteurl<\/code>, <code>home<\/code>, HTTPS y cach\u00e9.<\/li>\n<li>Si hay sospecha de hackeo: tratarlo como incidente, no como simple olvido.<\/li>\n<li>Una vez dentro: auditar usuarios, actualizar, cambiar credenciales y reforzar seguridad.<\/li>\n<\/ol>\n<\/section>\n<section id=\"despues\">\n<h2>Despu\u00e9s de recuperar el acceso: que no vuelva a pasar ma\u00f1ana \ud83c\udf31<\/h2>\n<p>\n          Recuperar el panel de WordPress produce alivio, ese peque\u00f1o sol que sale detr\u00e1s de una ma\u00f1ana t\u00e9cnica bastante gris. Pero si cierras el navegador y sigues como antes, el episodio queda convertido en superstici\u00f3n: \u201cojal\u00e1 no vuelva\u201d. La administraci\u00f3n profesional no vive de ojal\u00e1s.\n        <\/p>\n<h3>1. Cambia contrase\u00f1as y revisa usuarios<\/h3>\n<ul>\n<li>Cambia la contrase\u00f1a de todos los administradores.<\/li>\n<li>Elimina usuarios que no reconozcas.<\/li>\n<li>Reduce privilegios: no todos necesitan ser administradores.<\/li>\n<li>Comprueba emails asociados a cuentas cr\u00edticas.<\/li>\n<\/ul>\n<h3>2. Activa autenticaci\u00f3n en dos pasos<\/h3>\n<p>\n          Usa 2FA para administradores y editores con permisos sensibles. Guarda c\u00f3digos de recuperaci\u00f3n en un gestor de contrase\u00f1as. La doble autenticaci\u00f3n no es invulnerable, pero eleva el coste de ataque de forma notable.\n        <\/p>\n<h3>3. Configura SMTP fiable<\/h3>\n<p>\n          Muchas recuperaciones fallan porque WordPress intenta enviar correos desde un servidor mal configurado. Usa un plugin SMTP con un proveedor transaccional serio o el correo autenticado del dominio. Configura SPF, DKIM y DMARC cuando corresponda.\n        <\/p>\n<h3>4. Mant\u00e9n backups autom\u00e1ticos y restaurables<\/h3>\n<p>\n          No basta con \u201ctener backup\u201d. Hay que poder restaurarlo. Programa copias autom\u00e1ticas externas, conserva varias versiones y prueba restauraciones peri\u00f3dicas. Un backup que nunca se ha probado es una promesa, no una garant\u00eda.\n        <\/p>\n<h3>5. Actualiza con estrategia<\/h3>\n<ul>\n<li>Actualiza WordPress core, plugins y temas.<\/li>\n<li>Elimina extensiones abandonadas.<\/li>\n<li>Prueba cambios importantes en staging.<\/li>\n<li>Lee notas de compatibilidad cuando actualices PHP.<\/li>\n<\/ul>\n<h3>6. Refuerza el acceso a wp-admin<\/h3>\n<ul>\n<li>Limita intentos de login.<\/li>\n<li>Usa contrase\u00f1as largas y \u00fanicas.<\/li>\n<li>Protege cuentas del hosting y registrador del dominio.<\/li>\n<li>Considera reglas por IP si tu operaci\u00f3n lo permite.<\/li>\n<li>Monitoriza cambios de archivos y nuevos usuarios.<\/li>\n<\/ul>\n<h3>7. Documenta el procedimiento<\/h3>\n<p>\n          Deja por escrito qui\u00e9n tiene acceso, d\u00f3nde est\u00e1n los backups, c\u00f3mo se entra por SFTP\/SSH, qu\u00e9 proveedor gestiona DNS, c\u00f3mo se restaura una copia y qu\u00e9 hacer si falla el correo. La documentaci\u00f3n parece innecesaria hasta que un viernes a las 18:47 alguien pregunta: \u201c\u00bfQui\u00e9n tiene las claves?\u201d. Y entonces envejecemos todos un poco.\n        <\/p>\n<\/section>\n<section id=\"errores-comunes\">\n<h2>Errores comunes que empeoran el problema \ud83d\udeab<\/h2>\n<h3>Borrar plugins al azar<\/h3>\n<p>\n              Renombrar es reversible. Borrar no siempre. Antes de eliminar carpetas, descarga una copia. Especialmente si hay plugins premium con configuraciones locales.\n            <\/p>\n<h3>Editar la base de datos sin backup<\/h3>\n<p>\n              Una consulta mal dirigida puede afectar a todos los usuarios o romper datos serializados. Respeta la base de datos: es el archivo de memoria del sitio.\n            <\/p>\n<h3>Dejar usuarios temporales<\/h3>\n<p>\n              Las cuentas de rescate deben desaparecer o quedar protegidas. Lo provisional, en tecnolog\u00eda, tiene una curiosa vocaci\u00f3n de eternidad.\n            <\/p>\n<h3>Ignorar se\u00f1ales de ataque<\/h3>\n<p>\n              Si hubo usuarios desconocidos, archivos sospechosos o redirecciones raras, no lo trates como un simple error de contrase\u00f1a.\n            <\/p>\n<h3>Usar plugins nulled<\/h3>\n<p>\n              Un plugin pirata puede salir caro: puertas traseras, malware, spam SEO y p\u00e9rdida de reputaci\u00f3n. Lo gratis, a veces, cobra con intereses.\n            <\/p>\n<h3>No revisar logs<\/h3>\n<p>\n              Los logs del servidor, PHP y WordPress suelen contener la pista decisiva. No son literatura ligera, pero dicen la verdad con una sequedad admirable.\n            <\/p>\n<\/section>\n<section id=\"resumen\">\n<h2>Gu\u00eda r\u00e1pida seg\u00fan tu caso \u26a1<\/h2>\n<table>\n<thead>\n<tr>\n<th>Tu situaci\u00f3n<\/th>\n<th>Soluci\u00f3n m\u00e1s probable<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Olvid\u00e9 la contrase\u00f1a y el email funciona<\/td>\n<td>Usar \u201c\u00bfHas olvidado tu contrase\u00f1a?\u201d en <code>wp-login.php<\/code><\/td>\n<\/tr>\n<tr>\n<td>Olvid\u00e9 la contrase\u00f1a y el email no llega<\/td>\n<td>Cambiar contrase\u00f1a con WP-CLI o phpMyAdmin<\/td>\n<\/tr>\n<tr>\n<td>Perd\u00ed 2FA<\/td>\n<td>Desactivar temporalmente el plugin de 2FA por SFTP<\/td>\n<\/tr>\n<tr>\n<td>Me aparece 403<\/td>\n<td>Revisar plugin de seguridad, WAF, IP bloqueada, <code>.htaccess<\/code><\/td>\n<\/tr>\n<tr>\n<td>Veo pantalla blanca o error cr\u00edtico<\/td>\n<td>Activar debug log, desactivar plugin o tema conflictivo<\/td>\n<\/tr>\n<tr>\n<td>Entro y vuelve al login<\/td>\n<td>Revisar cookies, HTTPS, <code>siteurl<\/code>, <code>home<\/code>, cach\u00e9<\/td>\n<\/tr>\n<tr>\n<td>Mi usuario ya no es administrador<\/td>\n<td>Restaurar capacidades con WP-CLI\/phpMyAdmin y auditar seguridad<\/td>\n<\/tr>\n<tr>\n<td>Sospecho que hackearon el sitio<\/td>\n<td>Contener, limpiar malware, cambiar credenciales, revisar logs y usuarios<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/section>\n<section>\n<h2>Volver a entrar no es el final: es la advertencia<\/h2>\n<p>\n          Perder acceso a <strong>wp-admin<\/strong> puede parecer un accidente dom\u00e9stico: una llave extraviada, una puerta cerrada, un mal rato. Pero en muchos casos revela algo m\u00e1s profundo: backups poco claros, correos mal configurados, exceso de administradores, plugins sin mantenimiento, seguridad sin procedimiento o dependencia absoluta de una sola persona.\n        <\/p>\n<p>\n          WordPress es flexible como una navaja suiza y fr\u00e1gil como una copa si se administra sin m\u00e9todo. Esa es su paradoja: permite construir casi cualquier cosa, pero exige disciplina para que esa libertad no se convierta en caos. Recupera el acceso con calma, documenta lo aprendido y deja el sitio m\u00e1s fuerte de lo que estaba. Que la pr\u00f3xima visita a <code>\/wp-admin<\/code> sea aburrida. En mantenimiento web, pocas cosas son tan hermosas como el aburrimiento bien ganado. \ud83d\udee0\ufe0f\ud83d\udd12\n        <\/p>\n<\/section>\n<\/article>\n<p>  <\/main><\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPress wp-admin Seguridad Recuperaci\u00f3n de acceso \u00bfQu\u00e9 hacer si pierdo el acceso y no puedo<\/p>\n","protected":false},"author":1,"featured_media":3787,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","_seopress_news_disabled":"","_seopress_video_disabled":"","_seopress_video":[],"_seopress_pro_schemas_manual":[],"_seopress_pro_rich_snippets_disable_all":"","_seopress_pro_rich_snippets_disable":[],"_seopress_pro_schemas":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-3788","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mantenimiento"],"_links":{"self":[{"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/posts\/3788","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/comments?post=3788"}],"version-history":[{"count":1,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/posts\/3788\/revisions"}],"predecessor-version":[{"id":3789,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/posts\/3788\/revisions\/3789"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/media\/3787"}],"wp:attachment":[{"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/media?parent=3788"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/categories?post=3788"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/tags?post=3788"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}