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

Limitar intentos de inicio de sesión en WordPress (cPanel)

Actualizado el 7 de diciembre de 2025

¿Cansado de que intenten adivinar tu contraseña una y otra vez? No te preocupes, es más común de lo que crees. Los ataques de fuerza bruta son una de las amenazas más frecuentes en WordPress, pero la buena noticia es que limitar los intentos de inicio de sesión es una medida sencilla y muy efectiva. En esta guía te explicaré paso a paso cómo hacerlo desde cPanel, sin necesidad de ser un experto en seguridad.

¿Por qué es importante limitar los intentos de inicio de sesión?

Imagina que dejas la puerta de tu casa abierta y alguien puede probar todas las llaves de su llavero hasta encontrar la correcta. Eso es exactamente lo que hace un ataque de fuerza bruta: un robot o script prueba miles de combinaciones de usuario y contraseña por minuto hasta acertar. Si no tienes un límite, el atacante puede intentarlo indefinidamente.

Limitar los intentos de inicio de sesión bloquea temporalmente la IP del atacante después de, por ejemplo, 3 o 5 intentos fallidos. Esto hace que el ataque sea inútil, ya que el robot no puede seguir probando. Es una de las primeras líneas de defensa que todo sitio web debería tener.

Antes de empezar: ¿qué necesitas?

Para seguir esta guía, necesitas acceso a cPanel de tu hosting. Si no sabes cómo acceder, contacta con tu proveedor de hosting. También necesitarás acceso a tu panel de administración de WordPress (normalmente tudominio.com/wp-admin).

[INFO] Si tu hosting usa Syspanel (antes conocido como HestiaCP), el acceso es por el puerto 2106. Por ejemplo: https://tudominio.com:2106. El proceso es similar, pero la interfaz puede variar ligeramente.

Método 1: Usar un plugin de seguridad (el más fácil)

Esta es la opción recomendada para la mayoría de usuarios. No necesitas tocar archivos ni código. Solo instalar un plugin gratuito y configurarlo en unos minutos.

Paso 1: Instala un plugin de seguridad

Ve a tu panel de WordPress y sigue estos pasos:

  1. En el menú lateral, haz clic en Plugins > Añadir nuevo.
  2. En el buscador, escribe "Limit Login Attempts Reloaded" (es uno de los más populares y fáciles).
  3. Haz clic en Instalar ahora y luego en Activar.

[TIP] Hay muchos plugins similares, como "Wordfence" o "iThemes Security", pero para limitar solo los intentos de inicio de sesión, "Limit Login Attempts Reloaded" es perfecto por su simplicidad.

Paso 2: Configura los límites

Una vez activado, verás una nueva opción en el menú lateral llamada Limit Login Attempts o Intentos de inicio de sesión. Haz clic en ella.

Aquí puedes ajustar:

  • Intentos permitidos: Normalmente 3 o 4. Si pones 1, te bloquearás a ti mismo si te equivocas una vez. Recomiendo 3.
  • Tiempo de bloqueo: Por ejemplo, 15 minutos. Después de ese tiempo, la IP podrá intentarlo de nuevo.
  • Bloqueo por IP: Marca esta opción para que el bloqueo sea por dirección IP, no por usuario. Así, si alguien prueba con diferentes nombres de usuario, todos fallarán desde la misma IP.

Guarda los cambios. ¡Listo! Ahora tu sitio está protegido contra ataques de fuerza bruta.

Método 2: Desde cPanel usando el administrador de archivos (sin plugin)

Si prefieres no usar plugins (por ejemplo, para reducir la carga del servidor), puedes hacerlo manualmente editando el archivo functions.php de tu tema. Pero ojo: esto requiere un poco más de cuidado.

Paso 1: Accede al administrador de archivos de cPanel

  1. Inicia sesión en cPanel.
  2. Busca la sección Archivos y haz clic en Administrador de archivos.
  3. Selecciona la carpeta public_html (o la carpeta raíz donde está instalado WordPress).
  4. Navega a wp-content/themes/ y luego a la carpeta de tu tema activo (por ejemplo, twentytwentyfour).

Paso 2: Edita el archivo functions.php

Busca el archivo functions.php y haz clic derecho > Editar. Se abrirá un editor de texto.

Al final del archivo (antes de la línea ?> si existe), pega el siguiente código:

// Limitar intentos de inicio de sesión
function limit_login_attempts() {
    $ip = $_SERVER['REMOTE_ADDR'];
    $transient_name = 'login_attempts_' . $ip;
    $attempts = get_transient($transient_name);

    if ($attempts === false) {
        set_transient($transient_name, 1, 900); // 15 minutos
    } else {
        if ($attempts >= 3) {
            wp_die('Demasiados intentos de inicio de sesión. Intenta de nuevo en 15 minutos.');
        } else {
            set_transient($transient_name, $attempts + 1, 900);
        }
    }
}
add_action('wp_login_failed', 'limit_login_attempts');

Guarda los cambios. Este código cuenta los intentos fallidos por IP y bloquea después de 3 intentos en 15 minutos.

[WARNING] Este método es básico y no tan robusto como un plugin. Si no te sientes cómodo editando código, mejor usa el plugin. Además, si cambias de tema, perderás la protección. Para una solución permanente, considera usar un plugin o un fragmento de código en un plugin de funciones personalizadas.

Método 3: Desde cPanel usando .htaccess (avanzado)

El archivo .htaccess es un archivo de configuración del servidor Apache. Puedes usarlo para bloquear IPs después de varios intentos fallidos. Pero es más complejo y no lo recomiendo para principiantes.

Paso 1: Accede al administrador de archivos

Igual que en el método anterior, ve a cPanel > Administrador de archivos > public_html.

Paso 2: Edita .htaccess

Busca el archivo .htaccess (puede estar oculto; si no lo ves, en la esquina superior derecha haz clic en Configuración y marca Mostrar archivos ocultos).

Haz clic derecho > Editar. Al final del archivo, pega:

# Limitar intentos de inicio de sesión
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/wp-login\.php [OR]
RewriteCond %{REQUEST_URI} ^/wp-admin
RewriteCond %{REMOTE_ADDR} ^(123\.456\.789\.000)$
RewriteRule ^ - [F]
</IfModule>

Pero esto solo bloquea IPs específicas. Para un bloqueo dinámico, necesitarías un script más avanzado. Por eso, recomiendo encarecidamente el método del plugin.

Preguntas frecuentes (FAQ)

¿Qué hago si me bloqueo a mí mismo?

Si configuras un límite muy bajo (por ejemplo, 1 intento) y te equivocas, quedarás bloqueado. La solución es:

  1. Esperar el tiempo de bloqueo (15 minutos, por ejemplo).
  2. Usar otro navegador o dispositivo (si el bloqueo es por IP, desde otra IP podrás acceder).
  3. Desactivar el plugin temporalmente desde cPanel > Administrador de archivos > renombra la carpeta del plugin (por ejemplo, limit-login-attempts-reloaded a limit-login-attempts-reloaded-desactivado). Luego vuelve a iniciar sesión y reactívalo.

¿Los plugins ralentizan mi sitio?

Los plugins de seguridad como "Limit Login Attempts Reloaded" son muy ligeros y apenas afectan el rendimiento. Si tienes un sitio pequeño, no notarás diferencia. Eso sí, evita instalar demasiados plugins de seguridad a la vez.

¿Puedo limitar intentos por usuario en lugar de por IP?

Sí, algunos plugins lo permiten. Pero bloquear por IP es más efectivo porque un atacante puede probar diferentes nombres de usuario desde la misma IP. Si bloqueas por usuario, el atacante podría cambiar de usuario y seguir intentando.

¿Y si mi hosting usa Syspanel (HestiaCP)?

Si tu panel es Syspanel (puerto 2106), el proceso es similar: puedes instalar el plugin desde WordPress o editar archivos desde el administrador de archivos de Syspanel. La única diferencia es la interfaz, pero los pasos son los mismos.

¿Necesito hacer algo más para proteger mi sitio?

Limitar los intentos de inicio de sesión es un gran paso, pero no el único. Te recomiendo también:

  • Usar contraseñas fuertes (mayúsculas, minúsculas, números, símbolos).
  • Mantener WordPress, temas y plugins actualizados.
  • Usar autenticación de dos factores (2FA) si es posible.
  • Instalar un firewall de aplicaciones web (WAF) desde cPanel (muchos hosting lo ofrecen).

Conclusión

Proteger tu sitio WordPress contra ataques de fuerza bruta es más fácil de lo que parece. Con solo unos clics desde cPanel o instalando un plugin, puedes limitar los intentos de inicio de sesión y dormir tranquilo sabiendo que tu web está más segura.

Recuerda: la seguridad no es un lujo, es una necesidad. No esperes a que te hackeen para actuar. Implementa esta medida hoy mismo y, si tienes dudas, consulta a tu proveedor de hosting o a un técnico de confianza.

[TIP] Si tu sitio es crítico (tienda online, membresías, etc.), considera contratar un servicio de seguridad profesional o un hosting especializado en WordPress que incluya protección contra fuerza bruta de serie.

¡Ahora ve y protege tu web! Si te ha sido útil esta guía, compártela con otros usuarios de WordPress. La seguridad es cosa de todos.

¿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