UA-51298262-10 Skip to main content
Seguridad

Proteger wp-admin con contraseña: Guía de seguridad

By julio 16, 2026No Comments
Proteger wp-admin con contraseña: Guía de seguridad

No te confíes. La seguridad en WordPress no es algo que puedas dejar para «más tarde», y saber proteger wp-admin con contraseña es una de esas estrategias que te salvan el día. Miles de webs caen cada día. Son bots automáticos golpeando la puerta una y otra vez hasta que adivinan tu clave. Afortunadamente, puedes poner un muro de hormigón antes de que siquiera se cargue el formulario de login, y todo pasa a nivel de servidor.

Por qué necesitas una capa extra

Por defecto, WordPress deja la puerta abierta en /wp-login.php o /wp-admin. Lo sabe todo el mundo, y lo saben los bots. Aunque tengas una contraseña robusta y plugins de seguridad, tu servidor sigue trabajando: procesa el código PHP, consulta la base de datos, valida. Eso consume CPU. Si alguien lanza un ataque de diccionario masivo o un DoS, tu servidor puede respirar con dificultad o directamente colapsar.

Al poner una contraseña a nivel de servidor, el acceso se corta de raíz. Nada de PHP. Si el navegador no envía las credenciales correctas en ese primer diálogo, no se carga nada. Es una barrera física. La mayoría de los bots se quedan fuera, chocando contra una puerta cerrada.

Consejo de experto: Esto se llama «Autenticación Básica HTTP». Ten en cuenta que rompe XML-RPC y la API REST si no haces excepciones, lo cual, paradójicamente, es bueno: desactivas funcionalidades que suelen ser agujeros de seguridad.

Método 1: La vía fácil con cPanel

Si estás en un hosting compartido, la forma más sencilla de proteger wp-admin con contraseña es usar las herramientas que te da cPanel. Evitas tocar código y reduces el riesgo de liarla parda con un error de sintaxis.

Paso a paso en la interfaz

  1. Entra a tu panel: Loguéate en cPanel con tus datos de hosting.
  2. Busca la sección adecuada: Ve a la zona de «Privacidad» o «Archivos» y haz clic en «Directorios Privados».
  3. Elige la carpeta: En el administrador de archivos, navega hasta public_html/wp-admin. Si instalaste WordPress en una subcarpeta, ajusta la ruta.
  4. Activa la protección: Marca la casilla para proteger el directorio y ponle un nombre (por ejemplo, «Zona Restringida»).
  5. Crea el usuario: Abajo, define un nombre y una contraseña. Importante: que sea diferente a la de WordPress. Guarda los cambios.

Al ir a tudominio.com/wp-admin, el navegador debería saltarte con una ventana pidiendo usuario y contraseña.

Método 2: A mano con .htaccess y .htpasswd

¿No tienes cPanel? ¿Prefieres el control total? Puedes editar los archivos tú mismo. Es el estándar en VPS y servidores dedicados, y aunque da un poco de respeto, no es tan complicado.

Generar el archivo de contraseñas

Primero necesitas un archivo .htpasswd con el usuario y la contraseña encriptada. Nada de texto plano. Usa una herramienta online para generarlo o, si tienes acceso SSH, la terminal.

En Linux, el comando es así:

htpasswd -c /ruta/segura/.htpasswd tu_usuario_seguro

Te pedirá la contraseña dos veces. Coloca este archivo fuera de public_html si puedes, o en una carpeta oculta dentro. Que no sea accesible desde la web.

Editar el .htaccess

Ahora toca editar (o crear) el archivo .htaccess dentro de la carpeta /wp-admin. Ojo: no lo toques en la raíz o protegerás todo el sitio y dejarás de servir imágenes, CSS y temas.

Pega esto al final del archivo:

AuthName «Area Restringida»
AuthType Basic
AuthUserFile /ruta/absoluta/a/tu/archivo/.htpasswd
Require valid-user

Lo crucial es la ruta en AuthUserFile. Tiene que ser la ruta absoluta del servidor. Si no la sabes, crea un PHP temporal con en la carpeta para verla, o pregunta a tu soporte.

Cuando las cosas se rompen: compatibilidad

Nada es gratis. Al poner esto, puede que algo deje de funcionar. WordPress usa el archivo admin-ajax.php (que vive en /wp-admin) para cargar cosas en el frontend: carruseles, formularios, el carrito de WooCommerce. Si proteges toda la carpeta, es probable que tu página principal se vea mal o deje de cargar contenido dinámico.

Permitir el paso a admin-ajax.php

La solución es dejar pasar a ese archivo concreto. Toca modificar el .htaccess de wp-admin. Mete este código antes de las reglas de autenticación:

<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>

El problema con Gutenberg y el Site Editor

Si usas mucho el editor de bloques o el editor de sitio completo, las peticiones a la API REST necesitan fluir libre. A veces, esta autenticación básica estorba y te da errores al guardar. Si te pasa, puedes añadir una excepción para la API, aunque eso rebaja un poco la seguridad.

Es un equilibrio. Muchos admins prefieren usar plugins que gestionan esto solo, o aceptan el pequeño inconveniente de poner la contraseña cada vez que entran al backend. A mí me parece un precio bajo por la tranquilidad.

Dato técnico: Ojo, la autenticación HTTP básica manda el usuario y contraseña en Base64, que no es encriptación real. Por eso es obligatorio usar HTTPS (SSL/TLS). Si no, cualquiera en tu red podría «sniffear» tus credenciales.

Usuarios, permisos y no perder la llave

Esta contraseña del servidor es ajena a WordPress. No la olvides. Si pierdes el acceso al archivo .htpasswd o te equivocas en cPanel, te quedarás fuera de tu propia web. Sería un problema grave.

Si eso pasa, tendrás que entrar por FTP, SFTP o el administrador de archivos para borrar las líneas del .htaccess o renombrar el archivo de contraseñas. Es buena idea cambiar esta clave de vez en cuando, igual que haces con la de la base de datos.

Conclusión

Blindar el acceso a wp-admin con una capa extra es probablemente la medida más eficaz que puedes tomar sin instalar plugins pesados. Al delegar la primera verificación al servidor web (Apache o Nginx), dejas de molestar a PHP y a tu base de datos, y detienes el 99% de los ataques automatizados en la puerta.

Simplemente no olvides configurar la excepción para admin-ajax.php si ves que tu frontend falla, y mantén el SSL activo. Entre contraseñas fuertes, limitación de intentos y esta barrera de servidor, tienes una defensa muy difícil de romper para la mayoría de amenazas que hay ahí fuera.

Preguntas Frecuentes

¿Esto afecta al rendimiento de mi web?
Para nada. De hecho, mejora el rendimiento al bloquear peticiones basura antes de que se ejecute PHP. El usuario no nota nada.

¿Puedo usar esto junto con plugins como Wordfence?
Sí, y es lo recomendable. El servidor es la primera línea; el plugin es la segunda dentro de WordPress. Doble capa.

¿Qué hago si ya no puedo entrar a wp-admin?
Entra por FTP o al administrador de archivos de tu hosting, edita el .htaccess de la carpeta wp-admin y borra las líneas de autenticación. Así de simple.

Si te lías configurando esto o necesitas que alguien eche un ojo a la seguridad de tu hosting, en RedServicio (redservicio.net) te ayudarán con el tema técnico.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies