Proteger WordPress contra ataques: 10 medidas prácticas
Web Hosting
3

Por qué WordPress es blanco frecuente

WordPress corre en más del 40% de los sitios web del planeta. Eso lo hace el objetivo número uno de bots automatizados que buscan vulnerabilidades. No importa si tu sitio es pequeño o grande — si está online, lo están escaneando ahora mismo. La buena noticia: la mayoría de ataques son automatizados y genéricos; con medidas básicas evitas el 95% de los problemas.

1. Mantén todo actualizado

La causa número uno de sitios hackeados son plugins o temas desactualizados con vulnerabilidades conocidas. Configura actualizaciones automáticas al menos para los menores:

  • En Dashboard → Updates revisa semanalmente.
  • Agrega a wp-config.php: define('WP_AUTO_UPDATE_CORE', true);
  • Los plugins críticos (seguridad, backups) actívalos para auto-actualizarse desde Plugins → Enable auto-updates.

2. No uses "admin" como usuario

Los bots prueban "admin" en el 90% de los intentos. Si ya tienes un usuario llamado "admin":

  1. Crea un usuario nuevo con rol Administrator y otro nombre.
  2. Entra con el nuevo.
  3. Borra el usuario "admin" y atribuye sus posts al nuevo.

3. Contraseña robusta y autenticación en dos pasos

Contraseñas mínimas: 16 caracteres, letras mayúsculas, minúsculas, números, símbolos. Usa un gestor de contraseñas.

Para 2FA, plugins gratuitos recomendados:

  • Wordfence Login Security — 2FA con Google Authenticator.
  • Two Factor Authentication de Simba Hosting.
  • WP 2FA — fácil de configurar para todos los usuarios.

4. Limita intentos de login

Sin límite, un bot puede probar 1000 contraseñas por segundo. Con límite, después de 5 fallos su IP queda bloqueada 20 minutos.

  • Limit Login Attempts Reloaded — plugin ligero dedicado.
  • Wordfence y iThemes Security también incluyen esta protección.

5. Cambia la URL de login

Por defecto, todos los WordPress tienen el panel en /wp-admin y /wp-login.php. Si cambias esa ruta a algo personalizado (/mi-entrada-secreta), los bots automatizados dejan de encontrarte directamente.

  • WPS Hide Login — plugin gratuito sencillo. Elige una ruta, listo.

No es la solución definitiva (un atacante dedicado encuentra la ruta), pero elimina el 99% del ruido de bots.

6. Firewall de aplicación (WAF)

Un WAF analiza las peticiones HTTP que llegan al sitio y bloquea patrones de ataque conocidos (SQL injection, XSS, etc.) antes de que lleguen a WordPress.

  • Wordfence — WAF incluido, gratis.
  • Cloudflare (plan gratuito) — WAF a nivel de red, bloquea antes de llegar a tu servidor.
  • Sucuri (pago) — servicio profesional con reparación incluida.

7. Ocultar la versión de WordPress

Por defecto WordPress expone su versión en el HTML y en los feeds. Un atacante ve que corres 5.8.2 y sabe qué vulnerabilidades probar. Ocúltala agregando a tu functions.php o usando un plugin de seguridad:

remove_action('wp_head', 'wp_generator');

8. Permisos de archivos correctos

Muchos hackeos llegan porque archivos críticos tienen permisos de escritura demasiado abiertos.

  • Carpetas: 755
  • Archivos PHP: 644
  • wp-config.php: 600 o 400
  • .htaccess: 644

Nunca uses 777 — es el error clásico que deja todo abierto.

9. Bloquea el acceso a archivos sensibles

Agrega a tu .htaccess (al principio) para bloquear acceso directo a archivos críticos:

<Files wp-config.php>
    order allow,deny
    deny from all
</Files>

<Files .htaccess>
    order allow,deny
    deny from all
</Files>

<Files xmlrpc.php>
    order allow,deny
    deny from all
</Files>

XML-RPC es una API legacy que los bots abusan para brute-force. A menos que uses Jetpack u otra herramienta que lo requiera, bloquéalo.

10. Respaldos externos automáticos

Si ocurre un hackeo, el respaldo es tu plan B. Usa UpdraftPlus, BackWPup o Duplicator Pro para enviar respaldos semanales a Google Drive, Dropbox o S3. Si tu sitio es comprometido, restauras desde un respaldo limpio y aprendes del incidente.

Cómo detectar que te hackearon

Señales que indican compromiso:

  • Redirecciones raras a sitios de apuestas o farmacia al abrir tu web.
  • Google muestra "Sitio engañoso más adelante" en los resultados.
  • Archivos PHP desconocidos en wp-content/uploads/.
  • Usuarios admin que tú no creaste.
  • Picos inexplicados de tráfico saliente o CPU.
  • Clientes te avisan que su antivirus bloquea tu sitio.

Si ya te hackearon

  1. No borres todo. Primero investiga — el log puede decirte cómo entraron.
  2. Cambia todas las contraseñas: cPanel, WordPress admin, MySQL, FTP.
  3. Escanea con plugins como Wordfence o ImunifyAV.
  4. Restaura desde un backup limpio anterior al incidente.
  5. Actualiza todo antes de poner el sitio de vuelta online.
  6. Revisa Google Search Console y solicita reanálisis si tu sitio fue marcado.