Los propietarios de sitios web basados en WordPress conocen de primera mano los continuos intentos de bots maliciosos por acceder a los archivos wp-login.php y xmlrpc.php, con el objetivo de lanzar ataques de fuerza bruta o saturar servidores. Aunque contar con un nombre de usuario y una contraseña robustos minimiza las posibilidades de que logren acceder, el tráfico constante de estos bots puede provocar una sobrecarga en el servidor e incluso penalizaciones por parte del proveedor de alojamiento.
El problema de los plugins de seguridad
Muchos administradores recurren a plugins de seguridad para frenar estos ataques. Sin embargo, estas soluciones pueden ser insuficientes, especialmente en servidores compartidos o de bajo coste, ya que los propios plugins pueden verse desbordados por el volumen de peticiones.
La solución definitiva: bloquear antes de que lleguen al servidor
La mejor estrategia es evitar que esos bots lleguen al servidor. Esto se puede lograr de forma sencilla y gratuita a través de Cloudflare.
Paso 1: Configurar Cloudflare
Si aún no tienes una cuenta, crea una cuenta gratuita en Cloudflare y sigue los pasos de configuración iniciales. Una vez configurado, accede a tu cuenta y navega hasta Seguridad > WAF (Firewall de aplicaciones web) > Crear regla.

Paso 2: Proteger el acceso a wp-login.php
Para frenar los intentos de acceso automatizados a la página de inicio de sesión:
- Asigna un nombre a la regla (por ejemplo, Proteger wp-login).
- Configura los campos:
- Campo: URI
- Operador: Contiene
- Valor: wp-login.php
- En Acción, selecciona Managed Challenge (desafío gestionado).
- Pulsa Deploy para desplegar la regla.

Este desafío se mostrará únicamente a bots, mientras que los usuarios legítimos podrán continuar sin problemas tras un breve filtro.
Paso 3: Bloquear el acceso a xmlrpc.php
Si tu sitio no utiliza xmlrpc.php (algo cada vez más frecuente), es recomendable bloquearlo:
- Crea una nueva regla con:
- Campo: URI
- Operador: Contiene
- Valor: xmlrpc.php
- En Acción, selecciona Block.
- Despliega la regla.

Es importante comprobar que tu sitio y los plugins funcionan correctamente tras aplicar este bloqueo. Si utilizas herramientas como JetPack, que aún dependen de xmlrpc.php, será necesario configurar reglas más específicas.
Configuración avanzada: bloqueo selectivo por países
En lugar de un bloqueo general, puedes limitar el acceso a estos archivos solo desde países donde se originan la mayoría de los ataques, como Rusia (RU) y China (CN). Por ejemplo:
- Si URI contiene wp-login.php
- Y el código de país es RU o CN
- Entonces: bloquear
Reglas personalizadas para IPs de confianza
Para evitar quedarte fuera de tu propio sitio web, añade reglas de permiso para tu dirección IP (si es estática) y la IP del servidor donde está alojado el sitio. Esto se configura en el mismo apartado WAF, dentro de la pestaña Tools, añadiendo las IPs a la lista de permitidos.

Creatividad al poder: usa las 5 reglas gratuitas
Cloudflare permite crear hasta 5 reglas de firewall en su plan gratuito. Esto te da la posibilidad de diseñar reglas personalizadas, por ejemplo:
- Presentar desafíos gestionados a visitantes que no provengan de tu país.
- Restringir accesos fuera del horario comercial si administras un sitio local.
- Bloquear bots específicos o agentes de usuario sospechosos.
Conclusión
El uso inteligente de las reglas de firewall de Cloudflare no solo reduce la carga de tu servidor y evita bloqueos por parte de tu proveedor, sino que también elimina el tráfico no deseado antes de que afecte a tu web. La clave está en adelantarse a las amenazas.
Así que, si aún no lo has hecho, crea tu cuenta gratuita en Cloudflare y despídete de los bots de una vez por todas.