
Si tu sitio WordPress fue infectado con malware, necesitás saber cómo limpiarlo rápido. El malware en WordPress no desaparece solo: deja backdoors, roba datos, arruina tu reputación en buscadores y pone en riesgo a tus visitantes. Esta guía te lleva paso a paso por la detección, limpieza y prevención de malware, con herramientas específicas y estrategias que funcionan en 2026.
En 30 segundos
- Detecta malware con herramientas como Wordfence, Sucuri o escaneo manual de archivos sospechosos.
- Aísla el sitio: cambiá todas las contraseñas, desactivá acceso de usuarios sospechosos, prendé modo mantenimiento.
- Limpiá archivos infectados: eliminá backdoors, shells, scripts ocultos. No confíes solo en plugins.
- Restaurá desde backup limpio si el daño es extenso; de lo contrario, limpieza manual + verificación profunda.
- Prevení futuras infecciones: actualizaciones automáticas, WAF, monitoreo de integridad, plugins de seguridad activos.
Por qué el malware en WordPress es un problema creciente
WordPress alimenta más del 43% de la web. Eso lo convierte en un blanco gigante. El malware en WordPress evolucionó: ya no se trata solo de scripts ruidosos que cuelgan tu sitio. Ahora es silencioso, sofisticado y a menudo invisible para el usuario casual.
Los atacantes usan varias vías de entrada. Los plugins infectados son una de las más comunes. No hablamos de plugins viejos o abandonados: ataques de cadena de suministro real han comprometido plugins populares. Hace poco, OptinMonster expuso 1,2 millones de sitios WordPress a través de una actualización comprometida. La misma historia pasó con otros plugins ampliamente adoptados.
Otra vía es la inyección de código en templates o funciones.php. Los atacantes coloca código malicioso directo en archivos del tema o wp-config.php. También está el CDN comprometido: si tu servicio de imágenes o assets es hackeado, el malware se distribuye a cada página que visita un usuario.
Lo peor: muchos sitios no se dan cuenta hasta que Google los marca como «sitio peligroso» o las métricas de tráfico se desploman.
Cómo saber si tu sitio está infectado
La detección temprana ahorra tiempo y dinero. Acá están los signos más comunes:
- Google Search Console muestra avisos de «malware detectado». Es el aviso más directo. Google rastrea sitios constantemente.
- Usuarios reportan advertencias en el navegador al entrar a tu sitio (Chrome, Firefox). Es porque Google o un antivirus detectó algo.
- Redirecciones extrañas hacia sitios sospechosos. El usuario entra a tu home y termina en un sitio de phishing o de apuestas.
- Plugins o temas instalándose sin tu permiso. Alguien con acceso está metiendo código.
- Archivos .php o .js nuevos en directorios raros. Carpetas como /wp-content/uploads/shells/ o archivos sin nombre en la raíz.
- El sitio carga lento de repente. Scripts maliciosos consumen recursos o ejecutan cryptominers.
- Páginas 404 extrañas o cambios en el contenido que no hiciste vos.
- El wp-admin está lento o algunos usuarios reportan «acceso denegado» sin motivo.
Tu primer paso: revisá WordPress Search Console, tu error.log del servidor y corre un escaneo básico con Wordfence (versión gratuita alcanza para una inspección inicial).
Pasos para limpiar malware de WordPress
1. Aislá el sitio inmediatamente
No esperés a confirmar nada. Acciones urgentes:
- Activá modo mantenimiento. Usá un plugin o un .htaccess para que solo vos veas el sitio en vivo. Evitás que más usuarios se infecten (si hay malware de cliente, como un script de phishing).
- Cambiá TODAS las contraseñas: administrador WordPress, FTP/SFTP, base de datos, hosting, email de la cuenta, Google Analytics, cualquier API integrada.
- Revisá usuarios de WordPress. Sacá usuarios sospechosos o con nombres raros. Si alguien creó una cuenta administrativa de más, borrala.
- Fijá la restricción de IP en .htaccess para el wp-admin. Solo vos podés entrar a administración mientras no confirmes que está limpio.
2. Hacé un backup completo ANTES de tocar nada
Sí, el sitio está infectado. Igualmente, guardá todo: archivos, base de datos, logs. En algunos casos es la única prueba o la forma de analizar qué pasó después. Aunque confíes en que vas a limpiar, un backup infectado es tu salvavidas si algo se va al traste.
3. Identificá archivos infectados
Aquí necesitás ser metódico. El malware moderno intenta esconderse:
- Búsqueda de archivos sospechosos. Coneactate por SFTP/SSH. Buscá archivos .php modificados hace poco (usa comandos como
find /wp-content/uploads -name "*.php" -type f). Los backdoors casi nunca van en /wp-content/uploads (debería haber solo imágenes), así que cualquier .php es sospechoso. - Revisá wp-config.php y functions.php línea por línea. Buscá código extraño, funciones que no reconocés, o conexiones a servidores remotos. Los atacantes inyectan código like
eval(),base64_decode(), o callbacks a C2 (Command & Control) remotos. - Verificá .htaccess. Malware a menudo lo modifica para redirigir tráfico o hacer inyecciones de header.
- Escaneá temas activos. El functions.php del tema es un objetivo frecuente.
4. Usá una herramienta de limpieza dedicada
Aquí no estás solo. Herramientas como Wordfence, Sucuri o MalCare tienen módulos de limpieza automática. No son perfectas (por eso la revisión manual importa), pero aceleran el proceso.
- Wordfence (versión Pro) ofrece limpieza con un click para backdoors conocidos y archivos sospechosos. Gratis detecta; Pro limpia.
- Sucuri es más agresivo: hace limpieza profunda, incluso sobre plugins/temas infectados. Muchos hosting (como Ferozo) lo integran como add-on.
- MalCare se enfoca en limpieza quirúrgica: detecta variantes de malware y las elimina sin romper funcionalidad.
5. Limpieza manual de backdoors
Una herramienta automatizada puede pasarse un backdoor sofisticado. Por eso la limpieza manual siempre suma:
- Eliminá archivos sospechosos. Si encontraste un .php extraño en /uploads, borralo. Punto.
- Limpiá funciones anónimas y obfuscadas. Si ves algo like
$_[...]($_POST[...])o tons de caracteres codificados, es malware. Sacalo. - Revisá plugins desactivados. Un atacante puede dejar un plugin desactivado con código malicioso. Eliminá todo lo que no uses.
- Buscá rutas a servidores remotos. Grep por patrones como «http://», conexiones socket, o servidores Ethereum (malware de cryptomining usa esto).
6. Restaurá desde backup limpio si es necesario
Si el daño es extenso o confías poco en tu limpieza manual, la restauración es más segura. Necesitás un backup de ANTES de la infección. Si no tenés, la limpieza manual es tu única opción.
Proceso de restauración:
- Descargá el backup limpio (archivos + BD).
- Descargá los archivos actuales infectados (por si acaso).
- Restaurá los archivos del backup. Borrá la BD actual e importá la del backup.
- Actualizá todas las contraseñas nuevamente (por si el backup fue antes del cambio).
Herramientas especializadas para detectar y eliminar malware
| Herramienta | Tipo | Detección | Limpieza Automática | Costo | Mejor para |
|---|---|---|---|---|---|
| Wordfence | Plugin | Muy buena | Solo Pro | Gratuito / $99 USD/año | Sitios pequeños-medianos con presupuesto bajo |
| Sucuri | Plugin + Servicio | Excelente | Sí, agresivo | $99-299 USD/año | Sitios con infecciones activas, limpieza rápida |
| MalCare | Plugin | Muy buena | Sí, quirúrgica | $99-299 USD/año | Limpieza profunda sin romper funcionalidad |
| iThemes Security | Plugin | Buena | Limitada | Gratuito / $299 USD | Seguridad integral + malware |
| GOTMLS Pro | Servicio WAF | Activo | Sí, en la capa WAF | Integrado en algunos hosting | Bloqueo en tiempo real + limpieza |
Recomendación: si recién descubrís la infección, empezá con Wordfence gratuito para ver el alcance. Si la infección es seria, contratá Sucuri o MalCare por un mes para limpieza profesional.
Cómo prevenir futuras infecciones
Actualizaciones automáticas
La mayoría de infecciones explotan vulnerabilidades viejas. WordPress, plugins y temas desactualizados son puertas abiertas. Activá actualizaciones automáticas para WordPress core, plugins y temas. Es un click en settings.
Validá la cadena de suministro de plugins
Después de ataques como el de OptinMonster y Essential Plugin, la paranoia es justificada. Antes de instalar un plugin:
- Verificá que esté en el directorio oficial de WordPress.org (no repos raros).
- Revisá reseñas recientes. Si hace poco actualizó y hay quejas de código malicioso, espera.
- Descargalo e inspeccioná el código main si podés (aunque sea por palabra clave sospechosa).
- Consultá blogs de seguridad: Sucuri y Wordfence mantienen listas de plugins infectados.
WAF (Web Application Firewall)
Un WAF bloquea ataques antes de que lleguen a tu WordPress. Ejemplos: Cloudflare, Sucuri CDN, o GOTMLS (integrado en algunos hosting). Filtra requests sospechosas, bloquea injecciones, detecta y detiene downloaders de malware.
Monitoreo de integridad de archivos
Wordfence y MalCare monitorean cambios en archivos core de WordPress. Si alguien modifica un archivo, te alertan. Es como un sistema de alarma para tu sitio.
Gestión de acceso y contraseñas
- Usuarios con acceso: solo los necesarios. Eliminá cuentas inactivas.
- Contraseñas fuertes para todo: WordPress, hosting, FTP, BD. Usá un password manager.
- Dos factores (2FA) en wp-admin si el plugin lo permite.
- Limpiá logs de acceso regularmente.
Backups automatizados y frecuentes
Backups diarios o cada 6 horas son lo mínimo. Guardalos fuera del servidor (Google Drive, S3, un servidor diferente). Un backup es tu seguro contra ransomware, corrupción y — sí — malware que no podés limpiar.
Recuperación después de la limpieza
Limpiaste. ¿Ahora qué?
Verificación post-limpieza
- Volvé a escanear con Wordfence, Sucuri o ambos. Debería salir limpio.
- Esperá 24-48 horas y checkea Search Console. Google deberá rever tu sitio y remover el aviso de malware.
- Revisá manualmente backoffice y front para asegurar que todo funciona.
Reporte a Google
Si Google reportó malware, Google Search Console tiene un botón «Solicitar revisión». Presionalo una vez que confirms que el sitio está limpio. Google puede tardar días o semanas en revisar, así que sé paciente.
Comunicación con usuarios
Si el malware comprometió datos de usuarios (emails, contraseñas, info de pago), tenés obligación legal de notificar en muchas jurisdicciones. Enviá un mail explicando qué pasó, qué hiciste para arreglarlo, y qué pasos deben tomar los usuarios (cambiar contraseña, etc.).
Análisis de la brecha
Después de todo, analizá cómo entró el malware. ¿Fue un plugin desactualizado? ¿Una credencial débil? ¿Un plugin desconocido? Documentalo. Así evitás que vuelva a pasar.
Cuándo contratar a profesionales
La limpieza DIY funciona en la mayoría de casos. Pero hay situaciones donde contratar ayuda profesional tiene sentido:
- Malware sofisticado o recurente. Si se reinfecta después de limpiar, hay un backdoor que no encontraste. Profesionales usan herramientas forenses más potentes.
- Compromiso de datos sensibles. Si robaron datos de tarjeta de crédito, emails, o info de clientes, necesitás forensics e investigación legal.
- Tiempo limitado. Si el sitio genera ingresos y cada hora offline es dinero perdido, pagar profesionales para limpieza rápida ahorra.
- Falta de conocimiento técnico. Si no te sentís cómodo entrando por SFTP o inspeccionando PHP, delegá a alguien que sí.
Dónde contratar: búscá «WordPress malware removal specialist» en tu región, o pláticas con tu hosting (muchos ofrecen servicios de limpieza). Verificá referencias y que cobren por resultado, no por hora (de lo contrario no hay incentivo para terminar rápido).
Preguntas frecuentes sobre limpieza de malware en WordPress
¿Un limpiador automático es suficiente, o siempre necesito limpieza manual?
Un limpiador automático es un buen punto de partida. Trabaja rápido y detecta patrones conocidos. Pero malware moderno es creativo: puede tener ofuscación única o esconderse en lugares inesperados. La combinación de herramienta automática + revisión manual es lo más seguro. Si tenés presupuesto, contratá profesionales; de lo contrario, herramienta automática + tu propia búsqueda de archivos raros.
¿Perderé mi contenido si restauro desde backup?
Sí, perderás contenido creado DESPUÉS del backup. Por eso el timing importa. Si hacés backups cada 24 horas, máximo perdés un día de contenido. Si no sabés cuándo fue la infección, hacé backup de la versión infectada primero (para análisis después), y después restaurá una versión antigua. Ideal: tenés backups semanales, así buscás el más reciente que estés seguro que estaba limpio.
¿Cuánto tarda Google en remover el aviso de «sitio peligroso»?
Google suele revisar dentro de 24-72 horas de que solicitás revisión en Search Console. Pero a veces tarda más si la infección fue severa o Google no confía aún. En el interín, tu sitio aparece como peligroso en resultados de búsqueda (los usuarios ven una advertencia). Es un impacto brutal en tráfico. Por eso prevención es mucho más barato que limpieza.
Si el malware inyectó código en wp-config.php, ¿qué hago?
wp-config.php no debería tener nada aparte de credenciales de BD, salt keys y configuración de debug. Si ves líneas extrañas (especialmente al final del archivo), borrá todo lo que no sea configuración estándar. Si no estás seguro, compará tu wp-config.php con uno por defecto de WordPress.org. El atacante suele dejar su código al final para que sea fácil de encontrar por los profesionales —y borrar sin romper la configuración legítima.
¿Debo desinstalar el plugin infectado o borrarlo completamente?
Borralo completamente. No solo lo desactives. La desactivación deja los archivos en el servidor, y si el malware reinicia se reactivaría solo. Eliminalo via wp-admin o por SFTP (carpeta /wp-content/plugins/nombre-plugin). Si la limpieza automática no lo borró, hacelo a mano.
Conclusión
El malware en WordPress es serio, pero manejable si actuás rápido. La detección temprana es clave. Si ves un aviso de malware en Google, no esperes: aislá el sitio, hacé un backup, escanea, limpiá (automático + manual), verificá, y pedile a Google que revise nuevamente.
Pero lo mejor es la prevención. Actualizaciones automáticas, contraseñas fuertes, plugins de confianza, backups frecuentes y un WAF son una defensa sólida. La mayoría de infecciones de WordPress suceden por negligencia técnica, no porque WordPress sea inherentemente inseguro.
Si después de limpiar el malware vuelve, o si ves signos de infección que no podés rastrear, delegá a profesionales. No vale la pena el riesgo de un backdoor oculto que siga drenando tu sitio.
Fuentes y lecturas complementarias
- Sucuri Malware Removal Guide — https://sucuri.net/wordpress-security/malware-removal/
- Wordfence Security Blog — Malware Detection — https://www.wordfence.com/blog/
- WordPress.org Security Handbook — https://developer.wordpress.org/plugins/security/
- Google Search Console Help: Hacked Site Recovery — https://support.google.com/webmasters/answer/9245987
- OWASP Web Security Testing Guide — Malware — https://owasp.org/www-project-web-security-testing-guide/
- BleepingComputer WordPress Security Alerts — https://www.bleepingcomputer.com/news/
- WPScan Vulnerability Database — https://wpscan.com/vulnerabilities