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":
- Crea un usuario nuevo con rol Administrator y otro nombre.
- Entra con el nuevo.
- 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
- No borres todo. Primero investiga — el log puede decirte cómo entraron.
- Cambia todas las contraseñas: cPanel, WordPress admin, MySQL, FTP.
- Escanea con plugins como Wordfence o ImunifyAV.
- Restaura desde un backup limpio anterior al incidente.
- Actualiza todo antes de poner el sitio de vuelta online.
- Revisa Google Search Console y solicita reanálisis si tu sitio fue marcado.