🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo proteger el panel de administración de WordPress (wp-admin) con contraseña

Actualizado el 2 de noviembre de 2025

¿Por qué proteger wp-admin con una contraseña adicional?

El panel de administración de WordPress, conocido comúnmente como wp-admin, es el centro de control de tu sitio web. Desde aquí puedes gestionar entradas, páginas, plugins, temas, usuarios y la configuración general. Es, sin duda, la parte más sensible de tu instalación.

Si un atacante consigue acceso a esta zona, podría inyectar código malicioso, robar datos de tus clientes, redirigir tu web a sitios fraudulentos o incluso borrar todo tu contenido. Por eso, una de las primeras medidas de seguridad WordPress que debes implementar es una capa extra de protección.

La contraseña de tu usuario administrador es una barrera, pero no es infalible. Los ataques de fuerza bruta (intentos masivos de adivinar contraseñas) son muy comunes. Añadir una contraseña adicional a nivel de servidor para acceder a wp-admin es como poner un segundo candado en la puerta principal: aunque alguien tenga la llave del primer candado, sin la segunda llave no podrá entrar.

Este proceso, que veremos a continuación, se realiza mediante el archivo .htaccess y es compatible con la mayoría de servidores Apache, que son los más utilizados en el hosting compartido.

Requisitos previos antes de empezar

Antes de lanzarnos a modificar archivos, es fundamental que tengas a mano los datos de acceso a tu hosting. Necesitarás:

  • Acceso al Panel de Control de tu hosting (como cPanel, Plesk o Syspanel).
  • Un editor de texto plano (como el Bloc de notas de Windows o TextEdit en Mac). Evita usar procesadores de texto como Word, ya que añaden formato invisible que puede romper el código.
  • Un cliente FTP (como FileZilla) o, si lo prefieres, el Administrador de Archivos que incluye tu panel de control.

[INFO] Si tu hosting utiliza Syspanel, recuerda que el acceso a este panel se realiza a través del puerto 2106 (por ejemplo, https://tu-dominio.com:2106). Una vez dentro, busca la sección "Administrador de Archivos" o "Gestor de Archivos" para localizar la carpeta raíz de tu sitio web.

Método 1: Generar el archivo .htpasswd (El archivo de contraseñas)

Este es el primer paso y el más importante. El archivo .htpasswd almacenará tu usuario y la contraseña cifrada. No lo confundas con el archivo .htaccess, que es el que define las reglas de acceso.

Paso 1: Crear las credenciales cifradas

Necesitas generar un hash de tu contraseña. No puedes escribir la contraseña en texto plano, ya que sería un riesgo de seguridad. Existen herramientas online para esto, pero lo más seguro es generarlo desde tu propio servidor.

Opción A: Usando una herramienta online (Rápido y sencillo)

Busca en tu navegador "generador de contraseñas htpasswd". Hay muchas páginas que te permiten introducir tu usuario y contraseña y te devuelven la línea completa que debes añadir al archivo.

Opción B: Usando el terminal de tu servidor (Más seguro)

Si tienes acceso SSH a tu servidor, puedes ejecutar el siguiente comando:

htpasswd -c /ruta/a/tu/archivo/.htpasswd tu_usuario

Te pedirá que introduzcas la contraseña dos veces y creará el archivo automáticamente.

[WARNING] Si usas una herramienta online, asegúrate de que la conexión sea HTTPS. Aun así, te recomendamos cambiar la contraseña generada por una propia una vez hayas terminado el proceso, por si acaso. La contraseña no debe ser la misma que la de tu usuario de WordPress.

Paso 2: Crear y subir el archivo .htpasswd

  1. Abre tu editor de texto plano.
  2. Pega la línea que has generado. Tendrá un formato similar a este: tu_usuario:$apr1$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  3. Guarda el archivo con el nombre .htpasswd (sin extensión .txt). Es importante que el nombre empiece con un punto.
  4. Ahora, sube este archivo a una carpeta fuera de la raíz pública de tu sitio web (la carpeta public_html). Si tu hosting te permite crear carpetas fuera de public_html, hazlo ahí. Si no, puedes subirlo a la misma carpeta, pero luego lo protegeremos con otra regla en el .htaccess.

[TIP] Lo ideal es que el archivo .htpasswd esté un nivel por encima de public_html. Por ejemplo, si tu sitio está en /home/usuario/public_html, sube el archivo a /home/usuario/.htpasswd. Así no será accesible desde un navegador web.

Método 2: Configurar el archivo .htaccess (La regla de oro)

Este es el archivo que le dice al servidor qué hacer. Vamos a añadir las directivas para que, cuando alguien intente acceder a wp-admin, el servidor le pida las credenciales que hemos guardado en el .htpasswd.

Paso 1: Localizar el archivo .htaccess correcto

Necesitas editar el archivo .htaccess que se encuentra en la raíz de tu instalación de WordPress (normalmente dentro de public_html). Si no lo ves, activa la opción de "Mostrar archivos ocultos" en tu administrador de archivos o en tu cliente FTP.

Paso 2: Añadir el código de protección

  1. Descarga una copia del archivo .htaccess a tu ordenador para tener un respaldo.
  2. Ábrelo con tu editor de texto plano.
  3. Añade el siguiente bloque de código al principio del archivo, justo después de la línea # BEGIN WordPress si existe, o al inicio si no existe.
# Proteger wp-admin con contraseña
<Files wp-login.php>
AuthName "Acceso Restringido"
AuthType Basic
AuthUserFile /ruta/absoluta/a/tu/archivo/.htpasswd
Require valid-user
</Files>

<FilesMatch "^wp-admin">
AuthName "Acceso Restringido"
AuthType Basic
AuthUserFile /ruta/absoluta/a/tu/archivo/.htpasswd
Require valid-user
</FilesMatch>

Explicación del código:

  • <Files wp-login.php>: Esta sección protege específicamente el archivo de inicio de sesión de WordPress.
  • <FilesMatch "^wp-admin">: Esta sección protege toda la carpeta wp-admin, incluyendo los archivos de administración.
  • AuthName "Acceso Restringido": Es el mensaje que verá el usuario en la ventana emergente del navegador.
  • AuthType Basic: Indica que se usará autenticación básica HTTP.
  • AuthUserFile /ruta/absoluta/a/tu/archivo/.htpasswd: Aquí es donde debes poner la ruta absoluta a tu archivo .htpasswd. No es la URL, es la ruta en el servidor. Por ejemplo, /home/usuario/.htpasswd. Si no sabes cuál es, puedes encontrarla en la sección "Información del Sistema" o "Detalles de la Cuenta" de tu panel de control. También puedes crear un archivo info.php con el contenido <?php echo $_SERVER['DOCUMENT_ROOT']; ?> y subirlo a public_html para ver la ruta, pero recuerda borrarlo después.
  • Require valid-user: Esta línea es la que exige que el usuario y la contraseña sean válidos.

Paso 3: Subir el archivo modificado

Guarda los cambios en tu archivo .htaccess y súbelo de nuevo a la raíz de tu WordPress, sobrescribiendo el anterior.

[WARNING] Asegúrate de que la ruta en AuthUserFile sea absolutamente correcta. Si no lo es, el servidor devolverá un error 500 y tu sitio web dejará de funcionar. Si esto ocurre, no te preocupes: simplemente sube la copia de seguridad que descargaste antes y vuelve a intentarlo con la ruta corregida.

Método 3: Proteger wp-admin con plugins de seguridad (La alternativa fácil)

Si no te sientes cómodo editando archivos de configuración, existen plugins que hacen este trabajo por ti de forma automática. Son una excelente opción, especialmente para principiantes.

Paso 1: Instalar un plugin de seguridad

Algunos de los plugins más populares y fiables que incluyen esta función son:

  • iThemes Security (antes Better WP Security)
  • Wordfence Security
  • All In One WP Security

Paso 2: Configurar la protección

  1. Ve a la sección del plugin en tu panel de administración de WordPress.
  2. Busca la opción que se llama "Protección de archivos", "Sistema de archivos" o "Ocultar área de administración".
  3. Activa la opción "Requiere contraseña para acceder a wp-admin" o similar.
  4. El plugin te pedirá que configures una contraseña nueva o te generará una automáticamente. Guárdala en un lugar seguro.

[TIP] Los plugins suelen ofrecer opciones adicionales muy útiles, como limitar el número de intentos de inicio de sesión o exigir el uso de autenticación de dos factores (2FA). Te recomendamos activarlas para reforzar aún más la seguridad WordPress de tu sitio.

Solución de problemas comunes (FAQ)

¿Qué hago si recibo un error 500 después de modificar el .htaccess?

Esto es casi siempre debido a una ruta incorrecta en la línea AuthUserFile. Revisa que la ruta sea exacta. Otra causa puede ser un error de sintaxis en el código. Vuelve a subir el archivo de respaldo y repite el proceso con cuidado.

¿Cómo puedo saber cuál es la ruta absoluta de mi servidor?

Puedes usar un truco sencillo: crea un archivo llamado ruta.php en la raíz de tu sitio con el siguiente contenido:

<?php echo $_SERVER['DOCUMENT_ROOT']; ?>

Accede a tudominio.com/ruta.php desde tu navegador. Te mostrará la ruta absoluta. Una vez lo sepas, borra el archivo ruta.php inmediatamente.

¿Puedo proteger solo el archivo wp-login.php y no toda la carpeta wp-admin?

Sí, por supuesto. Si solo quieres proteger el acceso al formulario de inicio de sesión, puedes eliminar la parte del código que usa <FilesMatch "^wp-admin">. Sin embargo, te recomendamos proteger toda la carpeta para una mayor seguridad.

¿Esta protección afecta al rendimiento de mi sitio web?

El impacto en el rendimiento es mínimo e imperceptible. La verificación de contraseña se realiza una sola vez por sesión de navegador. El servidor guarda la sesión y no vuelve a pedir las credenciales hasta que cierras el navegador o pasa un tiempo determinado.

¿Es compatible con todos los servidores de hosting?

Esta técnica es específica para servidores Apache que utilizan módulos de autenticación. La gran mayoría de los servidores de hosting compartido lo soportan. Si tu servidor utiliza Nginx, el método es diferente y se realiza a través del archivo de configuración del sitio. En ese caso, te recomendamos contactar con tu proveedor de hosting.

¿Qué pasa si olvido la contraseña de wp-admin?

Para recuperar el acceso, tendrás que acceder a tu hosting a través de FTP o del Administrador de Archivos, descargar el archivo .htaccess, eliminar el bloque de código que hemos añadido y volver a subirlo. Una vez dentro de WordPress, podrás cambiar tu contraseña de administrador. Después, puedes volver a añadir la protección con una nueva contraseña.

Conclusión: La seguridad es un proceso, no un destino

Proteger el panel de administración de WordPress con una contraseña adicional es una de las medidas más efectivas y sencillas que puedes implementar para blindar tu sitio. No es una solución mágica, pero añade una capa de complejidad que disuadirá a la gran mayoría de los atacantes automatizados.

Recuerda que la seguridad WordPress es un proceso continuo. Combina esta técnica con otras buenas prácticas, como mantener WordPress, tus plugins y temas siempre actualizados, usar contraseñas robustas y únicas, y realizar copias de seguridad periódicas. Con estos pasos, tu sitio web estará mucho más seguro y podrás dormir tranquilo sabiendo que tu trabajo y el de tus usuarios están protegidos.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel