UA-51298262-10 Skip to main content
WordPress

Recuperar acceso administrador WordPress mediante FTP: guía paso a paso

By octubre 4, 2026No Comments
Recuperar acceso administrador WordPress mediante FTP: guía paso a paso

Pocos sustos hay mayores para un webmaster que este: escribes tu usuario y contraseña, le das a entrar y WordPress te escupe el mensaje de error de siempre. O peor. Entras y descubres que tu cuenta ya no es administradora. La parte buena es que, si tienes acceso FTP al servidor, recuperas el control en pocos minutos y sin tener que meterle mano a la base de datos. En esta primera parte de la guía explico por qué este método es el más fiable, qué conviene tener preparado y cómo crear un usuario administrador nuevo editando el functions.php de tu tema.

Por qué recuper el acceso de administrador mediante FTP

Las causas pueden ser varias. Un pirateo que eliminó o degradó tu usuario, un error al migrar la web, un plugin de seguridad que bloqueó tu IP o tu cuenta, o simplemente haber olvidado el correo de recuperación. Da igual cuál sea: el panel de administración queda fuera de tu alcance, pero el sistema de archivos del servidor sigue siendo tuyo.

FTP (o mejor, su variante segura SFTP) te deja acceder directamente a los archivos de la instalación. Traducido: puedes ejecutar código en el contexto de WordPress sin entrar ni en el panel ni en phpMyAdmin. Otros métodos dependen de que el email funcione o de que la base de datos esté intacta. Este no. Solo pide que los archivos del sitio sean accesibles, y por eso es la vía más robusta cuando las cosas se han torcido.

Y además es reversible y limpio. El usuario que creamos se registra en la base de datos como cualquier otro, de modo que después podrás eliminar usuarios comprometidos, cambiar contraseñas y revisar la seguridad desde el propio panel, ya con el control recuperado.

Consejo: si sospechas de un hackeo, no te limites a recuperar el acceso. Una vez dentro, revisa los usuarios registrados, cambia las claves de todos los administradores y actualiza núcleo, temas y plugins.

Requisitos previos: datos de FTP y acceso al hosting

Antes de empezar, asegúrate de contar con lo siguiente:

  • Credenciales FTP o SFTP: servidor (por ejemplo, ftp.tudominio.com), usuario, contraseña y puerto (21 para FTP, 22 para SFTP). Si no las tienes, el panel de tu hosting (cPanel, Plesk o similar) permite crearlas o restablecerlas en la sección de cuentas FTP.
  • Un cliente FTP: FileZilla es la opción gratuita más habitual. También sirven Cyberduck, WinSCP o el gestor de archivos del propio hosting.
  • Saber identificar la carpeta de instalación: normalmente es public_html, www o una subcarpeta del dominio. Debe contener wp-config.php y los directorios wp-admin y wp-content.
  • Conocer el tema activo: lo necesitarás para localizar el archivo functions.php correcto. Puedes comprobarlo en la base de datos (tabla wp_options, campos template y stylesheet) o probando con el tema principal instalado.

Un detalle importante: si usas SFTP y el servidor pide autenticación por clave, configura la clave privada en tu cliente FTP antes de conectar. Y como buena práctica, haz copia de seguridad de cualquier archivo antes de editarlo. Descárgalo a tu equipo. Si algo sale mal, lo restauras y listo.

Crear un usuario administrador editando functions.php por FTP

La idea es sencilla: inyectamos temporalmente código en el functions.php del tema activo para que WordPress cree un usuario administrador la próxima vez que se cargue el sitio.

Paso 1: localiza y descarga el archivo

Con FileZilla, navega a /public_html/wp-content/themes/tu-tema-activo/ y localiza functions.php. Descárgalo a tu equipo como copia de seguridad antes de tocar nada. Insisto en esto; es la red de seguridad si te equivocas.

Paso 2: añade el código

Abre el archivo con un editor de texto plano (Notepad++, VS Code) y añade al final, antes de un cierre de etiqueta PHP si existe, el siguiente bloque:

Nota: sustituye «nuevoadmin», «tu_correo@dominio.com» y «TuContraseaSegura123!» por tus propios valores.

  • $user_login = ‘nuevoadmin’; — nombre de usuario del nuevo administrador.
  • $user_pass = ‘TuContraseaSegura123!’; — contraseña, usa una fuerte.
  • $user_email = ‘tu_correo@dominio.com’; — un correo válido y tuyo.
  • wp_insert_user con role administrator — crea el usuario con rol de administrador.

El código completo que debes pegar es este:

add_action(‘init’, ‘rs_crear_admin_emergencia’);
function rs_crear_admin_emergencia() {
  $username = ‘nuevoadmin’;
  if (!username_exists($username)) {
    $user_id = wp_create_user(‘nuevoadmin’, ‘TuContraseaSegura123!’, ‘tu_correo@dominio.com’);
    $user = new WP_User($user_id);
    $user->set_role(‘administrator’);
  }
}

Paso 3: sube el archivo y accede al panel

Guarda los cambios y sube el archivo modificado por FTP, sobrescribiendo el original. A continuación visita tu web (tudominio.com, por ejemplo) para que WordPress ejecute el código y cree el usuario. Luego entra en tudominio.com/wp-login.php con las nuevas credenciales. Deberías acceder con permisos completos de administrador.

Paso 4: elimina el código de functions.php

Ojo con esto: no dejes el fragmento en el archivo. Cualquier persona con acceso a la web podría verlo o reutilizarlo. Vuelve a editar functions.php por FTP, borra el bloque añadido, guarda y vuelve a subir. Con esto el método queda limpio y seguro, y ya puedes gestionar usuarios y contraseñas desde el panel con normalidad.

En RedServicio (redservicio.net) dispones de ayuda profesional si prefieres que un técnico realice el proceso por ti, o si el problema de acceso viene acompañado de indicios de compromiso de seguridad.

Alternativa: modificar la base de datos vía wp-config.php

¿Y si prefieres no tocar functions.php? Hay otro camino, igual de válido: crear el usuario directamente en la base de datos, usando las credenciales de conexión que ya están escritas en wp-config.php. Yo suelo recomendarlo cuando el tema se cambia con frecuencia, o simplemente cuando alguien no quiere meter código de funcionalidad en archivos de plantilla.

Primero, abre wp-config.php y localiza las constantes DB_NAME, DB_USER, DB_PASSWORD y DB_HOST. Con eso entras a phpMyAdmin desde el panel de tu hosting y ejecutas la consulta que inserta el usuario:

  1. Abre la tabla wp_users y pulsa en la pestaña SQL.
  2. Ejecuta un INSERT con user_login, user_pass (contraseña cifrada con MD5 desde la propia función de phpMyAdmin), user_email y user_nicename.
  3. Anota el valor de ID que se genera (por ejemplo, el 99).
  4. En wp_usermeta, inserta dos filas para ese ID: una con meta_key wp_capabilities y valor a:1:{s:13:»administrator»;b:1;} y otra con meta_key wp_level y valor 10.

Ojo con un detalle. El prefijo de las tablas puede que no sea wp_. Depende de cómo se configuró $table_prefix en wp-config.php. Verifícalo antes de lanzar las consultas; usar el prefijo equivocado es, con diferencia, una de las causas más frecuentes de fallo en este método.

También puedes llegar con la contraseña ya cifrada. Si tu instalación usa hash bcrypt (las nuevas de WordPress 6.x lo hacen así), lo más sencillo es generar el MD5 en la consulta y entrar una sola vez al panel: WordPress re-cifrará la contraseña automáticamente en ese primer inicio de sesión. Sin pasos extra.

Errores comunes al recuperar acceso administrador WordPress y cómo evitarlos

En RedServicio vemos una y otra vez los mismos tropiezos cuando alguien intenta recuperar acceso administrador WordPress por su cuenta. Los más habituales, por si te sirven de checklist:

  • Asignar el rol con el prefijo equivocado. Escribes wp_capabilities en una base cuyo prefijo es wsrt_ y el usuario se crea, sí, pero sin permisos de administrador. Comprueba siempre $table_prefix.
  • Olvidar el meta wp_user_level. Sin ese 10, algunos componentes del panel se comportan de forma extraña aunque el rol esté bien puesto.
  • Editar functions.php del tema equivocado. Si el código va a un tema que no es el activo, nunca se ejecuta. Confirma cuál está activo mirando las opciones template y stylesheet en wp_options, o directamente en el frontend.
  • Dejar el código en functions.php después de entrar. Cualquiera que comprometa ese archivo podría recrear administradores a placer. Borra el fragmento en cuanto lo uses. Sin excusas.
  • Escribir mal la sintaxis del array de capacidades. Un a:1:{s:13:»administrator»;b:1;} con comillas simples o un espacio de más hará que WordPress no reconozca el rol. Es quisquilloso con esto, y con razón.
  • No limpiar la caché. WP Rocket, LiteSpeed Cache, W3 Total Cache… cualquiera de ellos puede servirte versiones antiguas del sitio tras el cambio. Vacía caché de servidor y de navegador antes de probar el login.

¿Sigue fallando después de revisar todo esto? Entonces la cosa se complica: puede que un plugin de seguridad esté bloqueando el login por IP, que haya una redirección mal configurada en .htaccess, o incluso un malware manipulando la autenticación. En ese escenario lo más prudente es pedir diagnóstico profesional. En RedServicio (redservicio.net) analizamos el origen del bloqueo y restauramos el acceso sin poner en riesgo los datos.

Conclusión: asegura el acceso a tu WordPress tras recuperarlo

Recuperar el acceso administrador de WordPress vía FTP es perfectamente viable con lo descrito aquí: o insertas el código temporal en functions.php, o creas el usuario directamente en la base de datos apoyándote en wp-config.php. En ambos casos la clave es la misma. Ser metódico. Respetar los prefijos. Y dejar el rastro limpio.

Eso sí: recuperar el acceso es solo la mitad del trabajo. Una vez dentro, dedica unos minutos a blindar la instalación para que no vuelva a pasar:

  • Crea un administrador nuevo con usuario y contraseña robustos, y elimina o degrada las cuentas que no reconozcas.
  • Actualiza núcleo, tema y plugins. Las versiones desactualizadas siguen siendo la puerta de entrada favorita de los atacantes.
  • Instala un plugin de seguridad con protección de login, límite de intentos y autenticación en dos pasos.
  • Configura copias de seguridad automáticas fuera del servidor, para poder restaurar en minutos ante cualquier incidencia.
  • Revisa usuarios y logs buscando actividad sospechosa. Quizá la pérdida de acceso no fue un descuido tuyo, sino un ataque.

Con el acceso restaurado y estas medidas aplicadas, tu WordPress vuelve a estar bajo control, y mejor protegido que antes del susto. Y si prefieres delegar la recuperación o el endurecimiento en manos expertas, el equipo de RedServicio (redservicio.net) está disponible para resolverlo de forma rápida y segura.