Para identificar malware en WordPress, busca señales como redireccionamientos sospechosos, avisos del navegador, usuarios admin que no creaste y archivos PHP modificados. Confirma con wp core verify-checksums y un escáner como Wordfence antes de eliminar nada.
Un sitio infectado rara vez avisa con claridad. Redirecciona a un visitante aquí, inyecta un enlace de farmacia allá, desaparece de Google un martes. Cuando el dueño lo nota, el daño al SEO y a la reputación ya empezó. Esta guía muestra cómo confirmar la infección con tus propios ojos — no solo instalar un plugin y cruzar los dedos.
¿Qué es el malware en WordPress?
El malware en WordPress es cualquier código malicioso inyectado en tu sitio — en archivos PHP, en la base de datos o en el
.htaccess— para redireccionar visitantes, robar datos, enviar spam o mantener acceso oculto al servidor. Suele entrar por plugins y temas desactualizados, contraseñas débiles o hosting vulnerable.
A diferencia de un virus de escritorio, el malware de WordPress vive en tu servidor y afecta a quien visita el sitio. Los tipos más comunes son backdoors (acceso oculto del atacante), redireccionamientos maliciosos, SEO spam (el clásico pharma o japanese hack) y scripts de phishing.
8 señales de que tu WordPress está infectado
Ninguna señal aislada prueba la infección. Varias juntas, sí. Revisa estas:
1. Redireccionamientos a sitios sospechosos
Los visitantes caen en páginas de apuestas, adultas o de farmacia — muchas veces solo en el móvil o solo cuando llegan desde Google, para escapar de tu vista. El origen casi siempre está en .htaccess, wp-config.php o un script inyectado en el tema.
2. Aviso del navegador o blacklist de Google
Mensajes como “Este sitio puede ser peligroso” en Chrome indican que Google ya marcó el dominio. Confírmalo en Search Console → Seguridad y acciones manuales.
3. Usuario admin fantasma
Un administrador que no creaste es señal clásica de un backdoor activo. En el panel, ordena usuarios por fecha de registro. En la base de datos, esta consulta revela cuentas que el panel a veces oculta:
SELECT ID, user_login, user_email, user_registered
FROM wp_users
ORDER BY user_registered DESC;
Un admin con email genérico y fecha igual a la del incidente confirma el compromiso.
4. Caída repentina de ranking y spam en la SERP
Si Google muestra títulos en japonés o términos de farmacia en tus páginas (el japanese/pharma hack), hay SEO spam inyectado. Busca site:tudominio.com y mira qué indexó Google realmente.
5. Lentitud, error 500 o pico de tráfico extraño
El malware consume CPU enviando spam o minando cripto. Un error 500 sin causa aparente y picos de tráfico hacia archivos PHP oscuros son banderas rojas.
6. Archivos y pop-ups que no agregaste
Pop-ups, banners y archivos nuevos en la raíz o en wp-content/uploads (donde PHP nunca debería existir) apuntan a una inyección.
7. Fallo de inicio de sesión inexplicable
No poder entrar a wp-admin puede significar que el atacante cambió las credenciales o corrompió la tabla de usuarios.
8. Correos del host o caída de entregabilidad
Un aviso de “cuenta suspendida por spam” o tus correos cayendo en spam indican que el servidor se volvió origen de envío malicioso.
Cómo confirmar la infección con tus propios ojos
Aquí está lo que la mayoría de las guías omite. Antes de cualquier plugin, un acceso SSH (o la terminal de tu panel de hosting) confirma la infección en minutos.
Haz una copia de seguridad completa antes de ejecutar cualquier comando.
Paso 1 — Verifica la integridad del core
WP-CLI compara tus archivos del núcleo con los oficiales de WordPress.org y lista lo que cambió:
wp core verify-checksums
Cualquier archivo del core reportado como modificado es sospechoso — el núcleo no debería cambiar.
Paso 2 — Caza archivos PHP modificados recientemente
El malware es código nuevo. Lista los archivos PHP cambiados en los últimos 7 días:
find wp-content -name "*.php" -mtime -7 -ls
Cruza con la fecha del incidente. Los archivos PHP dentro de uploads/ son casi siempre maliciosos.
Paso 3 — Busca código ofuscado
Los atacantes esconden el payload en funciones de ofuscación. Un grep recursivo revela la mayoría:
grep -rEn "eval\(|base64_decode|gzinflate|str_rot13" wp-content/ wp-includes/
eval(base64_decode(...)) es la firma de backdoor más común. No todo resultado es malware, pero cada uno merece una lectura manual.
Paso 4 — Inspecciona .htaccess y wp-config.php
Abre ambos. En .htaccess, busca bloques de RewriteRule que manden tráfico a dominios extraños. En wp-config.php, cualquier eval, base64 o include de un archivo desconocido es una inyección.
Paso 5 — Audita los usuarios en la base de datos
Ejecuta el SELECT de la señal 3 y elimina cualquier cuenta no reconocida — pero solo después de confirmar que es fantasma.
Escáneres: server-side vs externo (y el límite de cada uno)
Las herramientas automatizan lo que acabas de hacer a mano. Entiende la diferencia antes de confiar a ciegas:
- Escáneres server-side (Wordfence, MalCare) corren en el servidor, leen el contenido real de los archivos, comparan con versiones íntegras y detectan inyección en la base de datos. Son los más completos.
- Escáneres externos (Sucuri SiteCheck, VirusTotal) ven solo lo que ve un visitante — la página pública. Rápidos y sin instalación, pero no ven archivos del servidor ni backdoors inactivos.
- Google Search Console confirma blacklist y páginas comprometidas desde el punto de vista de Google — gratis y esencial.
Regla práctica: usa uno externo para un triaje rápido y uno server-side para el diagnóstico real. Ninguno es 100%.
El punto ciego de 2026: malware generado por IA
Un cambio reciente alteró el juego. Los atacantes empezaron a usar modelos de lenguaje (LLMs) para generar malware que imita el patrón de código de plugins legítimos. Los escáneres basados en firmas tienden a marcar ese código como limpio, porque se parece a un plugin de verdad.
Lo que esto cambia en la práctica:
- No confíes solo en la firma. Un escaneo “limpio” no prueba que el sitio esté limpio.
- Prioriza integridad y comportamiento.
verify-checksums, archivos modificados por fecha y tráfico anómalo detectan lo que la firma no ve. - Combina señales. La verificación manual de arriba se vuelve aún más valiosa cuando el malware sabe disfrazarse.
Encontré malware. ¿Y ahora?
Si confirmaste la infección, sigue este orden — la prisa aquí empeora el daño:
- Copia de seguridad completa de archivos y base de datos (sí, incluso infectada — es tu evidencia y tu red de seguridad).
- Aísla el sitio — modo de mantenimiento o fuera de línea para contener el daño al SEO y a los visitantes.
- Cambia todas las contraseñas — admin, FTP/SSH, base de datos y panel de hosting.
- Elimina el payload — restaura core, plugins y temas desde fuentes oficiales y limpia las inyecciones que encontraste.
- Solicita una revisión a Google en Search Console tras limpiar.
- Cierra la puerta de entrada — actualiza todo, revisa permisos y endurece el servidor.
Una remoción mal hecha deja un backdoor atrás, y el sitio se reinfecta en días. Si el diagnóstico apuntó a un backdoor, SEO spam persistente o no tienes acceso SSH cómodo, vale la pena traer a un especialista — que es lo que hace Pixelize en su servicio de WordPress Specialist. Y si el síntoma es un error y no una intrusión, la guía de errores comunes de WordPress cubre el diagnóstico.