NUDAYOSH

BLOG · 2026-06-01

Cómo configurar Cloudflare gratis para WordPress (paso a paso, 15 minutos)

Cloudflare es la diferencia entre tu web cayéndose en un ataque DDoS y tu web sin enterarse. Y es gratis. Aquí va la configuración exacta para WordPress, sin paja.

¿Qué es Cloudflare y por qué lo necesitas?

Cloudflare es un CDN + WAF que se pone entre tu web y el resto de internet. Cuando alguien pide tu web, no llega a tu servidor — llega primero a Cloudflare. Cloudflare decide si dejarle pasar, enseñarle una versión cacheada, presentarle un captcha, o devolverle un 403.

El plan gratis es muy generoso: incluye CDN global, SSL gratis con renovación automática, protección DDoS ilimitada, firewall básico y caché de estáticos. Cosas que valdrían cientos de euros/mes en un proveedor especializado.

Para una web WordPress típica de PYME, Cloudflare gratis cubre el 90% de lo que necesitas en CDN/seguridad. Y los 15 minutos que tardas en activarlo te ahorran horas de limpieza el día que un bot te encuentra.

Antes de empezar

Necesitas:

  • Tu dominio (ej: tunegocio.es)
  • Acceso al panel de tu registrador de dominio (donde compraste el dominio: DonDominio, Namecheap, GoDaddy, IONOS, etc.) para cambiar los nameservers
  • Acceso a tu hosting para activar cosas básicas (5 min)

NO necesitas tocar nada del WordPress en sí. Cloudflare es transparente para WP.

Paso 1: Crear cuenta y añadir tu dominio (2 min)

  1. Entra en dash.cloudflare.com/sign-up y crea cuenta gratis con tu email.
  2. Pulsa "Add a site", escribe tu dominio sin www ni https:// (solo tunegocio.es).
  3. Cloudflare te pide elegir plan. Pulsa "Free" (al final de la página, no es muy visible).
  4. Cloudflare escanea tus DNS records actuales y los importa solos. Revisa que están todos (sobre todo el registro A de la raíz y el www).

Paso 2: Cambiar nameservers en tu registrador (3 min)

Cloudflare te muestra 2 nameservers como maya.ns.cloudflare.com y jim.ns.cloudflare.com. Cópialos.

Ve al panel de tu registrador de dominio (donde compraste el dominio, NO en tu hosting si son diferentes). Busca "DNS settings" o "Nameservers" o "Servidores de nombres". Cambia los nameservers actuales por los 2 de Cloudflare.

Pulsa "Done" en Cloudflare. Te dirá "Pending nameserver update" y enviará un email cuando detecte el cambio. Tarda entre 5 min y 24 horas, normalmente menos de 1h. Tu web no se cae durante este tiempo.

Paso 3: SSL en modo Full (Strict) (1 min)

En cuanto Cloudflare detecte tus nameservers nuevos, ve a SSL/TLS → Overview y selecciona:

  • Full (Strict) si tu hosting ya tiene SSL Let's Encrypt válido (lo tiene Plesk por defecto)
  • Full si no estás seguro (sirve igual, valida menos)
  • NUNCA uses "Flexible" — es inseguro porque deja la conexión Cloudflare↔origen en HTTP plano

Luego ve a SSL/TLS → Edge Certificates y activa:

  • Always Use HTTPS: ON — redirige todo el HTTP a HTTPS automáticamente
  • Automatic HTTPS Rewrites: ON — arregla los enlaces internos http:// del WP
  • Minimum TLS Version: 1.2 (1.3 si quieres ser estricto y no te importan navegadores antiguos)

Paso 4: Reglas anti-bot esenciales (5 min)

Ve a Security → WAF → Custom rules. Crea estas 3 reglas (todas con Action: Block):

Regla 1: Bloquear wp-login.php por país

Si tu negocio es local (España), el 99% de los intentos de login a tu WP desde otros países son ataques. Bloquea por geografía:

Field: URI Path
Operator: contains
Value: /wp-login.php

AND

Field: Country
Operator: is not in
Value: ES, PT, AD

(Añade los países donde tú o tu equipo de verdad necesitéis entrar.)

Regla 2: Bloquear XML-RPC entero

XML-RPC es un endpoint legacy de WP que sirve para casi nada útil y mucha mierda (brute force amplificado, pingback DDoS).

Field: URI Path
Operator: equals
Value: /xmlrpc.php

Regla 3: Bloquear escaneos de configuración expuesta

Bloquea bots que prueban paths típicos de info exposure:

Field: URI Path
Operator: matches regex
Value: \.(env|git|sql|bak|swp|old|tar|zip)$|/(wp-config|\.git/|\.env|phpinfo)

Si quieres ser menos agresivo al principio, pon Action: Managed Challenge en lugar de Block — Cloudflare presenta un captcha en vez de un 403.

Paso 5: Caché y velocidad (2 min)

Ve a Caching → Configuration:

  • Caching Level: Standard
  • Browser Cache TTL: 4 hours (puedes subir a 1 day si tu web es mayormente estática)

Ve a Speed → Optimization y activa:

  • Auto Minify: HTML + CSS + JS (a menos que ya uses un plugin como WP-Rocket que minifica)
  • Brotli: ON
  • Early Hints: ON

Paso 6: Page Rules para wp-admin (1 min)

Cloudflare cachea recursos estáticos por defecto pero no PHP. Aun así conviene asegurarse de que wp-admin y wp-login nunca se cacheen:

Ve a Rules → Page Rules (en el plan gratis tienes 3 reglas):

URL: *tunegocio.es/wp-admin/*
Settings: Cache Level = Bypass, Disable Performance, Disable Apps

URL: *tunegocio.es/wp-login.php
Settings: Cache Level = Bypass, Security Level = High

Paso 7: HTTP/3 + 0-RTT (1 min)

En Network:

  • HTTP/3 (with QUIC): ON
  • 0-RTT Connection Resumption: ON
  • WebSockets: ON si usas algún plugin que lo necesite (lo dejas por defecto si no sabes)

Verificación final

Abre https://tunegocio.es y revisa:

  1. El candado verde aparece (SSL OK)
  2. En DevTools del navegador → Network → cualquier petición → Headers: deberías ver cf-ray: ... y server: cloudflare
  3. Intenta entrar a tunegocio.es/xmlrpc.php → debería darte 403 (regla 2 activa)

Si todo está bien, has terminado. Tu web ahora está detrás de la red más grande del mundo y te has ahorrado el equivalente a un plan de 200€/mes en seguridad.

Lo que SÍ debes seguir teniendo en el WordPress

Cloudflare gratis para bots y DDoS. Pero NO sustituye la seguridad dentro de tu WP:

  • Si un atacante consigue subir un archivo PHP a /uploads/ (vía un plugin con vulnerabilidad), Cloudflare no lo va a detectar
  • Si te pillan la contraseña de admin desde la red local de un cliente, Cloudflare no se entera
  • Si tu wp-config.php tiene una vulnerabilidad lógica, Cloudflare no la ve

Para eso necesitas un File Integrity Monitor dentro del WP que escanee los archivos, alerte de cambios sospechosos, y ponga en cuarentena malware automáticamente. Hablamos exactamente de eso en este otro post sobre auto-mitigation.

El plugin NUDAYOSH Security hace eso gratis: detecta malware en uploads, bloquea IPs por brute force, aplica hardening con un click. Combinarlo con Cloudflare cubre el 99% de los ataques típicos a WordPress.

Stack recomendado

Cloudflare gratis (perimetral) + NUDAYOSH Security plugin (dentro del WP) + hardening one-click. Cero euros, 15 minutos. Mejor que la mayoría de planes de 50€/mes.