
📅 Publicado el 14 de septiembre, 2026 · Por Equipo RedServicio
Por qué es vital proteger wp-admin y wp-login.php
Si gestionas una web en WordPress, proteger wp-admin debería estar entre tus prioridades desde el primer día. El archivo wp-login.php es la puerta de entrada al panel de administración y, por tanto, el punto más atacado de cualquier instalación. Los estudios de seguridad de Sucuri lo confirman: la mayoría de los sitios WordPress comprometidos han sufrido ataques de fuerza bruta dirigidos precisamente a esa página.
Los bots escanean internet sin descanso, buscando formularios de login de WordPress para probar combinaciones de usuario y contraseña. Si no añades capas extra de protección, dependes solo de la calidad de tu contraseña. Y eso, en 2024, no basta. Ni de lejos.
1. Limita los intentos de login
Un ataque de fuerza bruta prueba miles de contraseñas por segundo. Limitar los intentos fallidos es la primera barrera, y es efectiva.
Opción A: mediante plugin
Plugins como Limit Login Attempts Reloaded o Wordfence bloquean una IP tras varios intentos fallidos (por ejemplo, 4 intentos y bloqueo de 20 minutos). Es la opción más sencilla si no tienes acceso a la configuración del servidor.
Opción B: sin plugin, con código
También puedes añadir esta lógica básica en el functions.php de tu tema hijo para registrar los intentos fallidos:
2. Protege wp-admin con .htaccess por IP
¿Tú y tu equipo accedéis siempre desde IPs fijas o rangos conocidos? Entonces la protección más sólida es restringir el acceso por dirección IP. Crea o edita un archivo .htaccess dentro de la carpeta /wp-admin/ con este contenido:
- Accede por FTP o al gestor de archivos de tu hosting.
- Crea el archivo /wp-admin/.htaccess.
- Añade estas líneas:
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName «Acceso restringido»
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from 85.123.45.67
allow from 85.123.45.68
</LIMIT>
Si usas Nginx en lugar de Apache, la equivalente sería una regla location ~ ^/wp-admin con las directivas allow y deny correspondientes. Un aviso, eso sí: si tu IP cambia con frecuencia (IP dinámica), esta solución puede dejarte fuera de tu propia web. Me ha pasado a lectores que escribieron justo después de aplicarla.
3. Añade una capa de autenticación HTTP adicional
La autenticación básica HTTP (Basic Auth) muestra un segundo formulario de usuario y contraseña antes de cargar WordPress. Los bots de fuerza bruta genéricos no suelen superarla.
Pasos con cPanel o htpasswd
- Genera un archivo .htpasswd con tu usuario y contraseña cifrada (hay generadores online fiables).
- Súbelo a una carpeta fuera del directorio público (public_html).
- En el .htaccess de la raíz, protege específicamente wp-login.php:
<Files wp-login.php>
AuthName «Área segura»
AuthType Basic
AuthUserFile /home/usuario/.htpasswd
require valid-user
</Files>
4. Cambia la URL de acceso al panel
Ocultar la página de login no es seguridad en sí misma. Pero reduce drásticamente el ruido de bots. Plugins como WPS Hide Login permiten cambiar wp-login.php por una ruta personalizada tipo /acceso-clientes. Con eso, el 99% de los ataques automatizados ni siquiera encuentran tu formulario.
- Elige una URL fácil de recordar para ti pero imposible de adivinar por diccionario.
- Guarda la nueva URL en un lugar seguro: si la pierdes, tendrás que desactivar el plugin por FTP.
- Combínalo siempre con las demás medidas. Ocultar no es sustituto de bloquear.
5. Activa la autenticación en dos pasos (2FA)
Aunque alguien robe tu contraseña, la verificación en dos pasos impedirá el acceso. Plugins como Wordfence, WP 2FA o Jetpack permiten exigir un código TOTP generado por Google Authenticator o Authy.
Configuración recomendada:
- Instala el plugin de 2FA y actívalo para todos los usuarios con rol de administrador.
- Genera los códigos de recuperación y guárdalos fuera del servidor.
- Obliga a todos los administradores a configurarlo en su primer login.
6. Otras medidas complementarias
Desactiva el aviso de errores de login
WordPress indica si el usuario o la contraseña son incorrectos. Un detalle que ayuda mucho a los atacantes. Oculta ese mensaje con un filtro:
add_filter(‘login_errors’, function() { return ‘Acceso incorrecto.’; });
Mantén todo actualizado
WordPress, plugins y temas desactualizados son la vía de entrada número uno según las estadísticas de Patchstack. Activa las actualizaciones automáticas menores y revisa las mayores cada semana.
Usa contraseñas de administrador robustas y usuarios únicos
Nunca uses el usuario «admin». Crea un usuario con nombre no obvio, contraseña generada por un gestor (mínimo 16 caracteres) y otorga el rol de administrador solo a quien lo necesite de verdad. Cuantos menos administradores, menos superficie de ataque.
¿Puedo bloquear wp-login.php solo por horas?
Sí. Si solo tú publicas contenido, puedes desactivar el acceso nocturno mediante reglas programadas en .htaccess con mod_rewrite, o usar un cron que bloquee el archivo fuera de tu horario de trabajo.
¿Ocultar la URL de login es suficiente?
No. Es una medida de reducción de ruido, no de seguridad real. Debe combinarse con límite de intentos, 2FA y protección a nivel de servidor.
Conclusión: defensa en profundidad para tu WordPress
Proteger wp-admin y wp-login.php no depende de una única solución. Se trata de apilar capas: límite de intentos, restricción por IP o Basic Auth, cambio de URL, 2FA y un servidor bien configurado. Cada capa detiene un tipo de ataque distinto y, juntas, convierten tu web en un objetivo demasiado costoso para los atacantes.
Y un último apunte: la seguridad empieza por una infraestructura fiable. En RedServicio.net nuestros planes de hosting web incluyen firewall perimetral, certificados SSL gratuitos, copias de seguridad automáticas y soporte técnico 24/7 que te ayuda a aplicar todas estas medidas sin complicaciones. Protege hoy tu WordPress antes de que sea demasiado tarde.
Equipo RedServicio
Artículos escritos y revisados por nuestro equipo técnico especializado en hosting e infraestructura web en España.
¿Listo para un hosting de verdad?
Servidores en España · Soporte 24/7 en español · Migración gratuita
Ver Planes desde 3,95€/mes →