Tu web redirige a sitios raros, muestra anuncios que no pusiste o Google te avisa de «software malicioso». Estás ante el síntoma clásico de un WordPress comprometido: inyectaron código para redirigir visitas o colar spam. Dos reglas ANTES de nada: no borres nada todavía (perdes la evidencia y la posibilidad de rollback) y no empieces a reconstruir desde cero — el código malicioso queda escondido en varios sitios y una limpieza a medias vuelve en una semana.
Cómo entraron (por orden de frecuencia)
- Plugin o tema pirata o desactualizado con vulnerabilidad conocida. Las vulnerabilidades se publican en bases públicas (Patchstack, Wordfence) y los atacantes automatizan su explotación a miles de webs a la vez.
- Contraseñas débiles o reutilizadas: admin de WordPress, FTP, panel del hosting, base de datos.
- Software del servidor desactualizado (cosa del hosting — reclámalo).
- Contaminación cruzada: otra web del mismo plan de hosting infectada que arrastró a las demás.
Qué hacer, en este orden
- Copia de seguridad AHORA, del sitio tal y como está. Es tu evidencia y tu plan B: si la limpieza rompe algo, vuelves aquí.
- Cambia TODAS las contraseñas — en este orden: admin de WordPress, FTP, panel del hosting y usuario de la base de datos. Si usabas la misma contraseña en otros sitios, cámbiala también ahí.
- Escanea el sitio con un scanner serio (el escáner de Wordfence es el estándar de facto en WordPress) y anota qué ficheros marca.
- Revisa usuarios fantasma: Usuarios → todos los que tengan rol administrador y no reconozcas, fuera.
- Busca las inyecciones típicas: ficheros PHP con fechas raras dentro de wp-content/uploads (allí no debería vivir NINGÚN .php), funciones eval(…) o base64_decode(…) en plugins y temas, y enlaces raros en las tablas de opciones y posts.
- Reinstala el núcleo limpio: sustituye wp-admin y wp-includes por los de una copia oficial de tu versión (sin tocar wp-content ni la base de datos).
- Si Google te marcó («este sitio puede dañar tu equipo» en resultados, o aviso rojo al entrar): tras la limpieza, solicita la revisión desde Search Console → Problemas de seguridad.
- Blinda después: actualiza TODO (núcleo, plugins, temas), borra lo que no uses (los plugins abandonados son la puerta favorita), activa actualizaciones automáticas donde tenga sentido, backups automáticos diarios y doble factor en el admin.
Cuando NO te la juegues
Si es una tienda online, captura datos de clientes o facturas, la limpieza casera no basta: los backdoors anidan en sitios que un escaneo superficial no mira, y la recaída te cuesta más que la limpieza bien hecha. Además, con una infección activa sigues enviando a tus clientes hacia los sitios del atacante.
Limpiado el sitio, lo que evita la recaída es mantenimiento con actualizaciones y backups automáticos — el hackeo casi siempre entra por software desactualizado.